Compare commits
1 Commits
master
...
pre_202305
Author | SHA1 | Date | |
---|---|---|---|
|
7b0e38eec7 |
@ -33,14 +33,13 @@ parameters:
|
|||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- vs
|
- vs
|
||||||
|
- barefoot
|
||||||
- broadcom
|
- broadcom
|
||||||
- centec
|
- centec
|
||||||
- centec-arm64
|
- centec-arm64
|
||||||
- generic
|
- generic
|
||||||
- marvell-armhf
|
- marvell-armhf
|
||||||
- marvell-arm64
|
|
||||||
- mellanox
|
- mellanox
|
||||||
- pensando
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: Prepare
|
- stage: Prepare
|
||||||
@ -74,7 +73,7 @@ stages:
|
|||||||
- template: azure-pipelines-build.yml
|
- template: azure-pipelines-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
jobFilters: ${{ parameters.jobFilters }}
|
jobFilters: ${{ parameters.jobFilters }}
|
||||||
buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} ENABLE_DOCKER_BASE_PULL=n SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y'
|
buildOptions: '${{ variables.VERSION_CONTROL_OPTIONS }} ENABLE_DOCKER_BASE_PULL=n SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y $(OVERRIDE_BUILD_OPTIONS)'
|
||||||
preSteps:
|
preSteps:
|
||||||
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage
|
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage
|
||||||
- checkout: self
|
- checkout: self
|
||||||
@ -162,8 +161,8 @@ stages:
|
|||||||
git branch -u remote/$BRANCH_NAME
|
git branch -u remote/$BRANCH_NAME
|
||||||
|
|
||||||
echo $GIT_PASSWORD | gh auth login --with-token
|
echo $GIT_PASSWORD | gh auth login --with-token
|
||||||
TITLE="[${SOURCE_BRANCH#refs/heads/}] Upgrade SONiC package Versions"
|
TITLE="Upgrade SONiC Versions"
|
||||||
BODY=$TITLE
|
BODY="Upgrade SONiC Versions"
|
||||||
RET=0
|
RET=0
|
||||||
if ! gh pr create -t "$TITLE" -b "$BODY" -B $(Build.SourceBranch) -R $(Build.Repository.Name) > pr.log 2>&1; then
|
if ! gh pr create -t "$TITLE" -b "$BODY" -B $(Build.SourceBranch) -R $(Build.Repository.Name) > pr.log 2>&1; then
|
||||||
if ! grep -q "already exists" pr.log; then
|
if ! grep -q "already exists" pr.log; then
|
||||||
|
@ -1,67 +0,0 @@
|
|||||||
# C/C++ with GCC
|
|
||||||
# Build your C/C++ project with GCC using make.
|
|
||||||
# Add steps that publish test results, save build artifacts, deploy, and more:
|
|
||||||
# https://docs.microsoft.com/azure/devops/pipelines/apps/c-cpp/gcc
|
|
||||||
pr: none
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
batch: true
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
- 202???
|
|
||||||
|
|
||||||
schedules:
|
|
||||||
- cron: "0 0 * * *"
|
|
||||||
displayName: Daily build
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
- 202???
|
|
||||||
always: true
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- stage: Build
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job:
|
|
||||||
displayName: "amd64/ubuntu-20.04"
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-20.04'
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout: self
|
|
||||||
submodules: true
|
|
||||||
- script: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y make wget libtool m4 autoconf dh-exec libdebhelper-perl=13.6ubuntu1~bpo20.04.1 debhelper=13.6ubuntu1~bpo20.04.1 \
|
|
||||||
cmake pkg-config python3-pip python cmake libgtest-dev libgmock-dev libyang-dev \
|
|
||||||
debhelper-compat dh-elpa dh-sequence-python3 python3-all \
|
|
||||||
libpython3-all-dev python3-six xmlto unzip rake-compiler gem2deb pkg-php-tools \
|
|
||||||
ant default-jdk maven-repo-helper libguava-java \
|
|
||||||
libboost-all-dev libgtest-dev build-essential swig4.0 swig
|
|
||||||
sudo pip3 install pytest click
|
|
||||||
wget http://ftp.us.debian.org/debian/pool/main/libg/libgoogle-gson-java/libgoogle-gson-java_2.8.6-1+deb11u1_all.deb
|
|
||||||
sudo dpkg -i libgoogle-gson-java_2.8.6-1+deb11u1_all.deb
|
|
||||||
mkdir -p /tmp/artifacts
|
|
||||||
displayName: "Install dependencies"
|
|
||||||
- script: |
|
|
||||||
BLDENV=bullseye SONIC_CONFIG_MAKE_JOBS=$(nproc) CONFIGURED_ARCH=amd64 DEST=/tmp/artifacts make -f ../rules/protobuf.mk -f protobuf/Makefile
|
|
||||||
workingDirectory: src
|
|
||||||
displayName: "Build protobuf"
|
|
||||||
- script: |
|
|
||||||
sudo dpkg -i protobuf-compiler_3.21.12-3_amd64.deb libprotoc32_3.21.12-3_amd64.deb \
|
|
||||||
libprotobuf32_3.21.12-3_amd64.deb libprotobuf-dev_3.21.12-3_amd64.deb \
|
|
||||||
libprotobuf-lite32_3.21.12-3_amd64.deb
|
|
||||||
workingDirectory: /tmp/artifacts
|
|
||||||
displayName: "Install protobuf"
|
|
||||||
- script: |
|
|
||||||
dpkg-buildpackage -rfakeroot -b -us -uc
|
|
||||||
workingDirectory: src/sonic-dash-api
|
|
||||||
displayName: "Build sonic-dash-api"
|
|
||||||
- script: |
|
|
||||||
cp *.deb /tmp/artifacts
|
|
||||||
workingDirectory: src
|
|
||||||
- publish: /tmp/artifacts
|
|
||||||
artifact: sonic-buildimage.amd64.ubuntu20_04
|
|
||||||
displayName: "Archive sonic-buildimage debian packages for ubuntu20.04"
|
|
@ -35,6 +35,7 @@ jobs:
|
|||||||
dbg_image: no
|
dbg_image: no
|
||||||
asan_image: no
|
asan_image: no
|
||||||
swi_image: no
|
swi_image: no
|
||||||
|
raw_image: no
|
||||||
docker_syncd_rpc_image: no
|
docker_syncd_rpc_image: no
|
||||||
syncd_rpc_image: no
|
syncd_rpc_image: no
|
||||||
platform_rpc: no
|
platform_rpc: no
|
||||||
@ -61,6 +62,7 @@ jobs:
|
|||||||
variables:
|
variables:
|
||||||
dbg_image: yes
|
dbg_image: yes
|
||||||
swi_image: yes
|
swi_image: yes
|
||||||
|
raw_image: yes
|
||||||
docker_syncd_rpc_image: yes
|
docker_syncd_rpc_image: yes
|
||||||
platform_rpc: brcm
|
platform_rpc: brcm
|
||||||
|
|
||||||
@ -114,19 +116,12 @@ jobs:
|
|||||||
docker_syncd_rpc_image: yes
|
docker_syncd_rpc_image: yes
|
||||||
platform_rpc: nephos
|
platform_rpc: nephos
|
||||||
|
|
||||||
- name: pensando
|
|
||||||
pool: sonicbld-arm64
|
|
||||||
variables:
|
|
||||||
PLATFORM_ARCH: arm64
|
|
||||||
|
|
||||||
buildSteps:
|
buildSteps:
|
||||||
- template: .azure-pipelines/template-skipvstest.yml@buildimage
|
- template: .azure-pipelines/template-skipvstest.yml@buildimage
|
||||||
- template: .azure-pipelines/template-daemon.yml@buildimage
|
- template: .azure-pipelines/template-daemon.yml@buildimage
|
||||||
- bash: |
|
- bash: |
|
||||||
set -ex
|
set -ex
|
||||||
if [ $(GROUP_NAME) == pensando ]; then
|
if [ $(GROUP_NAME) == vs ]; then
|
||||||
make $BUILD_OPTIONS target/sonic-pensando.tar
|
|
||||||
elif [ $(GROUP_NAME) == vs ]; then
|
|
||||||
if [ $(dbg_image) == yes ]; then
|
if [ $(dbg_image) == yes ]; then
|
||||||
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.img.gz
|
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.img.gz
|
||||||
mv target/sonic-vs.img.gz target/sonic-vs-dbg.img.gz
|
mv target/sonic-vs.img.gz target/sonic-vs-dbg.img.gz
|
||||||
@ -135,14 +130,6 @@ jobs:
|
|||||||
make $BUILD_OPTIONS ENABLE_ASAN=y target/docker-sonic-vs.gz
|
make $BUILD_OPTIONS ENABLE_ASAN=y target/docker-sonic-vs.gz
|
||||||
mv target/docker-sonic-vs.gz target/docker-sonic-vs-asan.gz
|
mv target/docker-sonic-vs.gz target/docker-sonic-vs-asan.gz
|
||||||
fi
|
fi
|
||||||
if [ "$(K8S_MASTER_CHANGED)" == 'YES' ]; then
|
|
||||||
make $BUILD_OPTIONS INCLUDE_KUBERNETES_MASTER=y target/sonic-vs.img.gz
|
|
||||||
gzip -d target/sonic-vs.img.gz
|
|
||||||
SONIC_RUN_CMDS="qemu-img convert target/sonic-vs.img -O vhdx -o subformat=dynamic target/sonic-vs.vhdx" make $BUILD_OPTIONS sonic-slave-run
|
|
||||||
gzip target/sonic-vs.vhdx
|
|
||||||
mv target/sonic-vs.vhdx.gz target/sonic-vs-k8s.vhdx.gz
|
|
||||||
rm target/sonic-vs.img
|
|
||||||
fi
|
|
||||||
make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
|
make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
|
||||||
make $BUILD_OPTIONS target/docker-ptf-sai.gz
|
make $BUILD_OPTIONS target/docker-ptf-sai.gz
|
||||||
if [ $(Build.Reason) != 'PullRequest' ];then
|
if [ $(Build.Reason) != 'PullRequest' ];then
|
||||||
@ -158,6 +145,9 @@ jobs:
|
|||||||
if [ $(swi_image) == yes ]; then
|
if [ $(swi_image) == yes ]; then
|
||||||
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
|
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
|
||||||
fi
|
fi
|
||||||
|
if [ $(raw_image) == yes ]; then
|
||||||
|
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
|
||||||
|
fi
|
||||||
if [ $(docker_syncd_rpc_image) == yes ]; then
|
if [ $(docker_syncd_rpc_image) == yes ]; then
|
||||||
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
|
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
|
||||||
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
|
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
|
||||||
|
@ -28,13 +28,11 @@ jobs:
|
|||||||
- template: .azure-pipelines/cleanup.yml@buildimage
|
- template: .azure-pipelines/cleanup.yml@buildimage
|
||||||
- ${{ parameters.preSteps }}
|
- ${{ parameters.preSteps }}
|
||||||
- script: |
|
- script: |
|
||||||
[ -n "$OVERRIDE_BUILD_OPTIONS" ] && OVERRIDE_BUILD_OPTIONS=$(OVERRIDE_BUILD_OPTIONS)
|
BUILD_OPTIONS="$(BUILD_OPTIONS)"
|
||||||
BUILD_OPTIONS="$(BUILD_OPTIONS) $OVERRIDE_BUILD_OPTIONS"
|
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf)$"; then
|
||||||
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf|marvell-arm64)$"; then
|
|
||||||
CACHE_OPTIONS="SONIC_DPKG_CACHE_METHOD=$(CACHE_MODE) SONIC_DPKG_CACHE_SOURCE=/nfs/dpkg_cache/$(PLATFORM_AZP)"
|
CACHE_OPTIONS="SONIC_DPKG_CACHE_METHOD=$(CACHE_MODE) SONIC_DPKG_CACHE_SOURCE=/nfs/dpkg_cache/$(PLATFORM_AZP)"
|
||||||
BUILD_OPTIONS="$BUILD_OPTIONS $CACHE_OPTIONS"
|
BUILD_OPTIONS="$(BUILD_OPTIONS) $CACHE_OPTIONS"
|
||||||
fi
|
fi
|
||||||
echo $BUILD_OPTIONS
|
|
||||||
echo "##vso[task.setvariable variable=BUILD_OPTIONS]$BUILD_OPTIONS"
|
echo "##vso[task.setvariable variable=BUILD_OPTIONS]$BUILD_OPTIONS"
|
||||||
displayName: "Set cache options"
|
displayName: "Set cache options"
|
||||||
- checkout: self
|
- checkout: self
|
||||||
|
@ -101,6 +101,9 @@ jobs:
|
|||||||
if [ ${{ parameters.swi_image }} == true ]; then
|
if [ ${{ parameters.swi_image }} == true ]; then
|
||||||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-${{ parameters.platform }}.swi
|
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-${{ parameters.platform }}.swi
|
||||||
fi
|
fi
|
||||||
|
if [ ${{ parameters.raw_image }} == true ]; then
|
||||||
|
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) target/sonic-${{ parameters.platform }}.raw
|
||||||
|
fi
|
||||||
if [ ${{ parameters.sync_rpc_image }} == true ]; then
|
if [ ${{ parameters.sync_rpc_image }} == true ]; then
|
||||||
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y target/docker-syncd-${{ parameters.platform_short }}-rpc.gz
|
make USERNAME=admin $CACHE_OPTIONS SONIC_BUILD_JOBS=$(nproc) ENABLE_SYNCD_RPC=y target/docker-syncd-${{ parameters.platform_short }}-rpc.gz
|
||||||
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
|
# workaround for issue in rules/sairedis.dep, git ls-files will list un-exist files for cache
|
||||||
|
@ -1,63 +0,0 @@
|
|||||||
# Starter pipeline
|
|
||||||
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
|
||||||
# Add steps that build, run tests, deploy, and more:
|
|
||||||
# https://aka.ms/yaml
|
|
||||||
# Build and push sonic-mgmt image
|
|
||||||
|
|
||||||
schedules:
|
|
||||||
- cron: "0 8 * * *"
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
always: true
|
|
||||||
|
|
||||||
trigger: none
|
|
||||||
pr:
|
|
||||||
branches:
|
|
||||||
include:
|
|
||||||
- master
|
|
||||||
paths:
|
|
||||||
include:
|
|
||||||
- dockers/docker-sonic-mgmt
|
|
||||||
|
|
||||||
parameters:
|
|
||||||
- name: registry_url
|
|
||||||
type: string
|
|
||||||
default: sonicdev-microsoft.azurecr.io
|
|
||||||
- name: registry_conn
|
|
||||||
type: string
|
|
||||||
default: sonicdev
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- stage: Build
|
|
||||||
jobs:
|
|
||||||
- job: Build
|
|
||||||
pool: sonicbld
|
|
||||||
timeoutInMinutes: 360
|
|
||||||
steps:
|
|
||||||
- template: cleanup.yml
|
|
||||||
- checkout: self
|
|
||||||
clean: true
|
|
||||||
- bash: |
|
|
||||||
set -xe
|
|
||||||
git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data
|
|
||||||
|
|
||||||
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
|
|
||||||
make -f Makefile.work BLDENV=bullseye SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=n target/docker-sonic-mgmt.gz
|
|
||||||
cp target -r $(Build.ArtifactStagingDirectory)/target
|
|
||||||
docker load -i target/docker-sonic-mgmt.gz
|
|
||||||
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:py3only
|
|
||||||
env:
|
|
||||||
REGISTRY_SERVER: ${{ parameters.registry_url }}
|
|
||||||
displayName: Build docker-sonic-mgmt.gz
|
|
||||||
- task: Docker@2
|
|
||||||
displayName: Upload image
|
|
||||||
inputs:
|
|
||||||
containerRegistry: ${{ parameters.registry_conn }}
|
|
||||||
repository: docker-sonic-mgmt
|
|
||||||
command: push
|
|
||||||
tags: py3only
|
|
||||||
- publish: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifact: 'docker-sonic-mgmt'
|
|
||||||
displayName: "Archive docker image sonic-mgmt"
|
|
||||||
|
|
@ -43,7 +43,7 @@ stages:
|
|||||||
git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data
|
git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data
|
||||||
|
|
||||||
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
|
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
|
||||||
make -f Makefile.work BLDENV=bullseye SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=y target/docker-sonic-mgmt.gz
|
make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y target/docker-sonic-mgmt.gz
|
||||||
cp target -r $(Build.ArtifactStagingDirectory)/target
|
cp target -r $(Build.ArtifactStagingDirectory)/target
|
||||||
docker load -i target/docker-sonic-mgmt.gz
|
docker load -i target/docker-sonic-mgmt.gz
|
||||||
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:latest
|
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:latest
|
||||||
|
@ -16,7 +16,6 @@ parameters:
|
|||||||
- name: dist
|
- name: dist
|
||||||
type: string
|
type: string
|
||||||
values:
|
values:
|
||||||
- bookworm
|
|
||||||
- bullseye
|
- bullseye
|
||||||
- buster
|
- buster
|
||||||
- stretch
|
- stretch
|
||||||
|
@ -8,7 +8,7 @@ resources:
|
|||||||
- repository: buildimage
|
- repository: buildimage
|
||||||
type: github
|
type: github
|
||||||
name: sonic-net/sonic-buildimage
|
name: sonic-net/sonic-buildimage
|
||||||
ref: bookworm
|
ref: master
|
||||||
endpoint: sonic-net
|
endpoint: sonic-net
|
||||||
|
|
||||||
schedules:
|
schedules:
|
||||||
@ -44,7 +44,6 @@ parameters:
|
|||||||
- name: 'dists'
|
- name: 'dists'
|
||||||
type: object
|
type: object
|
||||||
default:
|
default:
|
||||||
- bookworm
|
|
||||||
- bullseye
|
- bullseye
|
||||||
- buster
|
- buster
|
||||||
- stretch
|
- stretch
|
||||||
|
@ -15,34 +15,13 @@ trigger: none
|
|||||||
pr: none
|
pr: none
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
- job: Amd
|
- job: Build
|
||||||
pool: sonicbld
|
pool: sonicbld
|
||||||
timeoutInMinutes: 5
|
timeoutInMinutes: 5
|
||||||
steps:
|
steps:
|
||||||
- checkout: none
|
- checkout: none
|
||||||
- script: |
|
- script: |
|
||||||
df -h
|
set -xe
|
||||||
sudo find /nfs/dpkg_cache/ -name *.tgz -mtime +30 -type f -delete
|
sudo find /nfs/dpkg_cache/ -name *.tgz -mtime +30 -type f -delete
|
||||||
df -h
|
|
||||||
displayName: clean dpkg cache
|
displayName: clean dpkg cache
|
||||||
- job: Armhf
|
|
||||||
pool: sonicbld-armhf
|
|
||||||
timeoutInMinutes: 5
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- script: |
|
|
||||||
df -h
|
|
||||||
sudo find /nfs/dpkg_cache/ -name *.tgz -mtime +30 -type f -delete
|
|
||||||
df -h
|
|
||||||
displayName: clean dpkg cache
|
|
||||||
- job: Arm64
|
|
||||||
pool: sonicbld-arm64
|
|
||||||
timeoutInMinutes: 5
|
|
||||||
steps:
|
|
||||||
- checkout: none
|
|
||||||
- script: |
|
|
||||||
df -h
|
|
||||||
sudo find /nfs/dpkg_cache/ -name *.tgz -mtime +30 -type f -delete
|
|
||||||
df -h
|
|
||||||
displayName: clean dpkg cache
|
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ stages:
|
|||||||
- name: broadcom
|
- name: broadcom
|
||||||
variables:
|
variables:
|
||||||
swi_image: yes
|
swi_image: yes
|
||||||
|
raw_image: yes
|
||||||
docker_syncd_rpc_image: yes
|
docker_syncd_rpc_image: yes
|
||||||
platform_rpc: brcm
|
platform_rpc: brcm
|
||||||
- name: mellanox
|
- name: mellanox
|
||||||
|
@ -18,10 +18,6 @@ parameters:
|
|||||||
type: string
|
type: string
|
||||||
default: 1
|
default: 1
|
||||||
|
|
||||||
- name: NUM_ASIC
|
|
||||||
type: number
|
|
||||||
default: 1
|
|
||||||
|
|
||||||
- name: TEST_SET
|
- name: TEST_SET
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
@ -38,103 +34,39 @@ parameters:
|
|||||||
type: string
|
type: string
|
||||||
default: "ceos"
|
default: "ceos"
|
||||||
|
|
||||||
- name: TESTBED_NAME
|
- name: SPECIFIED_PARAMS
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: "{}"
|
||||||
|
|
||||||
- name: IMAGE_URL
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: HWSKU
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: TEST_PLAN_TYPE
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: PLATFORM
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: SCRIPTS
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: FEATURES
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: SCRIPTS_EXCLUDE
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: FEATURES_EXCLUDE
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: REPO_NAME
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: MGMT_BRANCH
|
- name: MGMT_BRANCH
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: master
|
||||||
|
|
||||||
- name: STOP_ON_FAILURE
|
- name: NUM_ASIC
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: RETRY_TIMES
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: DUMP_KVM_IF_FAIL
|
|
||||||
type: string
|
|
||||||
default: "True"
|
|
||||||
values:
|
|
||||||
- "True"
|
|
||||||
- "False"
|
|
||||||
|
|
||||||
- name: REQUESTER
|
|
||||||
type: string
|
|
||||||
default: ""
|
|
||||||
|
|
||||||
- name: MAX_RUN_TEST_MINUTES
|
|
||||||
type: number
|
type: number
|
||||||
default: 480
|
default: 1
|
||||||
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
wget -O ./.azure-pipelines/test_plan.py https://raw.githubusercontent.com/sonic-net/sonic-mgmt/master/.azure-pipelines/test_plan.py
|
wget -O ./.azure-pipelines/test_plan.py https://raw.githubusercontent.com/sonic-net/sonic-mgmt/master/.azure-pipelines/test_plan.py
|
||||||
wget -O ./.azure-pipelines/pr_test_scripts.yaml https://raw.githubusercontent.com/sonic-net/sonic-mgmt/master/.azure-pipelines/pr_test_scripts.yaml
|
wget -O ./.azure-pipelines/pr_test_scripts.yaml https://raw.githubusercontent.com/sonic-net/sonic-mgmt/master/.azure-pipelines/pr_test_scripts.yaml
|
||||||
displayName: Download test plan scripts
|
displayName: Download TestbedV2 scripts
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
pip install PyYAML
|
pip install PyYAML
|
||||||
rm -f new_test_plan_id.txt
|
rm -f new_test_plan_id.txt
|
||||||
|
python ./.azure-pipelines/test_plan.py create -t ${{ parameters.TOPOLOGY }} -o new_test_plan_id.txt \
|
||||||
python ./.azure-pipelines/test_plan.py create \
|
--min-worker ${{ parameters.MIN_WORKER }} --max-worker ${{ parameters.MAX_WORKER }} \
|
||||||
-t ${{ parameters.TOPOLOGY }} \
|
--test-set ${{ parameters.TEST_SET }} --kvm-build-id $(KVM_BUILD_ID) \
|
||||||
-o new_test_plan_id.txt \
|
--deploy-mg-extra-params "${{ parameters.DEPLOY_MG_EXTRA_PARAMS }}" --common-extra-params "${{ parameters.COMMON_EXTRA_PARAMS }}" \
|
||||||
--min-worker ${{ parameters.MIN_WORKER }} \
|
--mgmt-branch ${{ parameters.MGMT_BRANCH }} --vm-type ${{ parameters.VM_TYPE }} --specified-params "${{ parameters.SPECIFIED_PARAMS }}" \
|
||||||
--max-worker ${{ parameters.MAX_WORKER }} \
|
|
||||||
--test-set ${{ parameters.TEST_SET }} \
|
|
||||||
--kvm-build-id $(KVM_BUILD_ID) \
|
|
||||||
--deploy-mg-extra-params "${{ parameters.DEPLOY_MG_EXTRA_PARAMS }}" \
|
|
||||||
--common-extra-params "${{ parameters.COMMON_EXTRA_PARAMS }}" \
|
|
||||||
--mgmt-branch ${{ parameters.MGMT_BRANCH }} \
|
|
||||||
--vm-type ${{ parameters.VM_TYPE }} \
|
|
||||||
--num-asic ${{ parameters.NUM_ASIC }}
|
--num-asic ${{ parameters.NUM_ASIC }}
|
||||||
|
|
||||||
TEST_PLAN_ID=`cat new_test_plan_id.txt`
|
TEST_PLAN_ID=`cat new_test_plan_id.txt`
|
||||||
|
|
||||||
echo "Created test plan $TEST_PLAN_ID"
|
echo "Created test plan $TEST_PLAN_ID"
|
||||||
echo "Check $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID for test plan status"
|
echo "Check https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID for test plan status"
|
||||||
echo "##vso[task.setvariable variable=TEST_PLAN_ID]$TEST_PLAN_ID"
|
echo "##vso[task.setvariable variable=TEST_PLAN_ID]$TEST_PLAN_ID"
|
||||||
env:
|
env:
|
||||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||||
@ -146,8 +78,8 @@ steps:
|
|||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
echo "Lock testbed"
|
echo "Lock testbed"
|
||||||
echo "SONiC PR system-level test is powered by SONiC Elastictest, for any issue, please send email to sonicelastictest@microsoft.com"
|
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
|
||||||
echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID "
|
||||||
# When "LOCK_TESTBED" finish, it changes into "PREPARE_TESTBED"
|
# When "LOCK_TESTBED" finish, it changes into "PREPARE_TESTBED"
|
||||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state LOCK_TESTBED
|
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state LOCK_TESTBED
|
||||||
env:
|
env:
|
||||||
@ -157,9 +89,10 @@ steps:
|
|||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
echo "Prepare testbed"
|
echo "Prepare testbed"
|
||||||
echo "Preparing the testbed(add-topo, deploy-mg) may take 15-30 minutes. Before the testbed is ready, the progress of the test plan keeps displayed as 0, please be patient"
|
echo "Preparing the testbed(add-topo, deploy-mg) may take 15-30 minutes. Before the testbed is ready, the progress of the test plan keeps displayed as 0, please be patient(We will improve the indication in a short time)"
|
||||||
echo "SONiC PR system-level test is powered by SONiC Elastictest, for any issue, please send email to sonicelastictest@microsoft.com"
|
echo "If the progress keeps as 0 for more than 1 hour, please cancel and retry this pipeline"
|
||||||
echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
|
||||||
|
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID "
|
||||||
# When "PREPARE_TESTBED" finish, it changes into "EXECUTING"
|
# When "PREPARE_TESTBED" finish, it changes into "EXECUTING"
|
||||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state PREPARE_TESTBED
|
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state PREPARE_TESTBED
|
||||||
env:
|
env:
|
||||||
@ -169,27 +102,25 @@ steps:
|
|||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
echo "Run test"
|
echo "Run test"
|
||||||
echo "SONiC PR system-level test is powered by SONiC Elastictest, for any issue, please send email to sonicelastictest@microsoft.com"
|
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
|
||||||
echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID "
|
||||||
# When "EXECUTING" finish, it changes into "KVMDUMP", "FAILED", "CANCELLED" or "FINISHED"
|
# When "EXECUTING" finish, it changes into "KVMDUMP", "FAILED", "CANCELLED" or "FINISHED"
|
||||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state EXECUTING
|
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state EXECUTING
|
||||||
env:
|
env:
|
||||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||||
displayName: Run test
|
displayName: Run test
|
||||||
timeoutInMinutes: ${{ parameters.MAX_RUN_TEST_MINUTES }}
|
|
||||||
|
|
||||||
- ${{ if eq(parameters.DUMP_KVM_IF_FAIL, 'True') }}:
|
- script: |
|
||||||
- script: |
|
set -e
|
||||||
set -e
|
echo "KVM dump"
|
||||||
echo "KVM dump"
|
echo "TestbedV2 is just online and might not be stable enough, for any issue, please send email to sonictestbedtools@microsoft.com"
|
||||||
echo "SONiC PR system-level test is powered by SONiC Elastictest, for any issue, please send email to sonicelastictest@microsoft.com"
|
echo "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID "
|
||||||
echo "Runtime detailed progress at $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
# When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED"
|
||||||
# When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED"
|
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP
|
||||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP
|
condition: succeededOrFailed()
|
||||||
condition: succeededOrFailed()
|
env:
|
||||||
env:
|
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
displayName: KVM dump
|
||||||
displayName: KVM dump
|
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
set -e
|
set -e
|
||||||
|
@ -2,18 +2,7 @@ steps:
|
|||||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||||
- script: |
|
- script: |
|
||||||
set -ex
|
set -ex
|
||||||
tar_branch=origin/$(System.PullRequest.TargetBranchName)
|
tar_branch=origin/$(System.PullRequest.TargetBranch)
|
||||||
# Check if k8s master entrance script is changed
|
|
||||||
K8S_MASTER_CHANGED=NO
|
|
||||||
if git diff $tar_branch..HEAD --name-only | grep -F files/image_config/kubernetes/kubernetes_master_entrance.sh; then
|
|
||||||
K8S_MASTER_CHANGED=YES
|
|
||||||
fi
|
|
||||||
set +x
|
|
||||||
echo "##vso[task.setvariable variable=K8S_MASTER_CHANGED;]$K8S_MASTER_CHANGED"
|
|
||||||
displayName: "Check if k8s master image build is needed."
|
|
||||||
- script: |
|
|
||||||
set -ex
|
|
||||||
tar_branch=origin/$(System.PullRequest.TargetBranchName)
|
|
||||||
git diff $tar_branch..HEAD --name-only | grep -v -f .azure-pipelines/vstest-exclude && exit 0
|
git diff $tar_branch..HEAD --name-only | grep -v -f .azure-pipelines/vstest-exclude && exit 0
|
||||||
git diff $tar_branch..HEAD --name-only | grep -f .azure-pipelines/vstest-include && exit 0
|
git diff $tar_branch..HEAD --name-only | grep -f .azure-pipelines/vstest-include && exit 0
|
||||||
set +x
|
set +x
|
||||||
|
1
.github/pull_request_template.md
vendored
1
.github/pull_request_template.md
vendored
@ -40,7 +40,6 @@ If PR needs to be backported, then the PR must be tested against the base branch
|
|||||||
- [ ] 202111
|
- [ ] 202111
|
||||||
- [ ] 202205
|
- [ ] 202205
|
||||||
- [ ] 202211
|
- [ ] 202211
|
||||||
- [ ] 202305
|
|
||||||
|
|
||||||
#### Tested branch (Please provide the tested image version)
|
#### Tested branch (Please provide the tested image version)
|
||||||
|
|
||||||
|
3
.github/workflows/automerge.yml
vendored
3
.github/workflows/automerge.yml
vendored
@ -9,8 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
automerge:
|
automerge:
|
||||||
# Disable workflow. Use automerge_scan instead to have the same behaviour.
|
if: github.event.check_suite.app.name == 'Azure Pipelines' && github.event.check_suite.conclusion == 'success'
|
||||||
if: github.event.check_suite.app.name == 'Azure Pipelines' && github.event.check_suite.conclusion == 'success' && false
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: automerge
|
- name: automerge
|
||||||
|
80
.github/workflows/automerge_scan.yml
vendored
80
.github/workflows/automerge_scan.yml
vendored
@ -6,8 +6,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
automerge_scan:
|
automerge_scan:
|
||||||
# Disable workflow, and use pipeline instead to have same logic with other automation
|
if: github.repository_owner == 'sonic-net'
|
||||||
if: github.repository_owner == 'sonic-net' && false
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Debug
|
- name: Debug
|
||||||
@ -17,81 +16,58 @@ jobs:
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo ${TOKEN} | gh auth login --with-token
|
echo ${TOKEN} | gh auth login --with-token
|
||||||
gh pr list -R sonic-net/sonic-buildimage -A mssonicbld -L 100 -S "label:automerge" --json url,body,title,createdAt,labels,statusCheckRollup > prs.log
|
gh pr list -R sonic-net/sonic-buildimage -A mssonicbld --json additions,assignees,author,baseRefName,body,changedFiles,closed,closedAt,comments,commits,createdAt,deletions,files,headRefName,headRepository,headRepositoryOwner,id,isCrossRepository,isDraft,labels,latestReviews,maintainerCanModify,mergeCommit,mergeStateStatus,mergeable,mergedAt,mergedBy,milestone,number,potentialMergeCommit,projectCards,reactionGroups,reviewDecision,reviewRequests,reviews,state,statusCheckRollup,title,updatedAt,url > prs.log
|
||||||
cat prs.log | jq
|
cat prs.log | jq
|
||||||
- name: Main
|
- name: Main
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# PR merge run per 2 hours
|
|
||||||
# Other operation run per day.
|
|
||||||
# Cherry pick PR:
|
|
||||||
# more than 3 days, comment @author to check
|
|
||||||
# more than 10 days, stop comment.
|
|
||||||
# more than 28 days, comment @author PR will be closed
|
|
||||||
# more than 30 days, close PR
|
|
||||||
date_3d_ago=$(date --date "3 day ago" -u +"%FT%TZ")
|
|
||||||
date_10d_ago=$(date --date "10 day ago" -u +"%FT%TZ")
|
|
||||||
date_28d_ago=$(date --date "28 day ago" -u +"%FT%TZ")
|
|
||||||
date_30d_ago=$(date --date "30 day ago" -u +"%FT%TZ")
|
|
||||||
date_now=$(date -u +"%T")
|
|
||||||
operate=false
|
|
||||||
[[ "$date_now" < "02:00:00" ]] && operate=true
|
|
||||||
|
|
||||||
count=$(cat prs.log | jq 'length')
|
count=$(cat prs.log | jq 'length')
|
||||||
for ((i=0;i<$count;i++))
|
for ((i=0;i<$count;i++))
|
||||||
do
|
do
|
||||||
url=$(cat prs.log | jq -r ".[$i].url")
|
url=$(cat prs.log | jq -r ".[$i].url")
|
||||||
body=$(cat prs.log | jq -r ".[$i].body")
|
|
||||||
title=$(cat prs.log | jq -r ".[$i].title")
|
|
||||||
origin_pr_id=$(echo $title | grep -Eo "\[action\] \[PR:[0-9]*\]" | grep -Eo [0-9]* || true)
|
|
||||||
created_at=$(cat prs.log | jq -r ".[$i].createdAt")
|
created_at=$(cat prs.log | jq -r ".[$i].createdAt")
|
||||||
echo PR: $(($i+1))/$count, URL: $url, origin PR: $origin_pr_id, createdAt: $created_at, operate: $operate
|
echo PR: $(($i+1))/$count, URL: $url, createdAt: $created_at, now: $(date -u +"%FT%TZ")
|
||||||
[[ "$url" == "" ]] && continue
|
[[ "$url" == "" ]] && continue
|
||||||
[[ $created_at > $(date --date "1 hour ago" -u +"%FT%TZ") ]] && continue
|
[[ $created_at > $(date --date "1 hour ago" -u +"%FT%TZ") ]] && continue
|
||||||
|
# only check automerge PR.
|
||||||
|
cat prs.log | jq -r ".[$i].labels[].name" | grep automerge || continue
|
||||||
|
|
||||||
checks=$(cat prs.log | jq ".[$i].statusCheckRollup")
|
checks=$(cat prs.log | jq ".[$i].statusCheckRollup")
|
||||||
checks_count=$(echo $checks | jq 'length')
|
checks_count=$(echo $checks | jq 'length')
|
||||||
pr_success=true
|
echo Checks count: $checks_count
|
||||||
for ((j=0;j<$checks_count;j++))
|
for ((j=0;j<$checks_count;j++))
|
||||||
do
|
do
|
||||||
check=$(echo $checks | jq ".[$j]")
|
check=$(echo $checks | jq ".[$j]")
|
||||||
status=$(echo $check | jq -r '.status')
|
state=$(echo $check | jq -r '.state')
|
||||||
conclusion=$(echo $check | jq -r '.conclusion')
|
conclusion=$(echo $check | jq -r '.conclusion')
|
||||||
name=$(echo $check | jq -r '.name')
|
name=$(echo $check | jq -r '.name')
|
||||||
|
|
||||||
# EasyCLA success flag: state=SUCCESS
|
# EasyCLA success flag: state=SUCCESS
|
||||||
# Others success flag: conclusion in SUCCESS,NEUTRAL
|
# Others success flag: conclusion in SUCCESS,NEUTRAL
|
||||||
# only check Azure.sonic-buildimage currently
|
# Ignore Azure.sonic-buildimage stage check result. It may be set continueOnError
|
||||||
echo "$name" | grep -v "Azure.sonic-buildimage" > /dev/null && continue
|
echo "$name" | grep "Azure.sonic-buildimage (" && continue
|
||||||
[[ "$status" != "COMPLETED" ]] && echo "$name: $status" && continue 2
|
# rerun Azure.sonic-buildimage per day
|
||||||
|
if [[ "$name" == "Azure.sonic-buildimage" ]] && [[ "$conclusion" == "FAILURE" ]];then
|
||||||
success=true
|
completedAt=$(echo $check | jq -r '.completedAt')
|
||||||
( [[ "$conclusion" == "FAILURE" ]] || [[ "$conclusion" == "CANCELLED" ]] ) && success=false && pr_success=false
|
[[ "$completedAt" < $(date --date "2 hour ago" -u +"%FT%TZ") ]] && [[ $(date -u +"%T") < "02:00:00" ]] && gh pr comment $url --body "/azp run Azure.sonic-buildimage"
|
||||||
! $success && echo "FAIL: $name"
|
fi
|
||||||
|
# Ignore Semgrep, it has issues.
|
||||||
|
[[ "$name" == "Semgrep" ]] && continue
|
||||||
|
if [[ "$state" == "SUCCESS" ]];then
|
||||||
|
# check pass
|
||||||
|
continue
|
||||||
|
elif [[ "$conclusion" == "SUCCESS" ]] || [[ "$conclusion" == "NEUTRAL" ]];then
|
||||||
|
# check pass
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
echo "$url Check failed!!!"
|
||||||
|
echo $check | jq
|
||||||
|
continue 2
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# rerun Azure.sonic-buildimage per day
|
|
||||||
! $pr_success && $operate && gh pr comment $url --body "/azp run Azure.sonic-buildimage"
|
|
||||||
|
|
||||||
# If auto cherry pick PRs failed, comment in original PR and close cherry pick PR
|
|
||||||
if [ -n "$origin_pr_id" ] && [[ $created_at < $date_3d_ago ]] && ! $pr_success;then
|
|
||||||
origin_pr_url=https://github.com/sonic-net/sonic-buildimage/pull/$origin_pr_id
|
|
||||||
author=$(gh pr view $origin_pr_url --json author | jq .author.login -r)
|
|
||||||
echo "Original author will check."
|
|
||||||
$operate && [[ $created_at > $date_10d_ago ]] && gh pr comment $origin_pr_url --body "@$author cherry pick PR didn't pass PR checker. Please check!!!<br>$url"
|
|
||||||
$operate && [[ $created_at < $date_28d_ago ]] && gh pr comment $origin_pr_url --body "@$author cherry pick PR didn't pass PR checker. Please check!!! Auto cherry pick PR will be closed in 2 days.<br>$url"
|
|
||||||
$operate && [[ $created_at < $date_30d_ago ]] && echo "$url Closed" && gh pr close $url
|
|
||||||
fi
|
|
||||||
|
|
||||||
! $pr_success && continue
|
|
||||||
# merge the PR
|
# merge the PR
|
||||||
echo ========Merging PR========
|
echo ========Merging PR========
|
||||||
if echo $title | grep "^\[submodule\]";then
|
gh pr merge --rebase --admin -R sonic-net/sonic-buildimage $url || true
|
||||||
gh pr merge --squash --admin -R sonic-net/sonic-buildimage $url -b "$body" || true
|
|
||||||
else
|
|
||||||
gh pr merge --rebase --admin -R sonic-net/sonic-buildimage $url || true
|
|
||||||
fi
|
|
||||||
echo ========Finished PR========
|
echo ========Finished PR========
|
||||||
done
|
done
|
||||||
|
|
||||||
|
26
.github/workflows/build-broadcom.yml
vendored
26
.github/workflows/build-broadcom.yml
vendored
@ -1,26 +0,0 @@
|
|||||||
name: Build broadcom ONEIMAGE
|
|
||||||
run-name: ${{ gitea.actor }} is building SONiC for broadcom
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [master]
|
|
||||||
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
Configure-Build-Package-Action:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- run: echo "Triggered ${{ gitea.event_name }}"
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- run: pip install j2cli
|
|
||||||
- name: Init Package
|
|
||||||
run: make init
|
|
||||||
- name: Configure Package
|
|
||||||
run: make configure PLATFORM=broadcom
|
|
||||||
- name: Compile Image
|
|
||||||
run: make target/sonic-broadcom.bin
|
|
||||||
- name: Release
|
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
*
|
|
3
.github/workflows/pr_cherrypick_poststep.yml
vendored
3
.github/workflows/pr_cherrypick_poststep.yml
vendored
@ -8,8 +8,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
post_cherry_pick:
|
post_cherry_pick:
|
||||||
# Use azpw instead to have stable performance
|
if: github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'automerge') && github.event.pull_request.head.user.login == 'mssonicbld' && startsWith(github.event.pull_request.title, '[action]')
|
||||||
if: false && github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'automerge') && github.event.pull_request.head.user.login == 'mssonicbld' && startsWith(github.event.pull_request.title, '[action]')
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Debug
|
- name: Debug
|
||||||
|
3
.github/workflows/pr_cherrypick_prestep.yml
vendored
3
.github/workflows/pr_cherrypick_prestep.yml
vendored
@ -9,8 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
pre_cherry_pick:
|
pre_cherry_pick:
|
||||||
# Use azpw instead of workflow to have stable performance.
|
if: github.repository_owner == 'sonic-net' && github.event.pull_request.merged == true && ( (github.event.action == 'closed' && contains(join(github.event.pull_request.labels.*.name, ','), 'Approved for 20')) || (github.event.action == 'labeled' && startsWith(github.event.label.name, 'Approved for 20')) )
|
||||||
if: false && github.repository_owner == 'sonic-net' && github.event.pull_request.merged == true && ( (github.event.action == 'closed' && contains(join(github.event.pull_request.labels.*.name, ','), 'Approved for 20')) || (github.event.action == 'labeled' && startsWith(github.event.label.name, 'Approved for 20')) )
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -41,9 +41,6 @@ installer/x86_64/platforms/
|
|||||||
# Misc. files
|
# Misc. files
|
||||||
asic_config_checksum
|
asic_config_checksum
|
||||||
files/Aboot/boot0
|
files/Aboot/boot0
|
||||||
files/dsc/MANIFEST
|
|
||||||
files/dsc/install_debian
|
|
||||||
files/dsc/fs.zip
|
|
||||||
files/initramfs-tools/arista-convertfs
|
files/initramfs-tools/arista-convertfs
|
||||||
files/initramfs-tools/union-mount
|
files/initramfs-tools/union-mount
|
||||||
|
|
||||||
@ -108,6 +105,3 @@ htmlcov/
|
|||||||
# Debian mirror Sources
|
# Debian mirror Sources
|
||||||
sources.list.*
|
sources.list.*
|
||||||
!sources.list*.j2
|
!sources.list*.j2
|
||||||
|
|
||||||
# Generated mirror configs
|
|
||||||
apt-retries-count
|
|
||||||
|
24
.gitmodules
vendored
24
.gitmodules
vendored
@ -1,15 +1,19 @@
|
|||||||
[submodule "sonic-swss-common"]
|
[submodule "sonic-swss-common"]
|
||||||
path = src/sonic-swss-common
|
path = src/sonic-swss-common
|
||||||
url = https://github.com/sonic-net/sonic-swss-common
|
url = https://github.com/sonic-net/sonic-swss-common
|
||||||
|
branch = 202305
|
||||||
[submodule "sonic-linux-kernel"]
|
[submodule "sonic-linux-kernel"]
|
||||||
path = src/sonic-linux-kernel
|
path = src/sonic-linux-kernel
|
||||||
url = https://github.com/sonic-net/sonic-linux-kernel
|
url = https://github.com/sonic-net/sonic-linux-kernel
|
||||||
|
branch = 202305
|
||||||
[submodule "sonic-sairedis"]
|
[submodule "sonic-sairedis"]
|
||||||
path = src/sonic-sairedis
|
path = src/sonic-sairedis
|
||||||
url = https://github.com/sonic-net/sonic-sairedis
|
url = https://github.com/sonic-net/sonic-sairedis
|
||||||
|
branch = 202305
|
||||||
[submodule "sonic-swss"]
|
[submodule "sonic-swss"]
|
||||||
path = src/sonic-swss
|
path = src/sonic-swss
|
||||||
url = https://github.com/sonic-net/sonic-swss
|
url = https://github.com/sonic-net/sonic-swss
|
||||||
|
branch = 202305
|
||||||
[submodule "src/p4c-bm/p4c-bm"]
|
[submodule "src/p4c-bm/p4c-bm"]
|
||||||
path = platform/p4/p4c-bm/p4c-bm
|
path = platform/p4/p4c-bm/p4c-bm
|
||||||
url = https://github.com/krambn/p4c-bm
|
url = https://github.com/krambn/p4c-bm
|
||||||
@ -31,22 +35,25 @@
|
|||||||
[submodule "src/sonic-utilities"]
|
[submodule "src/sonic-utilities"]
|
||||||
path = src/sonic-utilities
|
path = src/sonic-utilities
|
||||||
url = https://github.com/sonic-net/sonic-utilities
|
url = https://github.com/sonic-net/sonic-utilities
|
||||||
|
branch = 202305
|
||||||
[submodule "platform/broadcom/sonic-platform-modules-arista"]
|
[submodule "platform/broadcom/sonic-platform-modules-arista"]
|
||||||
path = platform/broadcom/sonic-platform-modules-arista
|
path = platform/broadcom/sonic-platform-modules-arista
|
||||||
url = https://github.com/aristanetworks/sonic
|
url = https://github.com/aristanetworks/sonic
|
||||||
[submodule "src/sonic-platform-common"]
|
[submodule "src/sonic-platform-common"]
|
||||||
path = src/sonic-platform-common
|
path = src/sonic-platform-common
|
||||||
url = https://github.com/sonic-net/sonic-platform-common
|
url = https://github.com/sonic-net/sonic-platform-common
|
||||||
|
branch = 202305
|
||||||
[submodule "src/sonic-platform-daemons"]
|
[submodule "src/sonic-platform-daemons"]
|
||||||
path = src/sonic-platform-daemons
|
path = src/sonic-platform-daemons
|
||||||
url = https://github.com/sonic-net/sonic-platform-daemons
|
url = https://github.com/sonic-net/sonic-platform-daemons
|
||||||
|
branch = 202305
|
||||||
[submodule "src/sonic-platform-pde"]
|
[submodule "src/sonic-platform-pde"]
|
||||||
path = src/sonic-platform-pde
|
path = src/sonic-platform-pde
|
||||||
url = https://github.com/sonic-net/sonic-platform-pdk-pde
|
url = https://github.com/sonic-net/sonic-platform-pdk-pde
|
||||||
[submodule "src/sonic-frr/frr"]
|
[submodule "src/sonic-frr/frr"]
|
||||||
path = src/sonic-frr/frr
|
path = src/sonic-frr/frr
|
||||||
url = https://github.com/sonic-net/sonic-frr.git
|
url = https://github.com/sonic-net/sonic-frr.git
|
||||||
branch = frr/8.5
|
branch = frr/8.2
|
||||||
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
|
[submodule "platform/p4/p4-hlir/p4-hlir-v1.1"]
|
||||||
path = platform/p4/p4-hlir/p4-hlir-v1.1
|
path = platform/p4/p4-hlir/p4-hlir-v1.1
|
||||||
url = https://github.com/p4lang/p4-hlir.git
|
url = https://github.com/p4lang/p4-hlir.git
|
||||||
@ -65,6 +72,9 @@
|
|||||||
[submodule "src/scapy"]
|
[submodule "src/scapy"]
|
||||||
path = src/scapy
|
path = src/scapy
|
||||||
url = https://github.com/secdev/scapy.git
|
url = https://github.com/secdev/scapy.git
|
||||||
|
[submodule "platform/mellanox/mlnx-sai/SAI-Implementation"]
|
||||||
|
path = platform/mellanox/mlnx-sai/SAI-Implementation
|
||||||
|
url = https://github.com/Mellanox/SAI-Implementation
|
||||||
[submodule "src/sonic-mgmt-framework"]
|
[submodule "src/sonic-mgmt-framework"]
|
||||||
path = src/sonic-mgmt-framework
|
path = src/sonic-mgmt-framework
|
||||||
url = https://github.com/sonic-net/sonic-mgmt-framework
|
url = https://github.com/sonic-net/sonic-mgmt-framework
|
||||||
@ -91,6 +101,7 @@
|
|||||||
[submodule "src/linkmgrd"]
|
[submodule "src/linkmgrd"]
|
||||||
path = src/linkmgrd
|
path = src/linkmgrd
|
||||||
url = https://github.com/sonic-net/sonic-linkmgrd.git
|
url = https://github.com/sonic-net/sonic-linkmgrd.git
|
||||||
|
branch = 202305
|
||||||
[submodule "src/sonic-p4rt/sonic-pins"]
|
[submodule "src/sonic-p4rt/sonic-pins"]
|
||||||
path = src/sonic-p4rt/sonic-pins
|
path = src/sonic-p4rt/sonic-pins
|
||||||
url = https://github.com/sonic-net/sonic-pins.git
|
url = https://github.com/sonic-net/sonic-pins.git
|
||||||
@ -103,21 +114,14 @@
|
|||||||
[submodule "src/sonic-host-services"]
|
[submodule "src/sonic-host-services"]
|
||||||
path = src/sonic-host-services
|
path = src/sonic-host-services
|
||||||
url = https://github.com/sonic-net/sonic-host-services
|
url = https://github.com/sonic-net/sonic-host-services
|
||||||
|
branch = 202305
|
||||||
[submodule "src/sonic-gnmi"]
|
[submodule "src/sonic-gnmi"]
|
||||||
path = src/sonic-gnmi
|
path = src/sonic-gnmi
|
||||||
url = https://github.com/sonic-net/sonic-gnmi.git
|
url = https://github.com/sonic-net/sonic-gnmi.git
|
||||||
|
branch = 202305
|
||||||
[submodule "src/sonic-genl-packet"]
|
[submodule "src/sonic-genl-packet"]
|
||||||
path = src/sonic-genl-packet
|
path = src/sonic-genl-packet
|
||||||
url = https://github.com/sonic-net/sonic-genl-packet
|
url = https://github.com/sonic-net/sonic-genl-packet
|
||||||
[submodule "src/dhcpmon"]
|
[submodule "src/dhcpmon"]
|
||||||
path = src/dhcpmon
|
path = src/dhcpmon
|
||||||
url = https://github.com/sonic-net/sonic-dhcpmon.git
|
url = https://github.com/sonic-net/sonic-dhcpmon.git
|
||||||
[submodule "src/sonic-dash-api"]
|
|
||||||
path = src/sonic-dash-api
|
|
||||||
url = https://github.com/sonic-net/sonic-dash-api.git
|
|
||||||
[submodule "platform/marvell-arm64/mrvl-prestera"]
|
|
||||||
path = platform/marvell-arm64/mrvl-prestera
|
|
||||||
url = https://github.com/Marvell-switching/mrvl-prestera.git
|
|
||||||
[submodule "platform/marvell-arm64/sonic-platform-marvell"]
|
|
||||||
path = platform/marvell-arm64/sonic-platform-marvell
|
|
||||||
url = https://github.com/Marvell-switching/sonic-platform-arm64.git
|
|
||||||
|
22
LICENSE
22
LICENSE
@ -1,13 +1,15 @@
|
|||||||
Copyright (C) 2023 Microsoft
|
Copyright (C) 2016 Microsoft
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
This program is free software; you can redistribute it and/or
|
||||||
you may not use this file except in compliance with the License.
|
modify it under the terms of the GNU General Public License
|
||||||
You may obtain a copy of the License at
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
You should have received a copy of the GNU General Public License
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
along with this program; if not, write to the Free Software
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
|
19
Makefile
19
Makefile
@ -4,7 +4,6 @@ NOJESSIE ?= 1
|
|||||||
NOSTRETCH ?= 1
|
NOSTRETCH ?= 1
|
||||||
NOBUSTER ?= 0
|
NOBUSTER ?= 0
|
||||||
NOBULLSEYE ?= 0
|
NOBULLSEYE ?= 0
|
||||||
NOBOOKWORM ?= 0
|
|
||||||
|
|
||||||
override Q := @
|
override Q := @
|
||||||
ifeq ($(QUIET),n)
|
ifeq ($(QUIET),n)
|
||||||
@ -30,10 +29,6 @@ ifeq ($(NOBULLSEYE),0)
|
|||||||
BUILD_BULLSEYE=1
|
BUILD_BULLSEYE=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NOBOOKWORM),0)
|
|
||||||
BUILD_BOOKWORM=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
PLATFORM_PATH := platform/$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))
|
PLATFORM_PATH := platform/$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))
|
||||||
PLATFORM_CHECKOUT := platform/checkout
|
PLATFORM_CHECKOUT := platform/checkout
|
||||||
PLATFORM_CHECKOUT_FILE := $(PLATFORM_CHECKOUT)/$(PLATFORM).ini
|
PLATFORM_CHECKOUT_FILE := $(PLATFORM_CHECKOUT)/$(PLATFORM).ini
|
||||||
@ -52,12 +47,9 @@ ifeq ($(NOBUSTER), 0)
|
|||||||
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=buster -f Makefile.work buster
|
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=buster -f Makefile.work buster
|
||||||
endif
|
endif
|
||||||
ifeq ($(NOBULLSEYE), 0)
|
ifeq ($(NOBULLSEYE), 0)
|
||||||
$(MAKE_WITH_RETRY) EXTRA_DOCKER_TARGETS=$(notdir $@) BLDENV=bullseye -f Makefile.work bullseye
|
$(MAKE_WITH_RETRY) BLDENV=bullseye -f Makefile.work $@
|
||||||
endif
|
endif
|
||||||
ifeq ($(NOBOOKWORM), 0)
|
BLDENV=bullseye $(MAKE) -f Makefile.work docker-cleanup
|
||||||
$(MAKE_WITH_RETRY) BLDENV=bookworm -f Makefile.work $@
|
|
||||||
endif
|
|
||||||
BLDENV=bookworm $(MAKE) -f Makefile.work docker-cleanup
|
|
||||||
|
|
||||||
jessie:
|
jessie:
|
||||||
@echo "+++ Making $@ +++"
|
@echo "+++ Making $@ +++"
|
||||||
@ -77,12 +69,6 @@ ifeq ($(NOBUSTER), 0)
|
|||||||
$(MAKE) -f Makefile.work buster
|
$(MAKE) -f Makefile.work buster
|
||||||
endif
|
endif
|
||||||
|
|
||||||
bullseye:
|
|
||||||
@echo "+++ Making $@ +++"
|
|
||||||
ifeq ($(NOBUSTER), 0)
|
|
||||||
$(MAKE) -f Makefile.work bullseye
|
|
||||||
endif
|
|
||||||
|
|
||||||
init:
|
init:
|
||||||
@echo "+++ Making $@ +++"
|
@echo "+++ Making $@ +++"
|
||||||
$(MAKE) -f Makefile.work $@
|
$(MAKE) -f Makefile.work $@
|
||||||
@ -96,7 +82,6 @@ define make_work
|
|||||||
$(if $(BUILD_STRETCH),BLDENV=stretch $(MAKE) -f Makefile.work $@,)
|
$(if $(BUILD_STRETCH),BLDENV=stretch $(MAKE) -f Makefile.work $@,)
|
||||||
$(if $(BUILD_BUSTER),BLDENV=buster $(MAKE) -f Makefile.work $@,)
|
$(if $(BUILD_BUSTER),BLDENV=buster $(MAKE) -f Makefile.work $@,)
|
||||||
$(if $(BUILD_BULLSEYE),BLDENV=bullseye $(MAKE) -f Makefile.work $@,)
|
$(if $(BUILD_BULLSEYE),BLDENV=bullseye $(MAKE) -f Makefile.work $@,)
|
||||||
$(if $(BUILD_BOOKWORM),BLDENV=bookworm $(MAKE) -f Makefile.work $@,)
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
.PHONY: $(PLATFORM_PATH)
|
.PHONY: $(PLATFORM_PATH)
|
||||||
|
@ -78,8 +78,7 @@ SONIC_COMMON_DPKG_LIST := debian/control debian/changelog debian/rules \
|
|||||||
SONIC_COMMON_BASE_FILES_LIST := sonic-slave-jessie/Dockerfile.j2 sonic-slave-jessie/Dockerfile.user.j2 \
|
SONIC_COMMON_BASE_FILES_LIST := sonic-slave-jessie/Dockerfile.j2 sonic-slave-jessie/Dockerfile.user.j2 \
|
||||||
sonic-slave-stretch/Dockerfile.j2 sonic-slave-stretch/Dockerfile.user.j2 \
|
sonic-slave-stretch/Dockerfile.j2 sonic-slave-stretch/Dockerfile.user.j2 \
|
||||||
sonic-slave-buster/Dockerfile.j2 sonic-slave-buster/Dockerfile.user.j2 \
|
sonic-slave-buster/Dockerfile.j2 sonic-slave-buster/Dockerfile.user.j2 \
|
||||||
sonic-slave-bullseye/Dockerfile.j2 sonic-slave-bullseye/Dockerfile.user.j2 \
|
sonic-slave-bullseye/Dockerfile.j2 sonic-slave-bullseye/Dockerfile.user.j2
|
||||||
sonic-slave-bookworm/Dockerfile.j2 sonic-slave-bookworm/Dockerfile.user.j2
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -295,12 +294,10 @@ define SAVE_INTO_CACHE
|
|||||||
echo "Target $(1) dependencies are modifed - global save cache skipped" >> $($(1)_DST_PATH)/$(1).log
|
echo "Target $(1) dependencies are modifed - global save cache skipped" >> $($(1)_DST_PATH)/$(1).log
|
||||||
$(eval $(1)_CACHE_DIR := $(SONIC_DPKG_LOCAL_CACHE_DIR))
|
$(eval $(1)_CACHE_DIR := $(SONIC_DPKG_LOCAL_CACHE_DIR))
|
||||||
)
|
)
|
||||||
cp $($(1)_DST_PATH)/$(1).log $($(1)_DST_PATH)/$(1).cached.log
|
$($(1)_CACHE_USER) tar -C $($(1)_BASE_PATH) -mczvf $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE) $(2) $(addprefix $($(1)_DST_PATH)/,$($(1)_DERIVED_DEBS) $($(1)_EXTRA_DEBS) ) \
|
||||||
$($(1)_CACHE_USER) tar -C $($(1)_BASE_PATH) -mczvf $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE) $(2) $(addprefix $($(1)_DST_PATH)/,$($(1)_DERIVED_DEBS) $($(1)_EXTRA_DEBS) $(1).cached.log) \
|
|
||||||
1>>$($(1)_DST_PATH)/$(1).log
|
1>>$($(1)_DST_PATH)/$(1).log
|
||||||
sudo chmod 777 $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE)
|
sudo chmod 777 $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE)
|
||||||
rm -f $($(1)_DST_PATH)/$(1).cached.log
|
|
||||||
|
|
||||||
echo "File $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE) saved in cache " >> $($(1)_DST_PATH)/$(1).log
|
echo "File $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE) saved in cache " >> $($(1)_DST_PATH)/$(1).log
|
||||||
echo "[ CACHE::SAVED ] $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE)" >> $($(1)_DST_PATH)/$(1).log
|
echo "[ CACHE::SAVED ] $($(1)_CACHE_DIR)/$(MOD_CACHE_FILE)" >> $($(1)_DST_PATH)/$(1).log
|
||||||
|
|
||||||
@ -360,22 +357,6 @@ define SAVE_CACHE
|
|||||||
$(if $(call CHECK_WCACHE_ENABLED,$(1)), $(call SAVE_INTO_CACHE,$(1),$(2)))
|
$(if $(call CHECK_WCACHE_ENABLED,$(1)), $(call SAVE_INTO_CACHE,$(1),$(2)))
|
||||||
endef
|
endef
|
||||||
|
|
||||||
RFS_DEP_FILES := $(wildcard \
|
|
||||||
$(addprefix scripts/, build_debian_base_system.sh prepare_debian_image_buildinfo.sh build_mirror_config.sh) \
|
|
||||||
$(addprefix $(IMAGE_DISTRO_DEBS_PATH)/,$(INITRAMFS_TOOLS) $(LINUX_KERNEL)) \
|
|
||||||
$(shell git ls-files files/initramfs-tools) \
|
|
||||||
$(shell git ls-files files/image_config) \
|
|
||||||
$(shell git ls-files files/apparmor) \
|
|
||||||
$(shell git ls-files files/apt) \
|
|
||||||
$(shell git ls-files files/sshd) \
|
|
||||||
$(shell git ls-files files/dhcp) \
|
|
||||||
src/sonic-build-hooks/buildinfo/trusted.gpg.d \
|
|
||||||
platform/$(CONFIGURED_PLATFORM)/modules \
|
|
||||||
files/docker/docker.service.conf \
|
|
||||||
files/build_templates/default_users.json.j2 \
|
|
||||||
files/build_scripts/generate_asic_config_checksum.py \
|
|
||||||
files/scripts/core_cleanup.py \
|
|
||||||
build_debian.sh onie-image.conf)
|
|
||||||
|
|
||||||
|
|
||||||
# Set the target path for each target.
|
# Set the target path for each target.
|
||||||
@ -403,17 +384,11 @@ $(foreach pkg, $(SONIC_INSTALL_PKGS), \
|
|||||||
$(eval $(pkg)_DST_PATH := $(if $($(pkg)_DST_PATH), $($(pkg)_DST_PATH), $(FSROOT_PATH))) \
|
$(eval $(pkg)_DST_PATH := $(if $($(pkg)_DST_PATH), $($(pkg)_DST_PATH), $(FSROOT_PATH))) \
|
||||||
$(eval $(FSROOT_PATH)/$(pkg)_TARGET := $(pkg)) )
|
$(eval $(FSROOT_PATH)/$(pkg)_TARGET := $(pkg)) )
|
||||||
|
|
||||||
$(foreach pkg, $(SONIC_RFS_TARGETS), \
|
|
||||||
$(eval $(pkg)_DST_PATH := $(if $($(pkg)_DST_PATH), $($(pkg)_DST_PATH), $(TARGET_PATH))) \
|
|
||||||
$(eval $(pkg)_CACHE_MODE := GIT_CONTENT_SHA) \
|
|
||||||
$(eval $(pkg)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)) \
|
|
||||||
$(eval $(pkg)_DEP_FILES := $(SONIC_COMMON_BASE_FILES_LIST) $(RFS_DEP_FILES)) \
|
|
||||||
$(eval $(TARGET_PATH)/$(pkg)_TARGET := $(pkg)) )
|
|
||||||
|
|
||||||
# define the DEP files(.dep and .smdep) and SHA files (.sha and smsha) for each target
|
# define the DEP files(.dep and .smdep) and SHA files (.sha and smsha) for each target
|
||||||
$(foreach pkg, $(SONIC_MAKE_DEBS) $(SONIC_DPKG_DEBS) $(SONIC_ONLINE_DEBS) $(SONIC_COPY_DEBS) \
|
$(foreach pkg, $(SONIC_MAKE_DEBS) $(SONIC_DPKG_DEBS) $(SONIC_ONLINE_DEBS) $(SONIC_COPY_DEBS) \
|
||||||
$(SONIC_MAKE_FILES) $(SONIC_PYTHON_STDEB_DEBS) $(SONIC_PYTHON_WHEELS) \
|
$(SONIC_MAKE_FILES) $(SONIC_PYTHON_STDEB_DEBS) $(SONIC_PYTHON_WHEELS) \
|
||||||
$(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES) $(SONIC_INSTALL_PKGS) $(SONIC_RFS_TARGETS), \
|
$(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES) $(SONIC_INSTALL_PKGS), \
|
||||||
$(eval $(pkg)_MOD_SRC_PATH:=$(if $($(pkg)_SRC_PATH),$($(pkg)_SRC_PATH),$($(pkg)_PATH))) \
|
$(eval $(pkg)_MOD_SRC_PATH:=$(if $($(pkg)_SRC_PATH),$($(pkg)_SRC_PATH),$($(pkg)_PATH))) \
|
||||||
$(eval $(pkg)_BASE_PATH:=$(if $($(pkg)_BASE_PATH),$($(pkg)_BASE_PATH),$(CURDIR))) \
|
$(eval $(pkg)_BASE_PATH:=$(if $($(pkg)_BASE_PATH),$($(pkg)_BASE_PATH),$(CURDIR))) \
|
||||||
$(eval $(pkg)_DEP_FLAGS_FILE:=$($(pkg)_DST_PATH)/$(pkg).flags) \
|
$(eval $(pkg)_DEP_FLAGS_FILE:=$($(pkg)_DST_PATH)/$(pkg).flags) \
|
||||||
@ -514,7 +489,6 @@ $(eval $(call FLAGS_DEP_RULES, $(SONIC_PYTHON_STDEB_DEBS), $(PYTHON_DEBS_PATH),f
|
|||||||
$(eval $(call FLAGS_DEP_RULES, $(SONIC_PYTHON_WHEELS), $(PYTHON_WHEELS_PATH),flags))
|
$(eval $(call FLAGS_DEP_RULES, $(SONIC_PYTHON_WHEELS), $(PYTHON_WHEELS_PATH),flags))
|
||||||
$(eval $(call FLAGS_DEP_RULES, $(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES), $(TARGET_PATH),flags))
|
$(eval $(call FLAGS_DEP_RULES, $(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES), $(TARGET_PATH),flags))
|
||||||
$(eval $(call FLAGS_DEP_RULES, $(SONIC_INSTALL_PKGS), $(FSROOT_PATH),flags))
|
$(eval $(call FLAGS_DEP_RULES, $(SONIC_INSTALL_PKGS), $(FSROOT_PATH),flags))
|
||||||
$(eval $(call FLAGS_DEP_RULES, $(SONIC_RFS_TARGETS), $(TARGET_PATH),flags))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -590,12 +564,10 @@ ALL_DEP_FILES_LIST += $(foreach pkg,$(2), $($(filter none,$($(1)_CACHE_MODE)), \
|
|||||||
$(addsuffix .$(3).sha,$(addprefix $(pkg)/, $(1)))))
|
$(addsuffix .$(3).sha,$(addprefix $(pkg)/, $(1)))))
|
||||||
$(foreach docker, $(filter $(SONIC_DOCKER_IMAGES), $(1)), \
|
$(foreach docker, $(filter $(SONIC_DOCKER_IMAGES), $(1)), \
|
||||||
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
||||||
$(wildcard files/build/versions/dockers/$(basename $(docker))/*) \
|
$(wildcard files/build/versions/dockers/$(basename $(docker))/*)))
|
||||||
$(foreach docker_file, $($(docker)_FILES), $(addprefix $(if $($(docker_file)_PATH), $($(docker_file)_PATH), $(FILES_PATH))/, $(docker_file))) ))
|
|
||||||
$(foreach docker, $(filter $(SONIC_DOCKER_DBG_IMAGES), $(1)), \
|
$(foreach docker, $(filter $(SONIC_DOCKER_DBG_IMAGES), $(1)), \
|
||||||
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
||||||
$(wildcard files/build/versions/dockers/$(patsubst %-$(DBG_IMAGE_MARK).gz,%,$(docker))/*) \
|
$(wildcard files/build/versions/dockers/$(patsubst %-$(DBG_IMAGE_MARK).gz,%,$(docker))/*)))
|
||||||
$(foreach docker_file, $($(docker)_FILES), $(addprefix $(if $($(docker_file)_PATH), $($(docker_file)_PATH), $(FILES_PATH))/, $(docker_file))) ))
|
|
||||||
$(addsuffix .$(3),$(addprefix $(2)/, $(1))) : $(2)/%.$(3) : \
|
$(addsuffix .$(3),$(addprefix $(2)/, $(1))) : $(2)/%.$(3) : \
|
||||||
$(2)/%.flags $$$$($$$$*_DEP_FILES) $$$$(if $$$$($$$$*_SMDEP_FILES), $(2)/%.smdep)
|
$(2)/%.flags $$$$($$$$*_DEP_FILES) $$$$(if $$$$($$$$*_SMDEP_FILES), $(2)/%.smdep)
|
||||||
@$$(eval $$*_DEP_FILES_MODIFIED := $$? )
|
@$$(eval $$*_DEP_FILES_MODIFIED := $$? )
|
||||||
@ -611,7 +583,6 @@ $(eval $(call SHA_DEP_RULES, $(SONIC_PYTHON_STDEB_DEBS), $(PYTHON_DEBS_PATH),dep
|
|||||||
$(eval $(call SHA_DEP_RULES, $(SONIC_PYTHON_WHEELS), $(PYTHON_WHEELS_PATH),dep))
|
$(eval $(call SHA_DEP_RULES, $(SONIC_PYTHON_WHEELS), $(PYTHON_WHEELS_PATH),dep))
|
||||||
$(eval $(call SHA_DEP_RULES, $(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES), $(TARGET_PATH),dep))
|
$(eval $(call SHA_DEP_RULES, $(SONIC_DOCKER_IMAGES) $(SONIC_DOCKER_DBG_IMAGES), $(TARGET_PATH),dep))
|
||||||
$(eval $(call SHA_DEP_RULES, $(SONIC_INSTALL_PKGS), $(FSROOT_PATH),dep))
|
$(eval $(call SHA_DEP_RULES, $(SONIC_INSTALL_PKGS), $(FSROOT_PATH),dep))
|
||||||
$(eval $(call SHA_DEP_RULES, $(SONIC_RFS_TARGETS), $(TARGET_PATH),dep))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -645,7 +616,6 @@ SONIC_CACHE_CLEAN_TARGETS = $(addsuffix -clean,$(addprefix $(TARGET_PATH)/, \
|
|||||||
$(SONIC_DOCKER_IMAGES) \
|
$(SONIC_DOCKER_IMAGES) \
|
||||||
$(SONIC_DOCKER_DBG_IMAGES) \
|
$(SONIC_DOCKER_DBG_IMAGES) \
|
||||||
$(SONIC_SIMPLE_DOCKER_IMAGES) \
|
$(SONIC_SIMPLE_DOCKER_IMAGES) \
|
||||||
$(SONIC_RFS_TARGETS) \
|
|
||||||
$(SONIC_INSTALLERS)))
|
$(SONIC_INSTALLERS)))
|
||||||
$(SONIC_CACHE_CLEAN_TARGETS) :: $(TARGET_PATH)/%-clean : .platform
|
$(SONIC_CACHE_CLEAN_TARGETS) :: $(TARGET_PATH)/%-clean : .platform
|
||||||
@rm -f $($*_DEP_FLAGS_FILE) $($*_MOD_HASH_FILE) $($*_SMOD_HASH_FILE) \
|
@rm -f $($*_DEP_FLAGS_FILE) $($*_MOD_HASH_FILE) $($*_SMOD_HASH_FILE) \
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
#
|
#
|
||||||
# * PLATFORM: Specific platform we wish to build images for.
|
# * PLATFORM: Specific platform we wish to build images for.
|
||||||
# * BUILD_NUMBER: Desired version-number to pass to the building-system.
|
# * BUILD_NUMBER: Desired version-number to pass to the building-system.
|
||||||
|
# * ENABLE_DHCP_GRAPH_SERVICE: Enables get-graph service to fetch minigraph files
|
||||||
|
# through http.
|
||||||
# * ENABLE_ZTP: Enables zero touch provisioning.
|
# * ENABLE_ZTP: Enables zero touch provisioning.
|
||||||
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
|
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
|
||||||
# * INCLUDE_KUBERNETES: Allows including Kubernetes
|
# * INCLUDE_KUBERNETES: Allows including Kubernetes
|
||||||
@ -38,9 +40,6 @@
|
|||||||
# * ENABLE_NATIVE_WRITE: Enable native write/config operations via the gNMI interface.
|
# * ENABLE_NATIVE_WRITE: Enable native write/config operations via the gNMI interface.
|
||||||
# * Default: unset
|
# * Default: unset
|
||||||
# * Values: y
|
# * Values: y
|
||||||
# * ENABLE_DIALOUT: Enable dialout client in telemetry.
|
|
||||||
# * Default: unset
|
|
||||||
# * Values: y
|
|
||||||
# * SONIC_DPKG_CACHE_METHOD: Specifying method of obtaining the Debian packages from cache: none or cache
|
# * SONIC_DPKG_CACHE_METHOD: Specifying method of obtaining the Debian packages from cache: none or cache
|
||||||
# * SONIC_DPKG_CACHE_SOURCE: Debian package cache location when cache enabled for debian packages
|
# * SONIC_DPKG_CACHE_SOURCE: Debian package cache location when cache enabled for debian packages
|
||||||
# * BUILD_LOG_TIMESTAMP: Set timestamp in the build log (simple/none)
|
# * BUILD_LOG_TIMESTAMP: Set timestamp in the build log (simple/none)
|
||||||
@ -70,7 +69,6 @@ USER := $(shell id -un)
|
|||||||
PWD := $(shell pwd)
|
PWD := $(shell pwd)
|
||||||
USER_LC := $(shell echo $(USER) | tr A-Z a-z)
|
USER_LC := $(shell echo $(USER) | tr A-Z a-z)
|
||||||
DOCKER_MACHINE := $(shell docker run --rm debian:buster uname -m)
|
DOCKER_MACHINE := $(shell docker run --rm debian:buster uname -m)
|
||||||
HOST_DOCKERD_GID := $(shell getent group docker | cut -d : -f3)
|
|
||||||
|
|
||||||
comma := ,
|
comma := ,
|
||||||
|
|
||||||
@ -123,9 +121,7 @@ else
|
|||||||
TARGET_BOOTLOADER = uboot
|
TARGET_BOOTLOADER = uboot
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BLDENV), bookworm)
|
ifeq ($(BLDENV), bullseye)
|
||||||
SLAVE_DIR = sonic-slave-bookworm
|
|
||||||
else ifeq ($(BLDENV), bullseye)
|
|
||||||
SLAVE_DIR = sonic-slave-bullseye
|
SLAVE_DIR = sonic-slave-bullseye
|
||||||
else ifeq ($(BLDENV), buster)
|
else ifeq ($(BLDENV), buster)
|
||||||
SLAVE_DIR = sonic-slave-buster
|
SLAVE_DIR = sonic-slave-buster
|
||||||
@ -151,10 +147,6 @@ ifeq ($(ENABLE_DOCKER_BASE_PULL),)
|
|||||||
override ENABLE_DOCKER_BASE_PULL = n
|
override ENABLE_DOCKER_BASE_PULL = n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(LEGACY_SONIC_MGMT_DOCKER),)
|
|
||||||
override LEGACY_SONIC_MGMT_DOCKER = y
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(GZ_COMPRESS_PROGRAM), pigz)
|
ifneq ($(GZ_COMPRESS_PROGRAM), pigz)
|
||||||
override GZ_COMPRESS_PROGRAM = gzip
|
override GZ_COMPRESS_PROGRAM = gzip
|
||||||
endif
|
endif
|
||||||
@ -184,19 +176,13 @@ DOCKER_ROOT = $(PWD)/fsroot.docker.$(BLDENV)
|
|||||||
|
|
||||||
# Support FIPS feature, armhf not supported yet
|
# Support FIPS feature, armhf not supported yet
|
||||||
ifeq ($(PLATFORM_ARCH),armhf)
|
ifeq ($(PLATFORM_ARCH),armhf)
|
||||||
INCLUDE_FIPS := n
|
ENABLE_FIPS_FEATURE := n
|
||||||
ENABLE_FIPS := n
|
ENABLE_FIPS := n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# FIPS not yet available on Bookworm
|
ifeq ($(ENABLE_FIPS_FEATURE), n)
|
||||||
ifeq ($(BLDENV),bookworm)
|
|
||||||
$(warning FIPS support not yet available on Bookworm)
|
|
||||||
INCLUDE_FIPS := n
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(INCLUDE_FIPS), n)
|
|
||||||
ifeq ($(ENABLE_FIPS), y)
|
ifeq ($(ENABLE_FIPS), y)
|
||||||
$(error Cannot set fips config ENABLE_FIPS=y when INCLUDE_FIPS=n)
|
$(error Cannot set fips config ENABLE_FIPS=y when ENABLE_FIPS_FEATURE=n)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -217,14 +203,13 @@ $(shell \
|
|||||||
SONIC_VERSION_CACHE_SOURCE=$(SONIC_VERSION_CACHE_SOURCE) \
|
SONIC_VERSION_CACHE_SOURCE=$(SONIC_VERSION_CACHE_SOURCE) \
|
||||||
DBGOPT='$(DBGOPT)' \
|
DBGOPT='$(DBGOPT)' \
|
||||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||||
PIP_HTTP_TIMEOUT=$(PIP_HTTP_TIMEOUT) \
|
|
||||||
scripts/generate_buildinfo_config.sh)
|
scripts/generate_buildinfo_config.sh)
|
||||||
|
|
||||||
# Generate the slave Dockerfile, and prepare build info for it
|
# Generate the slave Dockerfile, and prepare build info for it
|
||||||
$(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) \
|
$(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) \
|
||||||
MULTIARCH_QEMU_ENVIRON=$(MULTIARCH_QEMU_ENVIRON) \
|
MULTIARCH_QEMU_ENVIRON=$(MULTIARCH_QEMU_ENVIRON) \
|
||||||
CROSS_BUILD_ENVIRON=$(CROSS_BUILD_ENVIRON) \
|
CROSS_BUILD_ENVIRON=$(CROSS_BUILD_ENVIRON) \
|
||||||
INCLUDE_FIPS=$(INCLUDE_FIPS) \
|
ENABLE_FIPS_FEATURE=$(ENABLE_FIPS_FEATURE) \
|
||||||
DOCKER_EXTRA_OPTS=$(DOCKER_EXTRA_OPTS) \
|
DOCKER_EXTRA_OPTS=$(DOCKER_EXTRA_OPTS) \
|
||||||
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
||||||
GZ_COMPRESS_PROGRAM=$(GZ_COMPRESS_PROGRAM) \
|
GZ_COMPRESS_PROGRAM=$(GZ_COMPRESS_PROGRAM) \
|
||||||
@ -236,11 +221,9 @@ $(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) \
|
|||||||
j2 $(SLAVE_DIR)/Dockerfile.user.j2 > $(SLAVE_DIR)/Dockerfile.user)
|
j2 $(SLAVE_DIR)/Dockerfile.user.j2 > $(SLAVE_DIR)/Dockerfile.user)
|
||||||
|
|
||||||
ifeq ($(CROSS_BUILD_ENVIRON), y)
|
ifeq ($(CROSS_BUILD_ENVIRON), y)
|
||||||
$(shell SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
$(shell MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV))
|
||||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV))
|
|
||||||
endif
|
endif
|
||||||
$(shell SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
$(shell MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV))
|
||||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV))
|
|
||||||
|
|
||||||
PREPARE_DOCKER=BUILD_SLAVE=y \
|
PREPARE_DOCKER=BUILD_SLAVE=y \
|
||||||
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
||||||
@ -391,7 +374,7 @@ endif
|
|||||||
|
|
||||||
ifeq ($(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD), y)
|
ifeq ($(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD), y)
|
||||||
ifneq ($(MULTIARCH_QEMU_ENVIRON), y)
|
ifneq ($(MULTIARCH_QEMU_ENVIRON), y)
|
||||||
DOCKER_RUN += -v /var/run/docker.sock:/var/run/docker.sock --group-add $(HOST_DOCKERD_GID)
|
DOCKER_RUN += -v /var/run/docker.sock:/var/run/docker.sock
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -521,13 +504,13 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
|||||||
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
||||||
SONIC_IMAGE_VERSION=$(SONIC_IMAGE_VERSION) \
|
SONIC_IMAGE_VERSION=$(SONIC_IMAGE_VERSION) \
|
||||||
SLAVE_TAG=$(SLAVE_TAG) \
|
SLAVE_TAG=$(SLAVE_TAG) \
|
||||||
|
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
||||||
ENABLE_ZTP=$(ENABLE_ZTP) \
|
ENABLE_ZTP=$(ENABLE_ZTP) \
|
||||||
INCLUDE_PDE=$(INCLUDE_PDE) \
|
INCLUDE_PDE=$(INCLUDE_PDE) \
|
||||||
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
|
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
|
||||||
INCLUDE_KUBERNETES=$(INCLUDE_KUBERNETES) \
|
INCLUDE_KUBERNETES=$(INCLUDE_KUBERNETES) \
|
||||||
KUBERNETES_VERSION=$(KUBERNETES_VERSION) \
|
KUBERNETES_VERSION=$(KUBERNETES_VERSION) \
|
||||||
KUBERNETES_CNI_VERSION=$(KUBERNETES_CNI_VERSION) \
|
KUBERNETES_CNI_VERSION=$(KUBERNETES_CNI_VERSION) \
|
||||||
KUBERNETES_CRI_TOOLS_VERSION=$(KUBERNETES_CRI_TOOLS_VERSION) \
|
|
||||||
K8s_GCR_IO_PAUSE_VERSION=$(K8s_GCR_IO_PAUSE_VERSION) \
|
K8s_GCR_IO_PAUSE_VERSION=$(K8s_GCR_IO_PAUSE_VERSION) \
|
||||||
INCLUDE_KUBERNETES_MASTER=$(INCLUDE_KUBERNETES_MASTER) \
|
INCLUDE_KUBERNETES_MASTER=$(INCLUDE_KUBERNETES_MASTER) \
|
||||||
SONIC_ENABLE_PFCWD_ON_START=$(ENABLE_PFCWD_ON_START) \
|
SONIC_ENABLE_PFCWD_ON_START=$(ENABLE_PFCWD_ON_START) \
|
||||||
@ -553,16 +536,12 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
|||||||
DOCKER_LOCKFILE_SAVE=$(DOCKER_LOCKFILE_SAVE) \
|
DOCKER_LOCKFILE_SAVE=$(DOCKER_LOCKFILE_SAVE) \
|
||||||
SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD=$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) \
|
SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD=$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) \
|
||||||
SONIC_INCLUDE_SYSTEM_TELEMETRY=$(INCLUDE_SYSTEM_TELEMETRY) \
|
SONIC_INCLUDE_SYSTEM_TELEMETRY=$(INCLUDE_SYSTEM_TELEMETRY) \
|
||||||
SONIC_INCLUDE_SYSTEM_GNMI=$(INCLUDE_SYSTEM_GNMI) \
|
|
||||||
SONIC_INCLUDE_SYSTEM_EVENTD=$(INCLUDE_SYSTEM_EVENTD) \
|
|
||||||
INCLUDE_DHCP_RELAY=$(INCLUDE_DHCP_RELAY) \
|
INCLUDE_DHCP_RELAY=$(INCLUDE_DHCP_RELAY) \
|
||||||
INCLUDE_DHCP_SERVER=$(INCLUDE_DHCP_SERVER) \
|
|
||||||
INCLUDE_MACSEC=$(INCLUDE_MACSEC) \
|
INCLUDE_MACSEC=$(INCLUDE_MACSEC) \
|
||||||
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \
|
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \
|
||||||
SONIC_INCLUDE_MUX=$(INCLUDE_MUX) \
|
SONIC_INCLUDE_MUX=$(INCLUDE_MUX) \
|
||||||
ENABLE_TRANSLIB_WRITE=$(ENABLE_TRANSLIB_WRITE) \
|
ENABLE_TRANSLIB_WRITE=$(ENABLE_TRANSLIB_WRITE) \
|
||||||
ENABLE_NATIVE_WRITE=$(ENABLE_NATIVE_WRITE) \
|
ENABLE_NATIVE_WRITE=$(ENABLE_NATIVE_WRITE) \
|
||||||
ENABLE_DIALOUT=$(ENABLE_DIALOUT) \
|
|
||||||
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
|
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
|
||||||
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
|
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
|
||||||
SONIC_ENABLE_IMAGE_SIGNATURE=$(ENABLE_IMAGE_SIGNATURE) \
|
SONIC_ENABLE_IMAGE_SIGNATURE=$(ENABLE_IMAGE_SIGNATURE) \
|
||||||
@ -580,7 +559,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
|||||||
ENABLE_ASAN=$(ENABLE_ASAN) \
|
ENABLE_ASAN=$(ENABLE_ASAN) \
|
||||||
SONIC_INCLUDE_BOOTCHART=$(INCLUDE_BOOTCHART) \
|
SONIC_INCLUDE_BOOTCHART=$(INCLUDE_BOOTCHART) \
|
||||||
SONIC_ENABLE_BOOTCHART=$(ENABLE_BOOTCHART) \
|
SONIC_ENABLE_BOOTCHART=$(ENABLE_BOOTCHART) \
|
||||||
INCLUDE_FIPS=$(INCLUDE_FIPS) \
|
ENABLE_FIPS_FEATURE=$(ENABLE_FIPS_FEATURE) \
|
||||||
ENABLE_FIPS=$(ENABLE_FIPS) \
|
ENABLE_FIPS=$(ENABLE_FIPS) \
|
||||||
SONIC_SLAVE_DOCKER_DRIVER=$(SONIC_SLAVE_DOCKER_DRIVER) \
|
SONIC_SLAVE_DOCKER_DRIVER=$(SONIC_SLAVE_DOCKER_DRIVER) \
|
||||||
MIRROR_URLS=$(MIRROR_URLS) \
|
MIRROR_URLS=$(MIRROR_URLS) \
|
||||||
@ -588,10 +567,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
|||||||
GZ_COMPRESS_PROGRAM=$(GZ_COMPRESS_PROGRAM) \
|
GZ_COMPRESS_PROGRAM=$(GZ_COMPRESS_PROGRAM) \
|
||||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||||
SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
||||||
ONIE_IMAGE_PART_SIZE=$(ONIE_IMAGE_PART_SIZE) \
|
|
||||||
SONIC_OS_VERSION=$(SONIC_OS_VERSION) \
|
SONIC_OS_VERSION=$(SONIC_OS_VERSION) \
|
||||||
PIP_HTTP_TIMEOUT=$(PIP_HTTP_TIMEOUT) \
|
|
||||||
LEGACY_SONIC_MGMT_DOCKER=$(LEGACY_SONIC_MGMT_DOCKER) \
|
|
||||||
$(SONIC_OVERRIDE_BUILD_VARS)
|
$(SONIC_OVERRIDE_BUILD_VARS)
|
||||||
|
|
||||||
.PHONY: sonic-slave-build sonic-slave-bash init reset
|
.PHONY: sonic-slave-build sonic-slave-bash init reset
|
||||||
@ -614,7 +590,6 @@ export MIRROR_URLS
|
|||||||
export MIRROR_SECURITY_URLS
|
export MIRROR_SECURITY_URLS
|
||||||
export MIRROR_SNAPSHOT
|
export MIRROR_SNAPSHOT
|
||||||
export SONIC_VERSION_CONTROL_COMPONENTS
|
export SONIC_VERSION_CONTROL_COMPONENTS
|
||||||
export PIP_HTTP_TIMEOUT
|
|
||||||
|
|
||||||
%:: | sonic-build-hooks
|
%:: | sonic-build-hooks
|
||||||
ifneq ($(filter y, $(MULTIARCH_QEMU_ENVIRON) $(CROSS_BUILD_ENVIRON)),)
|
ifneq ($(filter y, $(MULTIARCH_QEMU_ENVIRON) $(CROSS_BUILD_ENVIRON)),)
|
||||||
|
41
README.md
41
README.md
@ -7,34 +7,9 @@
|
|||||||
[![Innovium](https://dev.azure.com/mssonic/build/_apis/build/status/innovium/Azure.sonic-buildimage.official.innovium?branchName=master&label=Innovium)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=148&branchName=master)
|
[![Innovium](https://dev.azure.com/mssonic/build/_apis/build/status/innovium/Azure.sonic-buildimage.official.innovium?branchName=master&label=Innovium)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=148&branchName=master)
|
||||||
[![Mellanox](https://dev.azure.com/mssonic/build/_apis/build/status/mellanox/Azure.sonic-buildimage.official.mellanox?branchName=master&label=Mellanox)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=139&branchName=master)
|
[![Mellanox](https://dev.azure.com/mssonic/build/_apis/build/status/mellanox/Azure.sonic-buildimage.official.mellanox?branchName=master&label=Mellanox)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=139&branchName=master)
|
||||||
[![Marvell(armhf)](https://dev.azure.com/mssonic/build/_apis/build/status/marvell/Azure.sonic-buildimage.official.marvell-armhf?branchName=master&label=Marvell-armhf)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=141&branchName=master)
|
[![Marvell(armhf)](https://dev.azure.com/mssonic/build/_apis/build/status/marvell/Azure.sonic-buildimage.official.marvell-armhf?branchName=master&label=Marvell-armhf)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=141&branchName=master)
|
||||||
[![Marvell(arm64)](https://dev.azure.com/mssonic/build/_apis/build/status/marvell/Azure.sonic-buildimage.official.marvell-arm64?branchName=master&label=Marvell-arm64)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=999&branchName=master)
|
|
||||||
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=master&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=master)
|
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=master&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=master)
|
||||||
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=master&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=master)
|
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=master&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=master)
|
||||||
|
|
||||||
*202305 builds*:
|
|
||||||
|
|
||||||
[![Barefoot](https://dev.azure.com/mssonic/build/_apis/build/status/barefoot/Azure.sonic-buildimage.official.barefoot?branchName=202205&label=Barefoot)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=146&branchName=202305)
|
|
||||||
[![Broadcom](https://dev.azure.com/mssonic/build/_apis/build/status/broadcom/Azure.sonic-buildimage.official.broadcom?branchName=202305&label=Broadcom)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=138&branchName=202305)
|
|
||||||
[![Centec](https://dev.azure.com/mssonic/build/_apis/build/status/centec/Azure.sonic-buildimage.official.centec?branchName=202305&label=Centec)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=143&branchName=202305)
|
|
||||||
[![Centec(arm64)](https://dev.azure.com/mssonic/build/_apis/build/status/centec/Azure.sonic-buildimage.official.centec-arm64?branchName=202305&label=Centec-arm64)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=140&branchName=202305)
|
|
||||||
[![Innovium](https://dev.azure.com/mssonic/build/_apis/build/status/innovium/Azure.sonic-buildimage.official.innovium?branchName=202305&label=Innovium)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=148&branchName=202305)
|
|
||||||
[![Mellanox](https://dev.azure.com/mssonic/build/_apis/build/status/mellanox/Azure.sonic-buildimage.official.mellanox?branchName=202305&label=Mellanox)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=139&branchName=202305)
|
|
||||||
[![Marvell(armhf)](https://dev.azure.com/mssonic/build/_apis/build/status/marvell/Azure.sonic-buildimage.official.marvell-armhf?branchName=202305&label=Marvell-armhf)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=141&branchName=202305)
|
|
||||||
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=202305&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=202305)
|
|
||||||
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=202305&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=202305)
|
|
||||||
|
|
||||||
*202211 builds*:
|
|
||||||
|
|
||||||
[![Barefoot](https://dev.azure.com/mssonic/build/_apis/build/status/barefoot/Azure.sonic-buildimage.official.barefoot?branchName=202205&label=Barefoot)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=146&branchName=202211)
|
|
||||||
[![Broadcom](https://dev.azure.com/mssonic/build/_apis/build/status/broadcom/Azure.sonic-buildimage.official.broadcom?branchName=202211&label=Broadcom)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=138&branchName=202211)
|
|
||||||
[![Centec](https://dev.azure.com/mssonic/build/_apis/build/status/centec/Azure.sonic-buildimage.official.centec?branchName=202211&label=Centec)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=143&branchName=202211)
|
|
||||||
[![Centec(arm64)](https://dev.azure.com/mssonic/build/_apis/build/status/centec/Azure.sonic-buildimage.official.centec-arm64?branchName=202211&label=Centec-arm64)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=140&branchName=202211)
|
|
||||||
[![Innovium](https://dev.azure.com/mssonic/build/_apis/build/status/innovium/Azure.sonic-buildimage.official.innovium?branchName=202211&label=Innovium)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=148&branchName=202211)
|
|
||||||
[![Mellanox](https://dev.azure.com/mssonic/build/_apis/build/status/mellanox/Azure.sonic-buildimage.official.mellanox?branchName=202211&label=Mellanox)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=139&branchName=202211)
|
|
||||||
[![Marvell(armhf)](https://dev.azure.com/mssonic/build/_apis/build/status/marvell/Azure.sonic-buildimage.official.marvell-armhf?branchName=202211&label=Marvell-armhf)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=141&branchName=202211)
|
|
||||||
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=202211&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=202211)
|
|
||||||
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=202211&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=202211)
|
|
||||||
|
|
||||||
*202205 builds*:
|
*202205 builds*:
|
||||||
|
|
||||||
[![Barefoot](https://dev.azure.com/mssonic/build/_apis/build/status/barefoot/Azure.sonic-buildimage.official.barefoot?branchName=202205&label=Barefoot)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=146&branchName=202205)
|
[![Barefoot](https://dev.azure.com/mssonic/build/_apis/build/status/barefoot/Azure.sonic-buildimage.official.barefoot?branchName=202205&label=Barefoot)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=146&branchName=202205)
|
||||||
@ -80,6 +55,14 @@
|
|||||||
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=201911&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=201911)
|
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=201911&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=201911)
|
||||||
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=201911&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=201911)
|
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=201911&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=201911)
|
||||||
|
|
||||||
|
*201811 builds*:
|
||||||
|
|
||||||
|
[![Broadcom](https://dev.azure.com/mssonic/build/_apis/build/status/broadcom/Azure.sonic-buildimage.official.broadcom?branchName=201811&label=Broadcom)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=138&branchName=201811)
|
||||||
|
[![Mellanox](https://dev.azure.com/mssonic/build/_apis/build/status/mellanox/Azure.sonic-buildimage.official.mellanox?branchName=201811&label=Mellanox)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=139&branchName=201811)
|
||||||
|
[![Innovium](https://dev.azure.com/mssonic/build/_apis/build/status/innovium/Azure.sonic-buildimage.official.innovium?branchName=201811&label=Innovium)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=148&branchName=201811)
|
||||||
|
[![Nephos](https://dev.azure.com/mssonic/build/_apis/build/status/nephos/Azure.sonic-buildimage.official.nephos?branchName=201811&label=Nephos)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=149&branchName=201811)
|
||||||
|
[![VS](https://dev.azure.com/mssonic/build/_apis/build/status/vs/Azure.sonic-buildimage.official.vs?branchName=201811&label=VS)](https://dev.azure.com/mssonic/build/_build/latest?definitionId=142&branchName=201811)
|
||||||
|
|
||||||
# sonic-buildimage
|
# sonic-buildimage
|
||||||
|
|
||||||
## Build SONiC Switch Images
|
## Build SONiC Switch Images
|
||||||
@ -123,7 +106,6 @@ pip3 install --user j2cli
|
|||||||
system to allow running the 'docker' command without 'sudo':
|
system to allow running the 'docker' command without 'sudo':
|
||||||
* Add current user to the docker group: `sudo gpasswd -a ${USER} docker`
|
* Add current user to the docker group: `sudo gpasswd -a ${USER} docker`
|
||||||
* Log out and log back in so that your group membership is re-evaluated
|
* Log out and log back in so that your group membership is re-evaluated
|
||||||
* If you are using Linux kernel 5.3 or newer, then you must use Docker 20.10.10 or newer. This is because older Docker versions did not allow the `clone3` syscall, which is now used in Bookworm.
|
|
||||||
|
|
||||||
> Note: If a previous installation of Docker using snap was present on the
|
> Note: If a previous installation of Docker using snap was present on the
|
||||||
> system, remove it and also remove docker from snap before reinstallating docker.
|
> system, remove it and also remove docker from snap before reinstallating docker.
|
||||||
@ -180,6 +162,9 @@ The supported ASIC vendors are:
|
|||||||
|
|
||||||
## Usage for ARM Architecture
|
## Usage for ARM Architecture
|
||||||
|
|
||||||
|
ARM build has dependency in docker version 18.
|
||||||
|
If docker version is 19, downgrade to 18 with:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo apt-get install --allow-downgrades -y docker-ce=5:18.09.0~3-0~ubuntu-xenial
|
sudo apt-get install --allow-downgrades -y docker-ce=5:18.09.0~3-0~ubuntu-xenial
|
||||||
sudo apt-get install --allow-downgrades -y docker-ce-cli=5:18.09.0~3-0~ubuntu-xenial
|
sudo apt-get install --allow-downgrades -y docker-ce-cli=5:18.09.0~3-0~ubuntu-xenial
|
||||||
@ -343,10 +328,6 @@ on the SAI version for each SONiC release.
|
|||||||
[managing, configuring and monitoring SONiC](https://github.com/sonic-net/sonic-mgmt)
|
[managing, configuring and monitoring SONiC](https://github.com/sonic-net/sonic-mgmt)
|
||||||
(gzip tar archive)
|
(gzip tar archive)
|
||||||
|
|
||||||
## SONiC Image Azure Pipelines
|
|
||||||
|
|
||||||
All SONiC project build pipeline could be found at [Download Portal for SONiC Images](https://sonic-build.azurewebsites.net)
|
|
||||||
|
|
||||||
## Contribution Guide
|
## Contribution Guide
|
||||||
|
|
||||||
All contributors must sign a contribution license agreement before contributions
|
All contributors must sign a contribution license agreement before contributions
|
||||||
|
@ -28,7 +28,6 @@ resources:
|
|||||||
- repository: sonic-mgmt
|
- repository: sonic-mgmt
|
||||||
type: github
|
type: github
|
||||||
name: sonic-net/sonic-mgmt
|
name: sonic-net/sonic-mgmt
|
||||||
ref: master
|
|
||||||
endpoint: sonic-net
|
endpoint: sonic-net
|
||||||
- repository: buildimage
|
- repository: buildimage
|
||||||
type: github
|
type: github
|
||||||
@ -42,12 +41,7 @@ variables:
|
|||||||
- name: CACHE_MODE
|
- name: CACHE_MODE
|
||||||
value: rcache
|
value: rcache
|
||||||
- name: ENABLE_FIPS
|
- name: ENABLE_FIPS
|
||||||
value: n
|
value: y
|
||||||
- name: BUILD_BRANCH
|
|
||||||
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
|
||||||
value: $(System.PullRequest.TargetBranch)
|
|
||||||
${{ else }}:
|
|
||||||
value: $(Build.SourceBranchName)
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: BuildVS
|
- stage: BuildVS
|
||||||
@ -55,12 +49,14 @@ stages:
|
|||||||
jobs:
|
jobs:
|
||||||
- template: .azure-pipelines/azure-pipelines-build.yml
|
- template: .azure-pipelines/azure-pipelines-build.yml
|
||||||
parameters:
|
parameters:
|
||||||
buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) BUILD_MULTIASIC_KVM=y INCLUDE_DHCP_SERVER=y ${{ variables.VERSION_CONTROL_OPTIONS }}'
|
buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) BUILD_MULTIASIC_KVM=y ${{ variables.VERSION_CONTROL_OPTIONS }}'
|
||||||
jobGroups:
|
jobGroups:
|
||||||
- name: vs
|
- name: vs
|
||||||
|
|
||||||
- stage: Build
|
- stage: Build
|
||||||
pool: sonicbld
|
pool: sonicbld
|
||||||
|
variables:
|
||||||
|
INSTALL_DEBUG_TOOLS: y
|
||||||
dependsOn: []
|
dependsOn: []
|
||||||
jobs:
|
jobs:
|
||||||
- template: .azure-pipelines/azure-pipelines-build.yml
|
- template: .azure-pipelines/azure-pipelines-build.yml
|
||||||
@ -70,28 +66,18 @@ stages:
|
|||||||
- name: broadcom
|
- name: broadcom
|
||||||
variables:
|
variables:
|
||||||
swi_image: yes
|
swi_image: yes
|
||||||
INCLUDE_RESTAPI: y
|
|
||||||
- name: mellanox
|
- name: mellanox
|
||||||
variables:
|
|
||||||
dbg_image: yes
|
|
||||||
docker_syncd_rpc_image: yes
|
|
||||||
platform_rpc: mlnx
|
|
||||||
- name: marvell-arm64
|
|
||||||
pool: sonicbld-arm64
|
|
||||||
variables:
|
|
||||||
PLATFORM_ARCH: arm64
|
|
||||||
- name: marvell-armhf
|
- name: marvell-armhf
|
||||||
pool: sonicbld-armhf
|
pool: sonicbld-armhf
|
||||||
timeoutInMinutes: 1200
|
timeoutInMinutes: 1200
|
||||||
variables:
|
variables:
|
||||||
PLATFORM_ARCH: armhf
|
PLATFORM_ARCH: armhf
|
||||||
INCLUDE_RESTAPI: y
|
|
||||||
|
|
||||||
- stage: Test
|
- stage: Test
|
||||||
dependsOn: BuildVS
|
dependsOn: BuildVS
|
||||||
condition: and(succeeded(), and(ne(stageDependencies.BuildVS.outputs['vs.SetVar.SKIP_VSTEST'], 'YES'), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues')))
|
condition: and(succeeded(), and(ne(stageDependencies.BuildVS.outputs['vs.SetVar.SKIP_VSTEST'], 'YES'), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues')))
|
||||||
variables:
|
variables:
|
||||||
- group: SONiC-Elastictest
|
- group: Testbed-Tools
|
||||||
- name: inventory
|
- name: inventory
|
||||||
value: veos_vtb
|
value: veos_vtb
|
||||||
- name: testbed_file
|
- name: testbed_file
|
||||||
@ -118,30 +104,27 @@ stages:
|
|||||||
sudo rm -rf ../*.deb
|
sudo rm -rf ../*.deb
|
||||||
displayName: "Cleanup"
|
displayName: "Cleanup"
|
||||||
|
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
inputs:
|
||||||
|
source: specific
|
||||||
|
project: build
|
||||||
|
pipeline: 9
|
||||||
|
artifact: sonic-swss-common.amd64.ubuntu20_04
|
||||||
|
runVersion: 'latestFromBranch'
|
||||||
|
runBranch: 'refs/heads/master'
|
||||||
|
displayName: "Download sonic swss common deb packages"
|
||||||
|
|
||||||
- task: DownloadPipelineArtifact@2
|
- task: DownloadPipelineArtifact@2
|
||||||
inputs:
|
inputs:
|
||||||
artifact: sonic-buildimage.vs
|
artifact: sonic-buildimage.vs
|
||||||
displayName: "Download sonic-buildimage.vs artifact"
|
displayName: "Download sonic-buildimage.vs artifact"
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
sudo src/sonic-swss-common/.azure-pipelines/build_and_install_module.sh
|
set -x
|
||||||
displayName: "Install kernel modules"
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y make libtool m4 autoconf dh-exec debhelper cmake pkg-config \
|
sudo apt-get install libyang0.16 -y
|
||||||
libhiredis-dev libnl-3-dev libnl-genl-3-dev libnl-route-3-dev libnl-nf-3-dev swig \
|
sudo dpkg -i --force-confask,confnew ../libswsscommon_1.0.0_amd64.deb
|
||||||
libpython2.7-dev libboost-dev libboost-serialization-dev uuid-dev libzmq5 libzmq3-dev python3-pip \
|
sudo dpkg -i ../python3-swsscommon_1.0.0_amd64.deb
|
||||||
cmake libgtest-dev libgmock-dev libyang-dev nlohmann-json3-dev
|
|
||||||
sudo pip3 install pytest
|
|
||||||
cd src/sonic-swss-common
|
|
||||||
./autogen.sh
|
|
||||||
dpkg-buildpackage -rfakeroot -us -uc -b -j$(nproc)
|
|
||||||
sudo dpkg -i --force-confask,confnew ../libswsscommon_*.deb
|
|
||||||
sudo dpkg -i ../python3-swsscommon_*.deb
|
|
||||||
displayName: "Compile sonic swss common"
|
|
||||||
|
|
||||||
- script: |
|
|
||||||
sudo docker load -i ../target/docker-sonic-vs.gz
|
sudo docker load -i ../target/docker-sonic-vs.gz
|
||||||
docker tag docker-sonic-vs:latest docker-sonic-vs:$(Build.BuildNumber)
|
docker tag docker-sonic-vs:latest docker-sonic-vs:$(Build.BuildNumber)
|
||||||
username=$(id -un)
|
username=$(id -un)
|
||||||
@ -160,115 +143,180 @@ stages:
|
|||||||
testResultsFiles: '**/tr.xml'
|
testResultsFiles: '**/tr.xml'
|
||||||
testRunTitle: vstest
|
testRunTitle: vstest
|
||||||
|
|
||||||
- job: t0_elastictest
|
- job: t0_part1
|
||||||
pool: ubuntu-20.04
|
pool: sonictest
|
||||||
displayName: "kvmtest-t0 by Elastictest"
|
displayName: "kvmtest-t0-part1"
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 400
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-template.yml
|
||||||
|
parameters:
|
||||||
|
dut: vlab-01
|
||||||
|
tbname: vms-kvm-t0
|
||||||
|
ptf_name: ptf_vms6-1
|
||||||
|
tbtype: t0
|
||||||
|
vmtype: ceos
|
||||||
|
section: part-1
|
||||||
|
|
||||||
|
- job: t0_part2
|
||||||
|
pool: sonictest
|
||||||
|
displayName: "kvmtest-t0-part2"
|
||||||
|
timeoutInMinutes: 400
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
|
steps:
|
||||||
|
- template: .azure-pipelines/run-test-template.yml
|
||||||
|
parameters:
|
||||||
|
dut: vlab-01
|
||||||
|
tbname: vms-kvm-t0
|
||||||
|
ptf_name: ptf_vms6-1
|
||||||
|
tbtype: t0
|
||||||
|
vmtype: ceos
|
||||||
|
section: part-2
|
||||||
|
|
||||||
|
- job: t0_testbedv2
|
||||||
|
pool: ubuntu-20.04
|
||||||
|
displayName: "kvmtest-t0 by TestbedV2"
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
|
steps:
|
||||||
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: t0
|
TOPOLOGY: t0
|
||||||
MIN_WORKER: $(T0_INSTANCE_NUM)
|
MIN_WORKER: $(T0_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T0_INSTANCE_NUM)
|
MAX_WORKER: $(T0_INSTANCE_NUM)
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
|
||||||
|
|
||||||
- job: t0_2vlans_elastictest
|
- job: t0_2vlans_testbedv2
|
||||||
pool: ubuntu-20.04
|
pool: ubuntu-20.04
|
||||||
displayName: "kvmtest-t0-2vlans by Elastictest"
|
displayName: "kvmtest-t0-2vlans by TestbedV2"
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: t0
|
TOPOLOGY: t0
|
||||||
TEST_SET: t0-2vlans
|
TEST_SET: t0-2vlans
|
||||||
MIN_WORKER: $(T0_2VLANS_INSTANCE_NUM)
|
MIN_WORKER: $(T0_2VLANS_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T0_2VLANS_INSTANCE_NUM)
|
MAX_WORKER: $(T0_2VLANS_INSTANCE_NUM)
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
|
||||||
DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a"
|
DEPLOY_MG_EXTRA_PARAMS: "-e vlan_config=two_vlan_a"
|
||||||
|
|
||||||
- job: t1_lag_elastictest
|
- job: t1_lag_classic
|
||||||
pool: ubuntu-20.04
|
pool: sonictest-t1-lag
|
||||||
displayName: "kvmtest-t1-lag by Elastictest"
|
displayName: "kvmtest-t1-lag classic"
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 400
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-template.yml
|
||||||
|
parameters:
|
||||||
|
dut: vlab-03
|
||||||
|
tbname: vms-kvm-t1-lag
|
||||||
|
ptf_name: ptf_vms6-2
|
||||||
|
tbtype: t1-lag
|
||||||
|
vmtype: ceos
|
||||||
|
|
||||||
|
- job: t1_lag_testbedv2
|
||||||
|
pool: ubuntu-20.04
|
||||||
|
displayName: "kvmtest-t1-lag by TestbedV2"
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
|
steps:
|
||||||
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: t1-lag
|
TOPOLOGY: t1-lag
|
||||||
MIN_WORKER: $(T1_LAG_INSTANCE_NUM)
|
MIN_WORKER: $(T1_LAG_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T1_LAG_INSTANCE_NUM)
|
MAX_WORKER: $(T1_LAG_INSTANCE_NUM)
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
|
||||||
|
|
||||||
- job: multi_asic_elastictest
|
- job:
|
||||||
displayName: "kvmtest-multi-asic-t1-lag by Elastictest"
|
pool: sonictest-sonic-t0
|
||||||
pool: ubuntu-20.04
|
displayName: "kvmtest-t0-sonic"
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 360
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-template.yml
|
||||||
|
parameters:
|
||||||
|
dut: vlab-02
|
||||||
|
tbname: vms-kvm-t0-64-32
|
||||||
|
ptf_name: ptf_vms6-1
|
||||||
|
tbtype: t0-sonic
|
||||||
|
vmtype: vsonic
|
||||||
|
|
||||||
|
- job:
|
||||||
|
pool: sonictest-ma
|
||||||
|
displayName: "kvmtest-multi-asic-t1-lag"
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
|
steps:
|
||||||
|
- template: .azure-pipelines/run-test-template.yml
|
||||||
|
parameters:
|
||||||
|
dut: vlab-08
|
||||||
|
tbname: vms-kvm-four-asic-t1-lag
|
||||||
|
ptf_name: ptf_vms6-4
|
||||||
|
tbtype: multi-asic-t1-lag-pr
|
||||||
|
image: sonic-4asic-vs.img.gz
|
||||||
|
|
||||||
|
- job: multi_asic_testbedv2
|
||||||
|
displayName: "kvmtest-multi-asic-t1-lag by TestbedV2"
|
||||||
|
pool: ubuntu-20.04
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
|
steps:
|
||||||
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: t1-8-lag
|
TOPOLOGY: t1-8-lag
|
||||||
TEST_SET: multi-asic-t1-lag
|
TEST_SET: multi-asic-t1-lag
|
||||||
MIN_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
MIN_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
MAX_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
||||||
NUM_ASIC: 4
|
NUM_ASIC: 4
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
|
||||||
|
|
||||||
- job: dualtor_elastictest
|
- job: dualtor_testbedv2
|
||||||
pool: ubuntu-20.04
|
pool: ubuntu-20.04
|
||||||
displayName: "kvmtest-dualtor-t0 by Elastictest"
|
displayName: "kvmtest-dualtor-t0 by TestbedV2"
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: dualtor
|
TOPOLOGY: dualtor
|
||||||
MIN_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
MIN_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
MAX_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
|
||||||
COMMON_EXTRA_PARAMS: "--disable_loganalyzer "
|
COMMON_EXTRA_PARAMS: "--disable_loganalyzer "
|
||||||
|
|
||||||
- job: sonic_t0_elastictest
|
- job: sonic_t0_testbedv2
|
||||||
displayName: "kvmtest-t0-sonic by Elastictest"
|
displayName: "kvmtest-t0-sonic by TestbedV2"
|
||||||
pool: ubuntu-20.04
|
pool: ubuntu-20.04
|
||||||
timeoutInMinutes: 240
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
continueOnError: false
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: t0-64-32
|
TOPOLOGY: t0-64-32
|
||||||
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||||
TEST_SET: t0-sonic
|
TEST_SET: t0-sonic
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"
|
||||||
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic "
|
|
||||||
VM_TYPE: vsonic
|
VM_TYPE: vsonic
|
||||||
|
SPECIFIED_PARAMS: '{\"test_pretest.py\":[\"--completeness_level=confident\",\"--allow_recover\"],\"test_posttest.py\":[\"--completeness_level=confident\",\"--allow_recover\"]}'
|
||||||
|
|
||||||
- job: dpu_elastictest
|
- job: wan_testbedv2
|
||||||
displayName: "kvmtest-dpu by Elastictest"
|
displayName: "kvmtest-wan by TestbedV2"
|
||||||
timeoutInMinutes: 240
|
|
||||||
continueOnError: false
|
|
||||||
pool: ubuntu-20.04
|
pool: ubuntu-20.04
|
||||||
|
timeoutInMinutes: 240
|
||||||
|
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||||
|
continueOnError: false
|
||||||
steps:
|
steps:
|
||||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||||
parameters:
|
parameters:
|
||||||
TOPOLOGY: dpu
|
TOPOLOGY: wan-pub
|
||||||
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
MIN_WORKER: $(WAN_INSTANCE_NUM)
|
||||||
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
MAX_WORKER: $(WAN_INSTANCE_NUM)
|
||||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
COMMON_EXTRA_PARAMS: "--skip_sanity "
|
||||||
|
|
||||||
|
|
||||||
# - job: wan_elastictest
|
|
||||||
# displayName: "kvmtest-wan by Elastictest"
|
|
||||||
# pool: ubuntu-20.04
|
|
||||||
# timeoutInMinutes: 240
|
|
||||||
# continueOnError: false
|
|
||||||
# steps:
|
|
||||||
# - template: .azure-pipelines/run-test-scheduler-template.yml
|
|
||||||
# parameters:
|
|
||||||
# TOPOLOGY: wan-pub
|
|
||||||
# MIN_WORKER: $(WAN_INSTANCE_NUM)
|
|
||||||
# MAX_WORKER: $(WAN_INSTANCE_NUM)
|
|
||||||
# COMMON_EXTRA_PARAMS: "--skip_sanity "
|
|
||||||
|
279
build_debian.sh
279
build_debian.sh
@ -31,9 +31,9 @@ set -x -e
|
|||||||
CONFIGURED_ARCH=$([ -f .arch ] && cat .arch || echo amd64)
|
CONFIGURED_ARCH=$([ -f .arch ] && cat .arch || echo amd64)
|
||||||
|
|
||||||
## docker engine version (with platform)
|
## docker engine version (with platform)
|
||||||
DOCKER_VERSION=5:24.0.2-1~debian.12~$IMAGE_DISTRO
|
DOCKER_VERSION=5:20.10.14~3-0~debian-$IMAGE_DISTRO
|
||||||
CONTAINERD_IO_VERSION=1.6.21-1
|
CONTAINERD_IO_VERSION=1.5.11-1
|
||||||
LINUX_KERNEL_VERSION=6.1.0-11-2
|
LINUX_KERNEL_VERSION=5.10.0-18-2
|
||||||
|
|
||||||
## Working directory to prepare the file system
|
## Working directory to prepare the file system
|
||||||
FILESYSTEM_ROOT=./fsroot
|
FILESYSTEM_ROOT=./fsroot
|
||||||
@ -50,8 +50,8 @@ TRUSTED_GPG_DIR=$BUILD_TOOL_PATH/trusted.gpg.d
|
|||||||
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
[ -n "$INSTALLER_PAYLOAD" ] || {
|
[ -n "$ONIE_INSTALLER_PAYLOAD" ] || {
|
||||||
echo "Error: Invalid INSTALLER_PAYLOAD in onie image config file"
|
echo "Error: Invalid ONIE_INSTALLER_PAYLOAD in onie image config file"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
[ -n "$FILESYSTEM_SQUASHFS" ] || {
|
[ -n "$FILESYSTEM_SQUASHFS" ] || {
|
||||||
@ -59,30 +59,23 @@ TRUSTED_GPG_DIR=$BUILD_TOOL_PATH/trusted.gpg.d
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$IMAGE_TYPE" = "aboot" ]; then
|
|
||||||
TARGET_BOOTLOADER="aboot"
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Check if not a last stage of RFS build
|
|
||||||
if [[ $RFS_SPLIT_LAST_STAGE != y ]]; then
|
|
||||||
|
|
||||||
## Prepare the file system directory
|
## Prepare the file system directory
|
||||||
if [[ -d $FILESYSTEM_ROOT ]]; then
|
if [[ -d $FILESYSTEM_ROOT ]]; then
|
||||||
sudo rm -rf $FILESYSTEM_ROOT || die "Failed to clean chroot directory"
|
sudo rm -rf $FILESYSTEM_ROOT || die "Failed to clean chroot directory"
|
||||||
fi
|
fi
|
||||||
mkdir -p $FILESYSTEM_ROOT
|
mkdir -p $FILESYSTEM_ROOT
|
||||||
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR
|
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR
|
||||||
|
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR/grub
|
||||||
touch $FILESYSTEM_ROOT/$PLATFORM_DIR/firsttime
|
touch $FILESYSTEM_ROOT/$PLATFORM_DIR/firsttime
|
||||||
|
|
||||||
bootloader_packages=""
|
|
||||||
if [ "$TARGET_BOOTLOADER" != "aboot" ]; then
|
|
||||||
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR/grub
|
|
||||||
bootloader_packages="grub2-common"
|
|
||||||
fi
|
|
||||||
|
|
||||||
## ensure proc is mounted
|
## ensure proc is mounted
|
||||||
sudo mount proc /proc -t proc || true
|
sudo mount proc /proc -t proc || true
|
||||||
|
|
||||||
|
## make / as a mountpoint in chroot env, needed by dockerd
|
||||||
|
pushd $FILESYSTEM_ROOT
|
||||||
|
sudo mount --bind . .
|
||||||
|
popd
|
||||||
|
|
||||||
## Build the host debian base system
|
## Build the host debian base system
|
||||||
echo '[INFO] Build host debian base system...'
|
echo '[INFO] Build host debian base system...'
|
||||||
TARGET_PATH=$TARGET_PATH scripts/build_debian_base_system.sh $CONFIGURED_ARCH $IMAGE_DISTRO $FILESYSTEM_ROOT
|
TARGET_PATH=$TARGET_PATH scripts/build_debian_base_system.sh $CONFIGURED_ARCH $IMAGE_DISTRO $FILESYSTEM_ROOT
|
||||||
@ -118,10 +111,9 @@ sudo LANG=C chroot $FILESYSTEM_ROOT mount
|
|||||||
[ -d $TRUSTED_GPG_DIR ] && [ ! -z "$(ls $TRUSTED_GPG_DIR)" ] && sudo cp $TRUSTED_GPG_DIR/* ${FILESYSTEM_ROOT}/etc/apt/trusted.gpg.d/
|
[ -d $TRUSTED_GPG_DIR ] && [ ! -z "$(ls $TRUSTED_GPG_DIR)" ] && sudo cp $TRUSTED_GPG_DIR/* ${FILESYSTEM_ROOT}/etc/apt/trusted.gpg.d/
|
||||||
|
|
||||||
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
|
## Pointing apt to public apt mirrors and getting latest packages, needed for latest security updates
|
||||||
scripts/build_mirror_config.sh files/apt $CONFIGURED_ARCH $IMAGE_DISTRO
|
scripts/build_mirror_config.sh files/apt $CONFIGURED_ARCH $IMAGE_DISTRO
|
||||||
sudo cp files/apt/sources.list.$CONFIGURED_ARCH $FILESYSTEM_ROOT/etc/apt/sources.list
|
sudo cp files/apt/sources.list.$CONFIGURED_ARCH $FILESYSTEM_ROOT/etc/apt/sources.list
|
||||||
sudo cp files/apt/apt-retries-count $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages},no-check-valid-until,apt-multiple-retries} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
||||||
sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-languages},no-check-valid-until} $FILESYSTEM_ROOT/etc/apt/apt.conf.d/
|
|
||||||
|
|
||||||
## Note: set lang to prevent locale warnings in your chroot
|
## Note: set lang to prevent locale warnings in your chroot
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
|
||||||
@ -256,40 +248,36 @@ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install apparmor
|
|||||||
sudo cp files/image_config/ntp/ntp-apparmor $FILESYSTEM_ROOT/etc/apparmor.d/local/usr.sbin.ntpd
|
sudo cp files/image_config/ntp/ntp-apparmor $FILESYSTEM_ROOT/etc/apparmor.d/local/usr.sbin.ntpd
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install apt-transport-https \
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install apt-transport-https \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl
|
curl \
|
||||||
|
gnupg2 \
|
||||||
|
software-properties-common
|
||||||
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
||||||
# update ssl ca certificates for secure pem
|
# update ssl ca certificates for secure pem
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT c_rehash
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT c_rehash
|
||||||
fi
|
fi
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/docker.asc -fsSL https://download.docker.com/linux/debian/gpg
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/docker.asc -fsSL https://download.docker.com/linux/debian/gpg
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mv /tmp/docker.asc /etc/apt/trusted.gpg.d/
|
sudo LANG=C chroot $FILESYSTEM_ROOT mv /tmp/docker.asc /etc/apt/trusted.gpg.d/
|
||||||
sudo tee $FILESYSTEM_ROOT/etc/apt/sources.list.d/docker.list >/dev/null <<EOF
|
sudo LANG=C chroot $FILESYSTEM_ROOT add-apt-repository \
|
||||||
deb [arch=$CONFIGURED_ARCH] https://download.docker.com/linux/debian $IMAGE_DISTRO stable
|
"deb [arch=$CONFIGURED_ARCH] https://download.docker.com/linux/debian $IMAGE_DISTRO stable"
|
||||||
EOF
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION} containerd.io=${CONTAINERD_IO_VERSION}
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION} containerd.io=${CONTAINERD_IO_VERSION}
|
||||||
|
|
||||||
|
# Uninstall 'python3-gi' installed as part of 'software-properties-common' to remove debian version of 'PyGObject'
|
||||||
|
# pip version of 'PyGObject' will be installed during installation of 'sonic-host-services'
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2 python3-gi
|
||||||
|
|
||||||
install_kubernetes () {
|
install_kubernetes () {
|
||||||
local ver="$1"
|
local ver="$1"
|
||||||
## Install k8s package from storage
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -fsSL \
|
||||||
local storage_prefix="https://sonicstorage.blob.core.windows.net/public/kubernetes"
|
https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/cri-tools.deb -fsSL \
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
||||||
${storage_prefix}/cri-tools_${KUBERNETES_CRI_TOOLS_VERSION}_${CONFIGURED_ARCH}.deb
|
## Check out the sources list update matches current Debian version
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubernetes-cni.deb -fsSL \
|
sudo cp files/image_config/kubernetes/kubernetes.list $FILESYSTEM_ROOT/etc/apt/sources.list.d/
|
||||||
${storage_prefix}/kubernetes-cni_${KUBERNETES_CNI_VERSION}_${CONFIGURED_ARCH}.deb
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubelet.deb -fsSL \
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubernetes-cni=${KUBERNETES_CNI_VERSION}
|
||||||
${storage_prefix}/kubelet_${ver}_${CONFIGURED_ARCH}.deb
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubelet=${ver}
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubectl.deb -fsSL \
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubectl=${ver}
|
||||||
${storage_prefix}/kubectl_${ver}_${CONFIGURED_ARCH}.deb
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubeadm=${ver}
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubeadm.deb -fsSL \
|
|
||||||
${storage_prefix}/kubeadm_${ver}_${CONFIGURED_ARCH}.deb
|
|
||||||
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/cri-tools.deb
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/kubernetes-cni.deb
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/kubelet.deb
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/kubectl.deb
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/kubeadm.deb
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT rm -f /tmp/{cri-tools,kubernetes-cni,kubelet,kubeadm,kubectl}.deb
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$INCLUDE_KUBERNETES" == "y" ]
|
if [ "$INCLUDE_KUBERNETES" == "y" ]
|
||||||
@ -306,11 +294,22 @@ then
|
|||||||
## Install Kubernetes master
|
## Install Kubernetes master
|
||||||
echo '[INFO] Install kubernetes master'
|
echo '[INFO] Install kubernetes master'
|
||||||
install_kubernetes ${MASTER_KUBERNETES_VERSION}
|
install_kubernetes ${MASTER_KUBERNETES_VERSION}
|
||||||
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install hyperv-daemons xmlstarlet parted netcat-openbsd
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -fsSL \
|
||||||
|
https://packages.microsoft.com/keys/microsoft.asc | \
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
||||||
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -fsSL \
|
||||||
|
https://packages.microsoft.com/keys/msopentech.asc | \
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
||||||
|
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azurecore-debian $IMAGE_DISTRO main" | \
|
||||||
|
sudo tee $FILESYSTEM_ROOT/etc/apt/sources.list.d/azure.list
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install hyperv-daemons gnupg xmlstarlet
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install metricsext2
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove gnupg
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/cri-dockerd.deb -fsSL \
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/cri-dockerd.deb -fsSL \
|
||||||
https://github.com/Mirantis/cri-dockerd/releases/download/v${MASTER_CRI_DOCKERD}/cri-dockerd_${MASTER_CRI_DOCKERD}.3-0.debian-${IMAGE_DISTRO}_amd64.deb
|
https://github.com/Mirantis/cri-dockerd/releases/download/v${MASTER_CRI_DOCKERD}/cri-dockerd_${MASTER_CRI_DOCKERD}.3-0.debian-${IMAGE_DISTRO}_amd64.deb
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/cri-dockerd.deb
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install -f /tmp/cri-dockerd.deb
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT rm -f /tmp/cri-dockerd.deb
|
sudo LANG=C chroot $FILESYSTEM_ROOT rm -f /tmp/cri-dockerd.deb
|
||||||
else
|
else
|
||||||
echo '[INFO] Skipping Install kubernetes master'
|
echo '[INFO] Skipping Install kubernetes master'
|
||||||
@ -376,14 +375,14 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
|||||||
gdisk \
|
gdisk \
|
||||||
sysfsutils \
|
sysfsutils \
|
||||||
squashfs-tools \
|
squashfs-tools \
|
||||||
$bootloader_packages \
|
grub2-common \
|
||||||
rsyslog \
|
|
||||||
screen \
|
screen \
|
||||||
hping3 \
|
hping3 \
|
||||||
tcptraceroute \
|
tcptraceroute \
|
||||||
mtr-tiny \
|
mtr-tiny \
|
||||||
locales \
|
locales \
|
||||||
cgroup-tools \
|
cgroup-tools \
|
||||||
|
ipmitool \
|
||||||
ndisc6 \
|
ndisc6 \
|
||||||
makedumpfile \
|
makedumpfile \
|
||||||
conntrack \
|
conntrack \
|
||||||
@ -392,20 +391,21 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
|||||||
python3-pip \
|
python3-pip \
|
||||||
python-is-python3 \
|
python-is-python3 \
|
||||||
cron \
|
cron \
|
||||||
libprotobuf32 \
|
libprotobuf23 \
|
||||||
libgrpc29 \
|
libgrpc++1 \
|
||||||
libgrpc++1.51 \
|
libgrpc10 \
|
||||||
haveged \
|
haveged \
|
||||||
fdisk \
|
fdisk \
|
||||||
gpg \
|
gpg \
|
||||||
jq \
|
jq \
|
||||||
auditd \
|
auditd \
|
||||||
linux-perf \
|
linux-perf \
|
||||||
resolvconf \
|
|
||||||
lsof \
|
lsof \
|
||||||
sysstat \
|
sysstat
|
||||||
xxd \
|
|
||||||
zstd
|
# default rsyslog version is 8.2110.0 which has a bug on log rate limit,
|
||||||
|
# use backport version
|
||||||
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -t bullseye-backports -y install rsyslog
|
||||||
|
|
||||||
# Have systemd create the auditd log directory
|
# Have systemd create the auditd log directory
|
||||||
sudo mkdir -p ${FILESYSTEM_ROOT}/etc/systemd/system/auditd.service.d
|
sudo mkdir -p ${FILESYSTEM_ROOT}/etc/systemd/system/auditd.service.d
|
||||||
@ -415,10 +415,6 @@ LogsDirectory=audit
|
|||||||
LogsDirectoryMode=0750
|
LogsDirectoryMode=0750
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# latest tcpdump control resource access with AppArmor.
|
|
||||||
# override tcpdump profile to allow tcpdump access TACACS config file.
|
|
||||||
sudo cp files/apparmor/usr.bin.tcpdump $FILESYSTEM_ROOT/etc/apparmor.d/local/usr.bin.tcpdump
|
|
||||||
|
|
||||||
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
if [[ $CONFIGURED_ARCH == amd64 ]]; then
|
||||||
## Pre-install the fundamental packages for amd64 (x86)
|
## Pre-install the fundamental packages for amd64 (x86)
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install \
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install \
|
||||||
@ -467,10 +463,6 @@ fi
|
|||||||
## 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
|
||||||
|
|
||||||
# Ensure that 'logrotate-config.service' is set as a dependency to start before 'logrotate.service'.
|
|
||||||
sudo mkdir $FILESYSTEM_ROOT/etc/systemd/system/logrotate.service.d
|
|
||||||
sudo cp files/image_config/logrotate/logrotateOverride.conf $FILESYSTEM_ROOT/etc/systemd/system/logrotate.service.d/logrotateOverride.conf
|
|
||||||
|
|
||||||
## 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/
|
||||||
@ -490,14 +482,10 @@ rm /files/etc/ssh/sshd_config/ClientAliveInterval
|
|||||||
rm /files/etc/ssh/sshd_config/ClientAliveCountMax
|
rm /files/etc/ssh/sshd_config/ClientAliveCountMax
|
||||||
touch /files/etc/ssh/sshd_config/EmptyLineHack
|
touch /files/etc/ssh/sshd_config/EmptyLineHack
|
||||||
rename /files/etc/ssh/sshd_config/EmptyLineHack ""
|
rename /files/etc/ssh/sshd_config/EmptyLineHack ""
|
||||||
set /files/etc/ssh/sshd_config/ClientAliveInterval 300
|
set /files/etc/ssh/sshd_config/ClientAliveInterval 900
|
||||||
set /files/etc/ssh/sshd_config/ClientAliveCountMax 0
|
set /files/etc/ssh/sshd_config/ClientAliveCountMax 0
|
||||||
ins #comment before /files/etc/ssh/sshd_config/ClientAliveInterval
|
ins #comment before /files/etc/ssh/sshd_config/ClientAliveInterval
|
||||||
set /files/etc/ssh/sshd_config/#comment[following-sibling::*[1][self::ClientAliveInterval]] "Close inactive client sessions after 5 minutes"
|
set /files/etc/ssh/sshd_config/#comment[following-sibling::*[1][self::ClientAliveInterval]] "Close inactive client sessions after 15 minutes"
|
||||||
rm /files/etc/ssh/sshd_config/MaxAuthTries
|
|
||||||
set /files/etc/ssh/sshd_config/MaxAuthTries 3
|
|
||||||
rm /files/etc/ssh/sshd_config/Banner
|
|
||||||
set /files/etc/ssh/sshd_config/Banner /etc/issue
|
|
||||||
rm /files/etc/ssh/sshd_config/LogLevel
|
rm /files/etc/ssh/sshd_config/LogLevel
|
||||||
set /files/etc/ssh/sshd_config/LogLevel VERBOSE
|
set /files/etc/ssh/sshd_config/LogLevel VERBOSE
|
||||||
save
|
save
|
||||||
@ -535,11 +523,13 @@ done < files/image_config/sysctl/sysctl-net.conf
|
|||||||
|
|
||||||
sudo augtool --autosave "$sysctl_net_cmd_string" -r $FILESYSTEM_ROOT
|
sudo augtool --autosave "$sysctl_net_cmd_string" -r $FILESYSTEM_ROOT
|
||||||
|
|
||||||
# Specify that we want to explicitly install Python packages into the system environment, and risk breakages
|
# Upgrade pip via PyPI and uninstall the Debian version
|
||||||
sudo cp files/image_config/pip/pip.conf $FILESYSTEM_ROOT/etc/pip.conf
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install --upgrade pip
|
||||||
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get purge -y python3-pip
|
||||||
|
|
||||||
# For building Python packages
|
# For building Python packages
|
||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install python3-setuptools python3-wheel
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'setuptools==49.6.00'
|
||||||
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'wheel==0.35.1'
|
||||||
|
|
||||||
# docker Python API package is needed by Ansible docker module as well as some SONiC applications
|
# docker Python API package is needed by Ansible docker module as well as some SONiC applications
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'docker==6.1.1'
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'docker==6.1.1'
|
||||||
@ -547,9 +537,6 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'docke
|
|||||||
# Install scapy
|
# Install scapy
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'scapy==2.4.4'
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'scapy==2.4.4'
|
||||||
|
|
||||||
# The option --no-build-isolation can be removed when upgrading PyYAML to 6.0.1
|
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip3 install 'PyYAML==5.4.1' --no-build-isolation
|
|
||||||
|
|
||||||
## Note: keep pip installed for maintainance purpose
|
## Note: keep pip installed for maintainance purpose
|
||||||
|
|
||||||
# Install GCC, needed for building/installing some Python packages
|
# Install GCC, needed for building/installing some Python packages
|
||||||
@ -572,80 +559,20 @@ sudo cp files/dhcp/sethostname6 $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
|||||||
sudo cp files/dhcp/graphserviceurl $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
sudo cp files/dhcp/graphserviceurl $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
||||||
sudo cp files/dhcp/snmpcommunity $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
sudo cp files/dhcp/snmpcommunity $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
||||||
sudo cp files/dhcp/vrf $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
sudo cp files/dhcp/vrf $FILESYSTEM_ROOT/etc/dhcp/dhclient-exit-hooks.d/
|
||||||
if [ -f files/image_config/ntp/ntpsec ]; then
|
if [ -f files/image_config/ntp/ntp ]; then
|
||||||
sudo cp ./files/image_config/ntp/ntpsec $FILESYSTEM_ROOT/etc/init.d/
|
sudo cp ./files/image_config/ntp/ntp $FILESYSTEM_ROOT/etc/init.d/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f files/image_config/ntp/ntp-systemd-wrapper ]; then
|
if [ -f files/image_config/ntp/ntp-systemd-wrapper ]; then
|
||||||
sudo cp ./files/image_config/ntp/ntp-systemd-wrapper $FILESYSTEM_ROOT/usr/libexec/ntpsec/
|
sudo mkdir -p $FILESYSTEM_ROOT/usr/lib/ntp/
|
||||||
|
sudo cp ./files/image_config/ntp/ntp-systemd-wrapper $FILESYSTEM_ROOT/usr/lib/ntp/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Version file part 1
|
## Version file
|
||||||
sudo mkdir -p $FILESYSTEM_ROOT/etc/sonic
|
sudo mkdir -p $FILESYSTEM_ROOT/etc/sonic
|
||||||
if [ -f files/image_config/sonic_release ]; then
|
if [ -f files/image_config/sonic_release ]; then
|
||||||
sudo cp files/image_config/sonic_release $FILESYSTEM_ROOT/etc/sonic/
|
sudo cp files/image_config/sonic_release $FILESYSTEM_ROOT/etc/sonic/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Default users info
|
|
||||||
export password_expire="$( [[ "$CHANGE_DEFAULT_PASSWORD" == "y" ]] && echo true || echo false )"
|
|
||||||
export username="${USERNAME}"
|
|
||||||
export password="$(sudo grep ^${USERNAME} $FILESYSTEM_ROOT/etc/shadow | cut -d: -f2)"
|
|
||||||
j2 files/build_templates/default_users.json.j2 | sudo tee $FILESYSTEM_ROOT/etc/sonic/default_users.json
|
|
||||||
sudo LANG=c chroot $FILESYSTEM_ROOT chmod 600 /etc/sonic/default_users.json
|
|
||||||
sudo LANG=c chroot $FILESYSTEM_ROOT chown root:shadow /etc/sonic/default_users.json
|
|
||||||
|
|
||||||
## Copy over clean-up script
|
|
||||||
sudo cp ./files/scripts/core_cleanup.py $FILESYSTEM_ROOT/usr/bin/core_cleanup.py
|
|
||||||
|
|
||||||
## Copy ASIC config checksum
|
|
||||||
sudo chmod 755 files/build_scripts/generate_asic_config_checksum.py
|
|
||||||
./files/build_scripts/generate_asic_config_checksum.py
|
|
||||||
if [[ ! -f './asic_config_checksum' ]]; then
|
|
||||||
echo 'asic_config_checksum not found'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
sudo cp ./asic_config_checksum $FILESYSTEM_ROOT/etc/sonic/asic_config_checksum
|
|
||||||
|
|
||||||
## Check if not a last stage of RFS build
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $RFS_SPLIT_FIRST_STAGE == y ]]; then
|
|
||||||
echo '[INFO] Finished with RFS first stage'
|
|
||||||
echo '[INFO] Umount all'
|
|
||||||
|
|
||||||
## Display all process details access /proc
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT fuser -vm /proc
|
|
||||||
## Kill the processes
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT fuser -km /proc || true
|
|
||||||
## Wait fuser fully kill the processes
|
|
||||||
sudo timeout 15s bash -c 'until LANG=C chroot $0 umount /proc; do sleep 1; done' $FILESYSTEM_ROOT || true
|
|
||||||
|
|
||||||
sudo rm -f $TARGET_PATH/$RFS_SQUASHFS_NAME
|
|
||||||
sudo mksquashfs $FILESYSTEM_ROOT $TARGET_PATH/$RFS_SQUASHFS_NAME -Xcompression-level 1
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $RFS_SPLIT_LAST_STAGE == y ]]; then
|
|
||||||
echo '[INFO] RFS build: second stage'
|
|
||||||
|
|
||||||
## ensure proc is mounted
|
|
||||||
sudo mount proc /proc -t proc || true
|
|
||||||
|
|
||||||
sudo fuser -vm $FILESYSTEM_ROOT || true
|
|
||||||
sudo rm -rf $FILESYSTEM_ROOT
|
|
||||||
sudo unsquashfs -d $FILESYSTEM_ROOT $TARGET_PATH/$RFS_SQUASHFS_NAME
|
|
||||||
|
|
||||||
## make / as a mountpoint in chroot env, needed by dockerd
|
|
||||||
pushd $FILESYSTEM_ROOT
|
|
||||||
sudo mount --bind . .
|
|
||||||
popd
|
|
||||||
|
|
||||||
trap_push 'sudo LANG=C chroot $FILESYSTEM_ROOT umount /proc || true'
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mount proc /proc -t proc
|
|
||||||
fi
|
|
||||||
|
|
||||||
## Version file part 2
|
|
||||||
export build_version="${SONIC_IMAGE_VERSION}"
|
export build_version="${SONIC_IMAGE_VERSION}"
|
||||||
export debian_version="$(cat $FILESYSTEM_ROOT/etc/debian_version)"
|
export debian_version="$(cat $FILESYSTEM_ROOT/etc/debian_version)"
|
||||||
export kernel_version="${kversion}"
|
export kernel_version="${kversion}"
|
||||||
@ -660,6 +587,18 @@ export built_by="$USER@$BUILD_HOSTNAME"
|
|||||||
export sonic_os_version="${SONIC_OS_VERSION}"
|
export sonic_os_version="${SONIC_OS_VERSION}"
|
||||||
j2 files/build_templates/sonic_version.yml.j2 | sudo tee $FILESYSTEM_ROOT/etc/sonic/sonic_version.yml
|
j2 files/build_templates/sonic_version.yml.j2 | sudo tee $FILESYSTEM_ROOT/etc/sonic/sonic_version.yml
|
||||||
|
|
||||||
|
## Copy over clean-up script
|
||||||
|
sudo cp ./files/scripts/core_cleanup.py $FILESYSTEM_ROOT/usr/bin/core_cleanup.py
|
||||||
|
|
||||||
|
## Copy ASIC config checksum
|
||||||
|
sudo chmod 755 files/build_scripts/generate_asic_config_checksum.py
|
||||||
|
./files/build_scripts/generate_asic_config_checksum.py
|
||||||
|
if [[ ! -f './asic_config_checksum' ]]; then
|
||||||
|
echo 'asic_config_checksum not found'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
sudo cp ./asic_config_checksum $FILESYSTEM_ROOT/etc/sonic/asic_config_checksum
|
||||||
|
|
||||||
if [ -f sonic_debian_extension.sh ]; then
|
if [ -f sonic_debian_extension.sh ]; then
|
||||||
./sonic_debian_extension.sh $FILESYSTEM_ROOT $PLATFORM_DIR $IMAGE_DISTRO
|
./sonic_debian_extension.sh $FILESYSTEM_ROOT $PLATFORM_DIR $IMAGE_DISTRO
|
||||||
fi
|
fi
|
||||||
@ -694,15 +633,11 @@ then
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Set FIPS runtime default option
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "mkdir -p /etc/fips"
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo 0 > /etc/fips/fips_enable"
|
|
||||||
|
|
||||||
# #################
|
# #################
|
||||||
# secure boot
|
# secure boot
|
||||||
# #################
|
# #################
|
||||||
if [[ $SECURE_UPGRADE_MODE == 'dev' || $SECURE_UPGRADE_MODE == "prod" && $SONIC_ENABLE_SECUREBOOT_SIGNATURE != 'y' ]]; then
|
if [[ $SECURE_UPGRADE_MODE == 'dev' || $SECURE_UPGRADE_MODE == "prod" && $SONIC_ENABLE_SECUREBOOT_SIGNATURE != 'y' ]]; then
|
||||||
# note: SONIC_ENABLE_SECUREBOOT_SIGNATURE is a feature that signing just kernel,
|
# note: SONIC_ENABLE_SECUREBOOT_SIGNATURE is a feature that signing just kernel,
|
||||||
# SECURE_UPGRADE_MODE is signing all the boot component including kernel.
|
# SECURE_UPGRADE_MODE is signing all the boot component including kernel.
|
||||||
# its required to do not enable both features together to avoid conflicts.
|
# its required to do not enable both features together to avoid conflicts.
|
||||||
echo "Secure Boot support build stage: Starting .."
|
echo "Secure Boot support build stage: Starting .."
|
||||||
@ -711,14 +646,14 @@ if [[ $SECURE_UPGRADE_MODE == 'dev' || $SECURE_UPGRADE_MODE == "prod" && $SONIC_
|
|||||||
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install \
|
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install \
|
||||||
shim-unsigned \
|
shim-unsigned \
|
||||||
grub-efi
|
grub-efi
|
||||||
|
|
||||||
if [ ! -f $SECURE_UPGRADE_SIGNING_CERT ]; then
|
if [ ! -f $SECURE_UPGRADE_SIGNING_CERT ]; then
|
||||||
echo "Error: SONiC SECURE_UPGRADE_SIGNING_CERT=$SECURE_UPGRADE_SIGNING_CERT key missing"
|
echo "Error: SONiC SECURE_UPGRADE_SIGNING_CERT=$SECURE_UPGRADE_SIGNING_CERT key missing"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $SECURE_UPGRADE_MODE == 'dev' ]]; then
|
if [[ $SECURE_UPGRADE_MODE == 'dev' ]]; then
|
||||||
# development signing & verification
|
# development signing & verification
|
||||||
|
|
||||||
if [ ! -f $SECURE_UPGRADE_DEV_SIGNING_KEY ]; then
|
if [ ! -f $SECURE_UPGRADE_DEV_SIGNING_KEY ]; then
|
||||||
echo "Error: SONiC SECURE_UPGRADE_DEV_SIGNING_KEY=$SECURE_UPGRADE_DEV_SIGNING_KEY key missing"
|
echo "Error: SONiC SECURE_UPGRADE_DEV_SIGNING_KEY=$SECURE_UPGRADE_DEV_SIGNING_KEY key missing"
|
||||||
@ -763,27 +698,14 @@ sudo chroot $FILESYSTEM_ROOT update-initramfs -u
|
|||||||
## Convert initrd image to u-boot format
|
## Convert initrd image to u-boot format
|
||||||
if [[ $TARGET_BOOTLOADER == uboot ]]; then
|
if [[ $TARGET_BOOTLOADER == uboot ]]; then
|
||||||
INITRD_FILE=initrd.img-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}
|
INITRD_FILE=initrd.img-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}
|
||||||
KERNEL_FILE=vmlinuz-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}
|
|
||||||
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
||||||
INITRD_FILE=initrd.img-${LINUX_KERNEL_VERSION}-armmp
|
INITRD_FILE=initrd.img-${LINUX_KERNEL_VERSION}-armmp
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mkimage -A arm -O linux -T ramdisk -C gzip -d /boot/$INITRD_FILE /boot/u${INITRD_FILE}
|
sudo LANG=C chroot $FILESYSTEM_ROOT mkimage -A arm -O linux -T ramdisk -C gzip -d /boot/$INITRD_FILE /boot/u${INITRD_FILE}
|
||||||
## Overwriting the initrd image with uInitrd
|
## Overwriting the initrd image with uInitrd
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mv /boot/u${INITRD_FILE} /boot/$INITRD_FILE
|
sudo LANG=C chroot $FILESYSTEM_ROOT mv /boot/u${INITRD_FILE} /boot/$INITRD_FILE
|
||||||
elif [[ $CONFIGURED_ARCH == arm64 ]]; then
|
elif [[ $CONFIGURED_ARCH == arm64 ]]; then
|
||||||
if [[ $CONFIGURED_PLATFORM == pensando ]]; then
|
sudo cp -v $PLATFORM_DIR/${sonic_asic_platform}-${CONFIGURED_ARCH}/sonic_fit.its $FILESYSTEM_ROOT/boot/
|
||||||
## copy device tree file into boot (XXX: need to compile dtb from dts)
|
sudo LANG=C chroot $FILESYSTEM_ROOT mkimage -f /boot/sonic_fit.its /boot/sonic_${CONFIGURED_ARCH}.fit
|
||||||
sudo cp -v $PLATFORM_DIR/pensando/elba-asic-psci.dtb $FILESYSTEM_ROOT/boot/
|
|
||||||
## make kernel as gzip file
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT gzip /boot/${KERNEL_FILE}
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mv /boot/${KERNEL_FILE}.gz /boot/${KERNEL_FILE}
|
|
||||||
## Convert initrd image to u-boot format
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mkimage -A arm64 -O linux -T ramdisk -C gzip -d /boot/$INITRD_FILE /boot/u${INITRD_FILE}
|
|
||||||
## Overwriting the initrd image with uInitrd
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mv /boot/u${INITRD_FILE} /boot/$INITRD_FILE
|
|
||||||
else
|
|
||||||
sudo cp -v $PLATFORM_DIR/${sonic_asic_platform}-${CONFIGURED_ARCH}/sonic_fit.its $FILESYSTEM_ROOT/boot/
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT mkimage -f /boot/sonic_fit.its /boot/sonic_${CONFIGURED_ARCH}.fit
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -818,7 +740,8 @@ sudo LANG=C chroot $FILESYSTEM_ROOT fuser -vm /proc
|
|||||||
## Kill the processes
|
## Kill the processes
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT fuser -km /proc || true
|
sudo LANG=C chroot $FILESYSTEM_ROOT fuser -km /proc || true
|
||||||
## Wait fuser fully kill the processes
|
## Wait fuser fully kill the processes
|
||||||
sudo timeout 15s bash -c 'until LANG=C chroot $0 umount /proc; do sleep 1; done' $FILESYSTEM_ROOT || true
|
sleep 15
|
||||||
|
sudo LANG=C chroot $FILESYSTEM_ROOT umount /proc || true
|
||||||
|
|
||||||
## Prepare empty directory to trigger mount move in initramfs-tools/mount_loop_root, implemented by patching
|
## Prepare empty directory to trigger mount move in initramfs-tools/mount_loop_root, implemented by patching
|
||||||
sudo mkdir $FILESYSTEM_ROOT/host
|
sudo mkdir $FILESYSTEM_ROOT/host
|
||||||
@ -834,32 +757,14 @@ if [[ "$CHANGE_DEFAULT_PASSWORD" == "y" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
## Compress most file system into squashfs file
|
## Compress most file system into squashfs file
|
||||||
sudo rm -f $INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS
|
sudo rm -f $ONIE_INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS
|
||||||
## Output the file system total size for diag purpose
|
## Output the file system total size for diag purpose
|
||||||
## Note: -x to skip directories on different file systems, such as /proc
|
## Note: -x to skip directories on different file systems, such as /proc
|
||||||
sudo du -hsx $FILESYSTEM_ROOT
|
sudo du -hsx $FILESYSTEM_ROOT
|
||||||
sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
||||||
|
sudo cp files/image_config/resolv-config/resolv.conf $FILESYSTEM_ROOT/etc/resolv.conf
|
||||||
## Clear DNS configuration inherited from the build server
|
|
||||||
sudo rm -f $FILESYSTEM_ROOT/etc/resolvconf/resolv.conf.d/original
|
|
||||||
sudo cp files/image_config/resolv-config/resolv.conf.head $FILESYSTEM_ROOT/etc/resolvconf/resolv.conf.d/head
|
|
||||||
|
|
||||||
## Optimize filesystem size
|
|
||||||
if [ "$BUILD_REDUCE_IMAGE_SIZE" = "y" ]; then
|
|
||||||
sudo scripts/build-optimize-fs-size.py "$FILESYSTEM_ROOT" \
|
|
||||||
--image-type "$IMAGE_TYPE" \
|
|
||||||
--hardlinks var/lib/docker \
|
|
||||||
--hardlinks usr/share/sonic/device \
|
|
||||||
--remove-docs \
|
|
||||||
--remove-mans \
|
|
||||||
--remove-licenses
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -comp zstd -b 1M -e boot -e var/lib/docker -e $PLATFORM_DIR
|
sudo mksquashfs $FILESYSTEM_ROOT $FILESYSTEM_SQUASHFS -comp zstd -b 1M -e boot -e var/lib/docker -e $PLATFORM_DIR
|
||||||
|
|
||||||
## Reduce /boot permission
|
|
||||||
sudo chmod -R go-wx $FILESYSTEM_ROOT/boot
|
|
||||||
|
|
||||||
# Ensure admin gid is 1000
|
# Ensure admin gid is 1000
|
||||||
gid_user=$(sudo LANG=C chroot $FILESYSTEM_ROOT id -g $USERNAME) || gid_user="none"
|
gid_user=$(sudo LANG=C chroot $FILESYSTEM_ROOT id -g $USERNAME) || gid_user="none"
|
||||||
if [ "${gid_user}" != "1000" ]; then
|
if [ "${gid_user}" != "1000" ]; then
|
||||||
@ -879,5 +784,5 @@ fi
|
|||||||
pushd $FILESYSTEM_ROOT && sudo tar -I $GZ_COMPRESS_PROGRAM -cf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd
|
pushd $FILESYSTEM_ROOT && sudo tar -I $GZ_COMPRESS_PROGRAM -cf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd
|
||||||
|
|
||||||
## Compress together with /boot, /var/lib/docker and $PLATFORM_DIR as an installer payload zip file
|
## Compress together with /boot, /var/lib/docker and $PLATFORM_DIR as an installer payload zip file
|
||||||
pushd $FILESYSTEM_ROOT && sudo tar -I $GZ_COMPRESS_PROGRAM -cf platform.tar.gz -C $PLATFORM_DIR . && sudo zip -n .gz $OLDPWD/$INSTALLER_PAYLOAD -r boot/ platform.tar.gz; popd
|
pushd $FILESYSTEM_ROOT && sudo tar -I $GZ_COMPRESS_PROGRAM -cf platform.tar.gz -C $PLATFORM_DIR . && sudo zip -n .gz $OLDPWD/$ONIE_INSTALLER_PAYLOAD -r boot/ platform.tar.gz; popd
|
||||||
sudo zip -g -n .squashfs:.gz $INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS $FILESYSTEM_DOCKERFS
|
sudo zip -g -n .squashfs:.gz $ONIE_INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS $FILESYSTEM_DOCKERFS
|
||||||
|
@ -18,8 +18,8 @@ fi
|
|||||||
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
[ -n "$INSTALLER_PAYLOAD" ] || {
|
[ -n "$ONIE_INSTALLER_PAYLOAD" ] || {
|
||||||
echo "Error: Invalid INSTALLER_PAYLOAD in onie image config file"
|
echo "Error: Invalid ONIE_INSTALLER_PAYLOAD in onie image config file"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ generate_onie_installer_image()
|
|||||||
## Note: Don't leave blank between lines. It is single line command.
|
## Note: Don't leave blank between lines. It is single line command.
|
||||||
./onie-mk-demo.sh $CONFIGURED_ARCH $TARGET_MACHINE $TARGET_PLATFORM-$TARGET_MACHINE-$ONIEIMAGE_VERSION \
|
./onie-mk-demo.sh $CONFIGURED_ARCH $TARGET_MACHINE $TARGET_PLATFORM-$TARGET_MACHINE-$ONIEIMAGE_VERSION \
|
||||||
installer platform/$TARGET_MACHINE/platform.conf $output_file OS $IMAGE_VERSION $ONIE_IMAGE_PART_SIZE \
|
installer platform/$TARGET_MACHINE/platform.conf $output_file OS $IMAGE_VERSION $ONIE_IMAGE_PART_SIZE \
|
||||||
$INSTALLER_PAYLOAD $SECURE_UPGRADE_SIGNING_CERT $SECURE_UPGRADE_DEV_SIGNING_KEY
|
$ONIE_INSTALLER_PAYLOAD
|
||||||
}
|
}
|
||||||
|
|
||||||
# Generate asic-specific device list
|
# Generate asic-specific device list
|
||||||
@ -139,11 +139,7 @@ elif [ "$IMAGE_TYPE" = "raw" ]; then
|
|||||||
## Run the installer
|
## Run the installer
|
||||||
## The 'build' install mode of the installer is used to generate this dump.
|
## The 'build' install mode of the installer is used to generate this dump.
|
||||||
sudo chmod a+x $tmp_output_onie_image
|
sudo chmod a+x $tmp_output_onie_image
|
||||||
sudo ./$tmp_output_onie_image || {
|
sudo ./$tmp_output_onie_image
|
||||||
## Failure during 'build' install mode of the installer results in an incomplete raw image.
|
|
||||||
## Delete the incomplete raw image.
|
|
||||||
sudo rm -f $OUTPUT_RAW_IMAGE
|
|
||||||
}
|
|
||||||
rm $tmp_output_onie_image
|
rm $tmp_output_onie_image
|
||||||
|
|
||||||
[ -r $OUTPUT_RAW_IMAGE ] || {
|
[ -r $OUTPUT_RAW_IMAGE ] || {
|
||||||
@ -151,7 +147,15 @@ elif [ "$IMAGE_TYPE" = "raw" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "The raw image is in $OUTPUT_RAW_IMAGE"
|
$GZ_COMPRESS_PROGRAM $OUTPUT_RAW_IMAGE
|
||||||
|
|
||||||
|
[ -r $OUTPUT_RAW_IMAGE.gz ] || {
|
||||||
|
echo "Error : $GZ_COMPRESS_PROGRAM $OUTPUT_RAW_IMAGE failed!"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
mv $OUTPUT_RAW_IMAGE.gz $OUTPUT_RAW_IMAGE
|
||||||
|
echo "The compressed raw image is in $OUTPUT_RAW_IMAGE"
|
||||||
|
|
||||||
elif [ "$IMAGE_TYPE" = "kvm" ]; then
|
elif [ "$IMAGE_TYPE" = "kvm" ]; then
|
||||||
|
|
||||||
@ -175,7 +179,7 @@ elif [ "$IMAGE_TYPE" = "aboot" ]; then
|
|||||||
sudo rm -f $OUTPUT_ABOOT_IMAGE
|
sudo rm -f $OUTPUT_ABOOT_IMAGE
|
||||||
sudo rm -f $ABOOT_BOOT_IMAGE
|
sudo rm -f $ABOOT_BOOT_IMAGE
|
||||||
## Add main payload
|
## Add main payload
|
||||||
cp $INSTALLER_PAYLOAD $OUTPUT_ABOOT_IMAGE
|
cp $ONIE_INSTALLER_PAYLOAD $OUTPUT_ABOOT_IMAGE
|
||||||
## Add Aboot boot0 file
|
## Add Aboot boot0 file
|
||||||
j2 -f env files/Aboot/boot0.j2 ./onie-image.conf > files/Aboot/boot0
|
j2 -f env files/Aboot/boot0.j2 ./onie-image.conf > files/Aboot/boot0
|
||||||
sed -i -e "s/%%IMAGE_VERSION%%/$IMAGE_VERSION/g" files/Aboot/boot0
|
sed -i -e "s/%%IMAGE_VERSION%%/$IMAGE_VERSION/g" files/Aboot/boot0
|
||||||
@ -213,38 +217,6 @@ elif [ "$IMAGE_TYPE" = "aboot" ]; then
|
|||||||
[ -f "$CA_CERT" ] && cp "$CA_CERT" "$TARGET_CA_CERT"
|
[ -f "$CA_CERT" ] && cp "$CA_CERT" "$TARGET_CA_CERT"
|
||||||
./scripts/sign_image.sh -i "$OUTPUT_ABOOT_IMAGE" -k "$SIGNING_KEY" -c "$SIGNING_CERT" -a "$TARGET_CA_CERT"
|
./scripts/sign_image.sh -i "$OUTPUT_ABOOT_IMAGE" -k "$SIGNING_KEY" -c "$SIGNING_CERT" -a "$TARGET_CA_CERT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
elif [ "$IMAGE_TYPE" = "dsc" ]; then
|
|
||||||
echo "Build DSC installer"
|
|
||||||
|
|
||||||
dsc_installer_dir=files/dsc
|
|
||||||
dsc_installer=$dsc_installer_dir/install_debian
|
|
||||||
dsc_installer_manifest=$dsc_installer_dir/MANIFEST
|
|
||||||
|
|
||||||
mkdir -p `dirname $OUTPUT_DSC_IMAGE`
|
|
||||||
sudo rm -f $OUTPUT_DSC_IMAGE
|
|
||||||
|
|
||||||
source ./onie-image.conf
|
|
||||||
|
|
||||||
j2 $dsc_installer.j2 > $dsc_installer
|
|
||||||
export installer_sha=$(sha512sum "$dsc_installer" | awk '{print $1}')
|
|
||||||
|
|
||||||
export build_date=$(date -u)
|
|
||||||
export build_user=$(id -un)
|
|
||||||
export installer_payload_sha=$(sha512sum "$INSTALLER_PAYLOAD" | awk '{print $1}')
|
|
||||||
j2 $dsc_installer_manifest.j2 > $dsc_installer_manifest
|
|
||||||
|
|
||||||
cp $INSTALLER_PAYLOAD $dsc_installer_dir
|
|
||||||
tar cf $OUTPUT_DSC_IMAGE -C files/dsc $(basename $dsc_installer_manifest) $INSTALLER_PAYLOAD $(basename $dsc_installer)
|
|
||||||
|
|
||||||
echo "Build ONIE installer"
|
|
||||||
mkdir -p `dirname $OUTPUT_ONIE_IMAGE`
|
|
||||||
sudo rm -f $OUTPUT_ONIE_IMAGE
|
|
||||||
|
|
||||||
generate_device_list "./installer/platforms_asic"
|
|
||||||
|
|
||||||
generate_onie_installer_image
|
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Error: Non supported image type $IMAGE_TYPE"
|
echo "Error: Non supported image type $IMAGE_TYPE"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -1,17 +1,7 @@
|
|||||||
{
|
{
|
||||||
"chassis": {
|
"chassis": {
|
||||||
"name": "DCS-7050QX-32",
|
"name": "DCS-7050QX-32",
|
||||||
"components": [
|
"components": [],
|
||||||
{
|
|
||||||
"name": "Scd(addr=0000:04:00.0)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ucd90120A(addr=6-004e)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ucd90160(addr=10-004e)"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fans": [
|
"fans": [
|
||||||
{
|
{
|
||||||
"name": "fan1"
|
"name": "fan1"
|
||||||
@ -63,43 +53,37 @@
|
|||||||
"psus": [
|
"psus": [
|
||||||
{
|
{
|
||||||
"name": "psu1",
|
"name": "psu1",
|
||||||
"fans": [
|
"fans": []
|
||||||
{
|
|
||||||
"name": "psu1/1",
|
|
||||||
"speed": {
|
|
||||||
"controllable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psu2",
|
"name": "psu2",
|
||||||
"fans": [
|
"fans": []
|
||||||
{
|
|
||||||
"name": "psu2/1",
|
|
||||||
"speed": {
|
|
||||||
"controllable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"thermals": [
|
"thermals": [
|
||||||
{
|
{
|
||||||
"name": "Cpu temp sensor",
|
"name": "Cpu temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Board sensor",
|
"name": "Board sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Front-panel temp sensor",
|
"name": "Front-panel temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Rear temp sensor",
|
"name": "Rear temp sensor"
|
||||||
"controllable": false
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 inlet temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 internal sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 inlet temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 internal sensor"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sfps": [
|
"sfps": [
|
||||||
|
@ -0,0 +1,144 @@
|
|||||||
|
{
|
||||||
|
"interfaces": {
|
||||||
|
"Ethernet0": {
|
||||||
|
"default_brkout_mode": "1x10G",
|
||||||
|
"port_type": "RJ45"
|
||||||
|
},
|
||||||
|
"Ethernet1": {
|
||||||
|
"default_brkout_mode": "1x10G",
|
||||||
|
"port_type": "RJ45"
|
||||||
|
},
|
||||||
|
"Ethernet2": {
|
||||||
|
"default_brkout_mode": "1x10G",
|
||||||
|
"port_type": "RJ45"
|
||||||
|
},
|
||||||
|
"Ethernet3": {
|
||||||
|
"default_brkout_mode": "1x1G",
|
||||||
|
"port_type": "RJ45"
|
||||||
|
},
|
||||||
|
"Ethernet4": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet8": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet12": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet16": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet20": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet24": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet28": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet32": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet36": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet40": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet44": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet48": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet52": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet56": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet60": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet64": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet68": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet72": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet76": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet80": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet84": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet88": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet92": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet96": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet100": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet104": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet108": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet112": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet116": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet120": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
},
|
||||||
|
"Ethernet124": {
|
||||||
|
"default_brkout_mode": "1x40G",
|
||||||
|
"port_type": "QSFP+"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,36 +1,36 @@
|
|||||||
# name lanes alias index speed
|
# name lanes alias index
|
||||||
Ethernet0 9 Ethernet1 1 10000
|
Ethernet0 9 Ethernet1 1
|
||||||
Ethernet1 10 Ethernet2 2 10000
|
Ethernet1 10 Ethernet2 2
|
||||||
Ethernet2 11 Ethernet3 3 10000
|
Ethernet2 11 Ethernet3 3
|
||||||
Ethernet3 12 Ethernet4 4 1000
|
Ethernet3 12 Ethernet4 4
|
||||||
Ethernet4 13,14,15,16 Ethernet6/1 6 40000
|
Ethernet4 13,14,15,16 Ethernet6/1 6
|
||||||
Ethernet8 17,18,19,20 Ethernet7/1 7 40000
|
Ethernet8 17,18,19,20 Ethernet7/1 7
|
||||||
Ethernet12 21,22,23,24 Ethernet8/1 8 40000
|
Ethernet12 21,22,23,24 Ethernet8/1 8
|
||||||
Ethernet16 29,30,31,32 Ethernet9/1 9 40000
|
Ethernet16 29,30,31,32 Ethernet9/1 9
|
||||||
Ethernet20 25,26,27,28 Ethernet10/1 10 40000
|
Ethernet20 25,26,27,28 Ethernet10/1 10
|
||||||
Ethernet24 33,34,35,36 Ethernet11/1 11 40000
|
Ethernet24 33,34,35,36 Ethernet11/1 11
|
||||||
Ethernet28 37,38,39,40 Ethernet12/1 12 40000
|
Ethernet28 37,38,39,40 Ethernet12/1 12
|
||||||
Ethernet32 45,46,47,48 Ethernet13/1 13 40000
|
Ethernet32 45,46,47,48 Ethernet13/1 13
|
||||||
Ethernet36 41,42,43,44 Ethernet14/1 14 40000
|
Ethernet36 41,42,43,44 Ethernet14/1 14
|
||||||
Ethernet40 49,50,51,52 Ethernet15/1 15 40000
|
Ethernet40 49,50,51,52 Ethernet15/1 15
|
||||||
Ethernet44 53,54,55,56 Ethernet16/1 16 40000
|
Ethernet44 53,54,55,56 Ethernet16/1 16
|
||||||
Ethernet48 69,70,71,72 Ethernet17/1 17 40000
|
Ethernet48 69,70,71,72 Ethernet17/1 17
|
||||||
Ethernet52 65,66,67,68 Ethernet18/1 18 40000
|
Ethernet52 65,66,67,68 Ethernet18/1 18
|
||||||
Ethernet56 73,74,75,76 Ethernet19/1 19 40000
|
Ethernet56 73,74,75,76 Ethernet19/1 19
|
||||||
Ethernet60 77,78,79,80 Ethernet20/1 20 40000
|
Ethernet60 77,78,79,80 Ethernet20/1 20
|
||||||
Ethernet64 93,94,95,96 Ethernet21/1 21 40000
|
Ethernet64 93,94,95,96 Ethernet21/1 21
|
||||||
Ethernet68 89,90,91,92 Ethernet22/1 22 40000
|
Ethernet68 89,90,91,92 Ethernet22/1 22
|
||||||
Ethernet72 97,98,99,100 Ethernet23/1 23 40000
|
Ethernet72 97,98,99,100 Ethernet23/1 23
|
||||||
Ethernet76 101,102,103,104 Ethernet24/1 24 40000
|
Ethernet76 101,102,103,104 Ethernet24/1 24
|
||||||
Ethernet80 109,110,111,112 Ethernet25/1 25 40000
|
Ethernet80 109,110,111,112 Ethernet25/1 25
|
||||||
Ethernet84 105,106,107,108 Ethernet26/1 26 40000
|
Ethernet84 105,106,107,108 Ethernet26/1 26
|
||||||
Ethernet88 121,122,123,124 Ethernet27/1 27 40000
|
Ethernet88 121,122,123,124 Ethernet27/1 27
|
||||||
Ethernet92 125,126,127,128 Ethernet28/1 28 40000
|
Ethernet92 125,126,127,128 Ethernet28/1 28
|
||||||
Ethernet96 61,62,63,64 Ethernet29 29 40000
|
Ethernet96 61,62,63,64 Ethernet29 29
|
||||||
Ethernet100 57,58,59,60 Ethernet30 30 40000
|
Ethernet100 57,58,59,60 Ethernet30 30
|
||||||
Ethernet104 81,82,83,84 Ethernet31 31 40000
|
Ethernet104 81,82,83,84 Ethernet31 31
|
||||||
Ethernet108 85,86,87,88 Ethernet32 32 40000
|
Ethernet108 85,86,87,88 Ethernet32 32
|
||||||
Ethernet112 117,118,119,120 Ethernet33 33 40000
|
Ethernet112 117,118,119,120 Ethernet33 33
|
||||||
Ethernet116 113,114,115,116 Ethernet34 34 40000
|
Ethernet116 113,114,115,116 Ethernet34 34
|
||||||
Ethernet120 1,2,3,4 Ethernet35 35 40000
|
Ethernet120 1,2,3,4 Ethernet35 35
|
||||||
Ethernet124 5,6,7,8 Ethernet36 36 40000
|
Ethernet124 5,6,7,8 Ethernet36 36
|
||||||
|
@ -1,23 +1,7 @@
|
|||||||
{
|
{
|
||||||
"chassis": {
|
"chassis": {
|
||||||
"name": "DCS-7050QX-32S",
|
"name": "DCS-7050QX-32S",
|
||||||
"components": [
|
"components": [],
|
||||||
{
|
|
||||||
"name": "Aboot()"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Scd(addr=0000:02:00.0)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ucd90120A(addr=4-004e)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ucd90120A(addr=8-004e)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "CrowSysCpld(addr=2-0023)"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"fans": [],
|
"fans": [],
|
||||||
"fan_drawers": [
|
"fan_drawers": [
|
||||||
{
|
{
|
||||||
@ -56,47 +40,46 @@
|
|||||||
"psus": [
|
"psus": [
|
||||||
{
|
{
|
||||||
"name": "psu1",
|
"name": "psu1",
|
||||||
"fans": [
|
"fans": []
|
||||||
{
|
|
||||||
"name": "psu1/1",
|
|
||||||
"speed": {
|
|
||||||
"controllable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psu2",
|
"name": "psu2",
|
||||||
"fans": [
|
"fans": []
|
||||||
{
|
|
||||||
"name": "psu2/1",
|
|
||||||
"speed": {
|
|
||||||
"controllable": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"thermals": [
|
"thermals": [
|
||||||
{
|
{
|
||||||
"name": "Cpu temp sensor",
|
"name": "Cpu temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Cpu board temp sensor",
|
"name": "Cpu board temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Back-panel temp sensor",
|
"name": "Back-panel temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Board Sensor",
|
"name": "Board Sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Front-panel temp sensor",
|
"name": "Front-panel temp sensor"
|
||||||
"controllable": false
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 hotspot sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 inlet temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 exhaust temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 hotspot sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 inlet temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 exhaust temp sensor"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sfps": [
|
"sfps": [
|
||||||
@ -218,12 +201,6 @@
|
|||||||
"1x40G[10G]": [
|
"1x40G[10G]": [
|
||||||
"Ethernet5/1"
|
"Ethernet5/1"
|
||||||
],
|
],
|
||||||
"3x10G(3)+1x1G(1)": [
|
|
||||||
"Ethernet1",
|
|
||||||
"Ethernet2",
|
|
||||||
"Ethernet3",
|
|
||||||
"Ethernet4"
|
|
||||||
],
|
|
||||||
"2x20G[10G]": [
|
"2x20G[10G]": [
|
||||||
"Ethernet5/1",
|
"Ethernet5/1",
|
||||||
"Ethernet5/3"
|
"Ethernet5/3"
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/
|
sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
sai_verify_incoming_chksum=0
|
sai_verify_incoming_chksum=0
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
use_all_splithorizon_groups=1
|
use_all_splithorizon_groups=1
|
||||||
riot_enable=1
|
riot_enable=1
|
||||||
|
@ -1,24 +1,16 @@
|
|||||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/
|
sai_load_hw_config=/etc/bcm/flex/bcm56870_a0_premium_issu/b870.6.4.1/
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
sai_verify_incoming_chksum=0
|
sai_verify_incoming_chksum=0
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
use_all_splithorizon_groups=1
|
use_all_splithorizon_groups=1
|
||||||
riot_enable=1
|
riot_enable=1
|
||||||
|
@ -152,6 +152,11 @@
|
|||||||
id: '1466'
|
id: '1466'
|
||||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
||||||
Data Fabric: Device 18h; Function 6'
|
Data Fabric: Device 18h; Function 6'
|
||||||
|
- bus: '00'
|
||||||
|
dev: '18'
|
||||||
|
fn: '7'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||||
- bus: '01'
|
- bus: '01'
|
||||||
dev: '00'
|
dev: '00'
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -152,6 +152,11 @@
|
|||||||
id: '1466'
|
id: '1466'
|
||||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
||||||
Data Fabric: Device 18h; Function 6'
|
Data Fabric: Device 18h; Function 6'
|
||||||
|
- bus: '00'
|
||||||
|
dev: '18'
|
||||||
|
fn: '7'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||||
- bus: '01'
|
- bus: '01'
|
||||||
dev: '00'
|
dev: '00'
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -64,6 +64,11 @@
|
|||||||
id: '1578'
|
id: '1578'
|
||||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||||
Security Processor'
|
Security Processor'
|
||||||
|
- bus: '00'
|
||||||
|
dev: 09
|
||||||
|
fn: '0'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||||
- bus: '00'
|
- bus: '00'
|
||||||
dev: 09
|
dev: 09
|
||||||
fn: '2'
|
fn: '2'
|
||||||
|
@ -64,6 +64,11 @@
|
|||||||
id: '1578'
|
id: '1578'
|
||||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||||
Security Processor'
|
Security Processor'
|
||||||
|
- bus: '00'
|
||||||
|
dev: 09
|
||||||
|
fn: '0'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||||
- bus: '00'
|
- bus: '00'
|
||||||
dev: 09
|
dev: 09
|
||||||
fn: '2'
|
fn: '2'
|
||||||
|
@ -449,4 +449,3 @@ serdes_preemphasis_109=0x145c00
|
|||||||
|
|
||||||
mmu_init_config="MSFT-TH-Tier1"
|
mmu_init_config="MSFT-TH-Tier1"
|
||||||
phy_an_lt_msft=1
|
phy_an_lt_msft=1
|
||||||
phy_unlos_msft=1
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"chassis": {
|
"chassis": {
|
||||||
"DCS-7060CX-32S": {
|
"DCS-7050CX3-32S": {
|
||||||
"component": {
|
"component": {
|
||||||
"Aboot()": {},
|
"Aboot()": {},
|
||||||
"Scd(addr=0000:02:00.0)": {},
|
"Scd(addr=0000:02:00.0)": {},
|
||||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
|||||||
module_64ports.0=1
|
module_64ports.0=1
|
||||||
multicast_l2_range.0=511
|
multicast_l2_range.0=511
|
||||||
oversubscribe_mode=1
|
oversubscribe_mode=1
|
||||||
sai_tunnel_global_sip_mask_enable=1
|
|
||||||
bcm_tunnel_term_compatible_mode=1
|
|
||||||
parity_correction=1
|
parity_correction=1
|
||||||
parity_enable=1
|
parity_enable=1
|
||||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||||
|
@ -186,6 +186,11 @@
|
|||||||
id: 6f37
|
id: 6f37
|
||||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||||
D R3 QPI Link 0/1 (rev 03)'
|
D R3 QPI Link 0/1 (rev 03)'
|
||||||
|
- bus: ff
|
||||||
|
dev: 0b
|
||||||
|
fn: '3'
|
||||||
|
id: '0001'
|
||||||
|
name: 'System peripheral: Arastra Inc. Device 0001 (rev 03)'
|
||||||
- bus: ff
|
- bus: ff
|
||||||
dev: 0c
|
dev: 0c
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
|||||||
module_64ports.0=1
|
module_64ports.0=1
|
||||||
multicast_l2_range.0=511
|
multicast_l2_range.0=511
|
||||||
oversubscribe_mode=1
|
oversubscribe_mode=1
|
||||||
sai_tunnel_global_sip_mask_enable=1
|
|
||||||
bcm_tunnel_term_compatible_mode=1
|
|
||||||
parity_correction=1
|
parity_correction=1
|
||||||
parity_enable=1
|
parity_enable=1
|
||||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||||
|
@ -1,104 +0,0 @@
|
|||||||
{
|
|
||||||
"interfaces": {
|
|
||||||
"Ethernet0": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet8": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet16": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet24": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet32": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet40": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet48": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet56": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet64": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet72": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet80": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet88": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet96": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet104": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet112": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet120": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet128": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet136": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet144": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet152": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet160": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet168": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet176": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet184": {
|
|
||||||
"default_brkout_mode": "2x200G[100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet192": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet200": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet208": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet216": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet224": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet232": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet240": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet248": {
|
|
||||||
"default_brkout_mode": "4x100G[50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet256": {
|
|
||||||
"default_brkout_mode": "1x10G",
|
|
||||||
"fec": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th4-a7060dx5-32-200Gx48-100Gx32.config.bcm
|
|
@ -1,879 +0,0 @@
|
|||||||
# configuration yaml file
|
|
||||||
# device:
|
|
||||||
# <unit>:
|
|
||||||
# <table>:
|
|
||||||
# ?
|
|
||||||
# <key_fld_1>: <value>
|
|
||||||
# <key_fld_2>: <value>
|
|
||||||
# ...
|
|
||||||
# <key_fld_n>: <value>
|
|
||||||
# :
|
|
||||||
# <data_fld_1>: <value>
|
|
||||||
# <data_fld_2>: <value>
|
|
||||||
# ...
|
|
||||||
# <data_fld_n>: <value>
|
|
||||||
#
|
|
||||||
|
|
||||||
---
|
|
||||||
bcm_device:
|
|
||||||
0:
|
|
||||||
global:
|
|
||||||
pktio_mode: 1
|
|
||||||
vlan_flooding_l2mc_num_reserved: 0
|
|
||||||
ipv6_lpm_128b_enable: 1
|
|
||||||
shared_block_mask_section: uc_bc
|
|
||||||
skip_protocol_default_entries: 1
|
|
||||||
# LTSW uses value 1 for ALPM combined mode
|
|
||||||
l3_alpm_template: 1
|
|
||||||
l3_alpm_hit_skip: 1
|
|
||||||
sai_feat_tail_timestamp : 1
|
|
||||||
sai_field_group_auto_prioritize: 1
|
|
||||||
#l3_intf_vlan_split_egress for MTU at L3IF
|
|
||||||
l3_intf_vlan_split_egress : 1
|
|
||||||
|
|
||||||
# vxlan
|
|
||||||
l3_alpm_template: 1
|
|
||||||
riot_overlay_l3_egress_mem_size: 16384
|
|
||||||
riot_overlay_l3_intf_mem_size: 4096
|
|
||||||
l3_ecmp_member_first_lkup_mem_size: 12288
|
|
||||||
bcm_tunnel_term_compatible_mode: 1
|
|
||||||
shared_l2_tunnel: 1
|
|
||||||
sai_tunnel_support: 10
|
|
||||||
sai_tunnel_underlay_route_mode: 2
|
|
||||||
sai_tunnel_ecmp_sharing_mode: 0 # change to 2 if SAI_NEXT_HOP_GROUP_ATTR_LEVEL_1 used
|
|
||||||
|
|
||||||
# bfd
|
|
||||||
#bfd_enable: 1
|
|
||||||
#bfd_sha1_keys: 5
|
|
||||||
#bfd_num_sessions: 2048
|
|
||||||
#bfd_simple_password_keys: 5
|
|
||||||
#num_queues_pci: 47
|
|
||||||
#num_queues_uc0: 1
|
|
||||||
#bfd_feature_enable: 1
|
|
||||||
#bfd_use_endpoint_id_as_discriminator: 1
|
|
||||||
#bfd_tx_raw_ingress_enable: 1
|
|
||||||
#sai_eapp_config_file: "/usr/share/sonic/device/x86_64-broadcom_common/eapps/eapp_config.json"
|
|
||||||
---
|
|
||||||
device:
|
|
||||||
0:
|
|
||||||
PC_SERDES_CONFIG:
|
|
||||||
PKG_SWAP_BYPASS: 1
|
|
||||||
|
|
||||||
PC_PM_CORE:
|
|
||||||
?
|
|
||||||
PC_PM_ID: 1
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x67235401
|
|
||||||
TX_LANE_MAP: 0x2731465
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 2
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x31752064
|
|
||||||
TX_LANE_MAP: 0x76025314
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 3
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x67241503
|
|
||||||
TX_LANE_MAP: 0x13650274
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x01
|
|
||||||
?
|
|
||||||
PC_PM_ID: 4
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x46025713
|
|
||||||
TX_LANE_MAP: 0x31650274
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 5
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x62713054
|
|
||||||
TX_LANE_MAP: 0x21703465
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0xd8
|
|
||||||
?
|
|
||||||
PC_PM_ID: 6
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x13460257
|
|
||||||
TX_LANE_MAP: 0x64137502
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 7
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x43512670
|
|
||||||
TX_LANE_MAP: 0x2571364
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 8
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x14270356
|
|
||||||
TX_LANE_MAP: 0x64237501
|
|
||||||
RX_POLARITY_FLIP: 0xfb
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 9
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x76140235
|
|
||||||
TX_LANE_MAP: 0x74036521
|
|
||||||
RX_POLARITY_FLIP: 0xc1
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 10
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x47125603
|
|
||||||
TX_LANE_MAP: 0x30451276
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 11
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x76041235
|
|
||||||
TX_LANE_MAP: 0x74036512
|
|
||||||
RX_POLARITY_FLIP: 0x40
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 12
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x27145603
|
|
||||||
TX_LANE_MAP: 0x21450376
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 13
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x2735146
|
|
||||||
TX_LANE_MAP: 0x3657421
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0xc8
|
|
||||||
?
|
|
||||||
PC_PM_ID: 14
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x47306521
|
|
||||||
TX_LANE_MAP: 0x12643075
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0x33
|
|
||||||
?
|
|
||||||
PC_PM_ID: 15
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x20157436
|
|
||||||
TX_LANE_MAP: 0x56237104
|
|
||||||
RX_POLARITY_FLIP: 0x08
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 16
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x14270356
|
|
||||||
TX_LANE_MAP: 0x76325014
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 49
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x56704312
|
|
||||||
TX_LANE_MAP: 0x32641570
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 50
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x21564073
|
|
||||||
TX_LANE_MAP: 0x50314762
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 51
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x36715402
|
|
||||||
TX_LANE_MAP: 0x32641075
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 52
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x51462073
|
|
||||||
TX_LANE_MAP: 0x5127634
|
|
||||||
RX_POLARITY_FLIP: 0x69
|
|
||||||
TX_POLARITY_FLIP: 0x08
|
|
||||||
?
|
|
||||||
PC_PM_ID: 53
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x73204651
|
|
||||||
TX_LANE_MAP: 0x32640175
|
|
||||||
RX_POLARITY_FLIP: 0x69
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 54
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x5134627
|
|
||||||
TX_LANE_MAP: 0x60137254
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 55
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x57420163
|
|
||||||
TX_LANE_MAP: 0x32651074
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 56
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x5134627
|
|
||||||
TX_LANE_MAP: 0x10524376
|
|
||||||
RX_POLARITY_FLIP: 0x05
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 57
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x73520146
|
|
||||||
TX_LANE_MAP: 0x31650274
|
|
||||||
RX_POLARITY_FLIP: 0x3d
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 58
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x16072354
|
|
||||||
TX_LANE_MAP: 0x51634270
|
|
||||||
RX_POLARITY_FLIP: 0x01
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 59
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x72530164
|
|
||||||
TX_LANE_MAP: 0x32506147
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 60
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x4371256
|
|
||||||
TX_LANE_MAP: 0x21673054
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0xcc
|
|
||||||
?
|
|
||||||
PC_PM_ID: 61
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x67241503
|
|
||||||
TX_LANE_MAP: 0x12730465
|
|
||||||
RX_POLARITY_FLIP: 0x20
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 62
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x73625140
|
|
||||||
TX_LANE_MAP: 0x12640573
|
|
||||||
RX_POLARITY_FLIP: 0x00
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
?
|
|
||||||
PC_PM_ID: 63
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x23674015
|
|
||||||
TX_LANE_MAP: 0x57206143
|
|
||||||
RX_POLARITY_FLIP: 0xff
|
|
||||||
TX_POLARITY_FLIP: 0xff
|
|
||||||
?
|
|
||||||
PC_PM_ID: 64
|
|
||||||
CORE_INDEX: 0
|
|
||||||
:
|
|
||||||
RX_LANE_MAP_AUTO: 0
|
|
||||||
TX_LANE_MAP_AUTO: 0
|
|
||||||
RX_POLARITY_FLIP_AUTO: 0
|
|
||||||
TX_POLARITY_FLIP_AUTO: 0
|
|
||||||
RX_LANE_MAP: 0x57314260
|
|
||||||
TX_LANE_MAP: 0x1735264
|
|
||||||
RX_POLARITY_FLIP: 0x10
|
|
||||||
TX_POLARITY_FLIP: 0x00
|
|
||||||
...
|
|
||||||
---
|
|
||||||
device:
|
|
||||||
0:
|
|
||||||
PC_PORT_PHYS_MAP:
|
|
||||||
?
|
|
||||||
PORT_ID: 0
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 0
|
|
||||||
?
|
|
||||||
PORT_ID: 1
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 1
|
|
||||||
?
|
|
||||||
PORT_ID: 2
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 3
|
|
||||||
?
|
|
||||||
PORT_ID: 5
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 5
|
|
||||||
?
|
|
||||||
PORT_ID: 6
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 7
|
|
||||||
?
|
|
||||||
PORT_ID: 9
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 9
|
|
||||||
?
|
|
||||||
PORT_ID: 10
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 11
|
|
||||||
?
|
|
||||||
PORT_ID: 13
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 13
|
|
||||||
?
|
|
||||||
PORT_ID: 14
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 15
|
|
||||||
?
|
|
||||||
PORT_ID: 17
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 17
|
|
||||||
?
|
|
||||||
PORT_ID: 18
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 19
|
|
||||||
?
|
|
||||||
PORT_ID: 21
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 21
|
|
||||||
?
|
|
||||||
PORT_ID: 22
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 23
|
|
||||||
?
|
|
||||||
PORT_ID: 25
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 25
|
|
||||||
?
|
|
||||||
PORT_ID: 26
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 27
|
|
||||||
?
|
|
||||||
PORT_ID: 29
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 29
|
|
||||||
?
|
|
||||||
PORT_ID: 30
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 31
|
|
||||||
?
|
|
||||||
PORT_ID: 33
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 259
|
|
||||||
?
|
|
||||||
PORT_ID: 34
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 33
|
|
||||||
?
|
|
||||||
PORT_ID: 35
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 35
|
|
||||||
?
|
|
||||||
PORT_ID: 38
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 37
|
|
||||||
?
|
|
||||||
PORT_ID: 39
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 39
|
|
||||||
?
|
|
||||||
PORT_ID: 42
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 41
|
|
||||||
?
|
|
||||||
PORT_ID: 43
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 43
|
|
||||||
?
|
|
||||||
PORT_ID: 46
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 45
|
|
||||||
?
|
|
||||||
PORT_ID: 47
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 47
|
|
||||||
?
|
|
||||||
PORT_ID: 50
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 258
|
|
||||||
?
|
|
||||||
PORT_ID: 51
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 49
|
|
||||||
?
|
|
||||||
PORT_ID: 52
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 51
|
|
||||||
?
|
|
||||||
PORT_ID: 55
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 53
|
|
||||||
?
|
|
||||||
PORT_ID: 56
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 55
|
|
||||||
?
|
|
||||||
PORT_ID: 59
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 57
|
|
||||||
?
|
|
||||||
PORT_ID: 60
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 59
|
|
||||||
?
|
|
||||||
PORT_ID: 63
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 61
|
|
||||||
?
|
|
||||||
PORT_ID: 64
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 63
|
|
||||||
?
|
|
||||||
PORT_ID: 67
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 260
|
|
||||||
?
|
|
||||||
PORT_ID: 204
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 193
|
|
||||||
?
|
|
||||||
PORT_ID: 205
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 195
|
|
||||||
?
|
|
||||||
PORT_ID: 208
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 197
|
|
||||||
?
|
|
||||||
PORT_ID: 209
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 199
|
|
||||||
?
|
|
||||||
PORT_ID: 212
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 201
|
|
||||||
?
|
|
||||||
PORT_ID: 213
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 203
|
|
||||||
?
|
|
||||||
PORT_ID: 216
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 205
|
|
||||||
?
|
|
||||||
PORT_ID: 217
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 207
|
|
||||||
?
|
|
||||||
PORT_ID: 221
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 209
|
|
||||||
?
|
|
||||||
PORT_ID: 222
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 211
|
|
||||||
?
|
|
||||||
PORT_ID: 225
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 213
|
|
||||||
?
|
|
||||||
PORT_ID: 226
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 215
|
|
||||||
?
|
|
||||||
PORT_ID: 229
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 217
|
|
||||||
?
|
|
||||||
PORT_ID: 230
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 219
|
|
||||||
?
|
|
||||||
PORT_ID: 233
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 221
|
|
||||||
?
|
|
||||||
PORT_ID: 234
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 223
|
|
||||||
?
|
|
||||||
PORT_ID: 237
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 265
|
|
||||||
?
|
|
||||||
PORT_ID: 238
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 225
|
|
||||||
?
|
|
||||||
PORT_ID: 239
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 226
|
|
||||||
?
|
|
||||||
PORT_ID: 240
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 227
|
|
||||||
?
|
|
||||||
PORT_ID: 241
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 228
|
|
||||||
?
|
|
||||||
PORT_ID: 242
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 229
|
|
||||||
?
|
|
||||||
PORT_ID: 243
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 230
|
|
||||||
?
|
|
||||||
PORT_ID: 244
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 231
|
|
||||||
?
|
|
||||||
PORT_ID: 245
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 232
|
|
||||||
?
|
|
||||||
PORT_ID: 246
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 233
|
|
||||||
?
|
|
||||||
PORT_ID: 247
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 234
|
|
||||||
?
|
|
||||||
PORT_ID: 248
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 235
|
|
||||||
?
|
|
||||||
PORT_ID: 249
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 236
|
|
||||||
?
|
|
||||||
PORT_ID: 250
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 237
|
|
||||||
?
|
|
||||||
PORT_ID: 251
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 238
|
|
||||||
?
|
|
||||||
PORT_ID: 252
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 239
|
|
||||||
?
|
|
||||||
PORT_ID: 253
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 240
|
|
||||||
?
|
|
||||||
PORT_ID: 255
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 241
|
|
||||||
?
|
|
||||||
PORT_ID: 256
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 242
|
|
||||||
?
|
|
||||||
PORT_ID: 257
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 243
|
|
||||||
?
|
|
||||||
PORT_ID: 258
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 244
|
|
||||||
?
|
|
||||||
PORT_ID: 259
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 245
|
|
||||||
?
|
|
||||||
PORT_ID: 260
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 246
|
|
||||||
?
|
|
||||||
PORT_ID: 261
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 247
|
|
||||||
?
|
|
||||||
PORT_ID: 262
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 248
|
|
||||||
?
|
|
||||||
PORT_ID: 263
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 249
|
|
||||||
?
|
|
||||||
PORT_ID: 264
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 250
|
|
||||||
?
|
|
||||||
PORT_ID: 265
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 251
|
|
||||||
?
|
|
||||||
PORT_ID: 266
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 252
|
|
||||||
?
|
|
||||||
PORT_ID: 267
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 253
|
|
||||||
?
|
|
||||||
PORT_ID: 268
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 254
|
|
||||||
?
|
|
||||||
PORT_ID: 269
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 255
|
|
||||||
?
|
|
||||||
PORT_ID: 270
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 256
|
|
||||||
|
|
||||||
...
|
|
||||||
---
|
|
||||||
device:
|
|
||||||
0:
|
|
||||||
PC_PORT:
|
|
||||||
?
|
|
||||||
PORT_ID: 0
|
|
||||||
:
|
|
||||||
&port_mode_10g
|
|
||||||
ENABLE: 1
|
|
||||||
SPEED: 10000
|
|
||||||
NUM_LANES: 1
|
|
||||||
?
|
|
||||||
PORT_ID: [[50, 50]]
|
|
||||||
:
|
|
||||||
ENABLE: 0
|
|
||||||
MAX_FRAME_SIZE: 9416
|
|
||||||
SPEED: 10000
|
|
||||||
NUM_LANES: 1
|
|
||||||
?
|
|
||||||
PORT_ID: [[1, 2],
|
|
||||||
[5, 6],
|
|
||||||
[9, 10],
|
|
||||||
[13, 14],
|
|
||||||
[17, 18],
|
|
||||||
[21, 22],
|
|
||||||
[25, 26],
|
|
||||||
[29, 30],
|
|
||||||
[34, 35],
|
|
||||||
[38, 39],
|
|
||||||
[42, 43],
|
|
||||||
[46, 47],
|
|
||||||
[51, 52],
|
|
||||||
[55, 56],
|
|
||||||
[59, 60],
|
|
||||||
[63, 64],
|
|
||||||
[204, 205],
|
|
||||||
[208, 209],
|
|
||||||
[212, 213],
|
|
||||||
[216, 217],
|
|
||||||
[221, 222],
|
|
||||||
[225, 226],
|
|
||||||
[229, 230],
|
|
||||||
[233, 234]]
|
|
||||||
:
|
|
||||||
ENABLE: 0
|
|
||||||
SPEED: 200000
|
|
||||||
NUM_LANES: 4
|
|
||||||
FEC_MODE: PC_FEC_RS544_2XN
|
|
||||||
MAX_FRAME_SIZE: 9416
|
|
||||||
?
|
|
||||||
PORT_ID: [[238, 241],
|
|
||||||
[242, 245],
|
|
||||||
[246, 249],
|
|
||||||
[250, 253],
|
|
||||||
[255, 258],
|
|
||||||
[259, 262],
|
|
||||||
[263, 266],
|
|
||||||
[267, 270]]
|
|
||||||
:
|
|
||||||
ENABLE: 0
|
|
||||||
SPEED: 100000
|
|
||||||
NUM_LANES: 2
|
|
||||||
FEC_MODE: PC_FEC_RS544
|
|
||||||
MAX_FRAME_SIZE: 9416
|
|
||||||
...
|
|
||||||
---
|
|
||||||
device:
|
|
||||||
0:
|
|
||||||
# Per pipe flex counter configuration
|
|
||||||
CTR_EFLEX_CONFIG:
|
|
||||||
CTR_ING_EFLEX_OPERMODE_PIPEUNIQUE: 0
|
|
||||||
CTR_EGR_EFLEX_OPERMODE_PIPEUNIQUE: 0
|
|
||||||
|
|
||||||
# Per pipe flex state configuration
|
|
||||||
#FLEX_STATE_CONFIG:
|
|
||||||
# FLEX_STATE_ING_OPERMODE_PIPEUNIQUE: 0
|
|
||||||
# FLEX_STATE_EGR_OPERMODE_PIPEUNIQUE: 1
|
|
||||||
|
|
||||||
# Lossy vs Lossless mode
|
|
||||||
TM_THD_CONFIG:
|
|
||||||
THRESHOLD_MODE: LOSSLESS
|
|
||||||
|
|
||||||
# IFP mode
|
|
||||||
FP_CONFIG:
|
|
||||||
FP_ING_OPERMODE: GLOBAL_PIPE_AWARE
|
|
||||||
...
|
|
@ -1,114 +0,0 @@
|
|||||||
#name lanes alias index speed fec
|
|
||||||
Ethernet0 1 Ethernet1/1 1 25000
|
|
||||||
Ethernet1 5 Ethernet1/2 1 25000
|
|
||||||
Ethernet2 3 Ethernet1/3 1 25000
|
|
||||||
Ethernet3 7 Ethernet1/4 1 25000
|
|
||||||
Ethernet8 9 Ethernet2/1 2 25000
|
|
||||||
Ethernet9 13 Ethernet2/2 2 25000
|
|
||||||
Ethernet10 11 Ethernet2/3 2 25000
|
|
||||||
Ethernet11 15 Ethernet2/4 2 25000
|
|
||||||
Ethernet16 17 Ethernet3/1 3 25000
|
|
||||||
Ethernet17 21 Ethernet3/2 3 25000
|
|
||||||
Ethernet18 19 Ethernet3/3 3 25000
|
|
||||||
Ethernet19 23 Ethernet3/4 3 25000
|
|
||||||
Ethernet24 25 Ethernet4/1 4 25000
|
|
||||||
Ethernet25 29 Ethernet4/2 4 25000
|
|
||||||
Ethernet26 27 Ethernet4/3 4 25000
|
|
||||||
Ethernet27 31 Ethernet4/4 4 25000
|
|
||||||
Ethernet32 33 Ethernet5/1 5 25000
|
|
||||||
Ethernet33 37 Ethernet5/2 5 25000
|
|
||||||
Ethernet34 35 Ethernet5/3 5 25000
|
|
||||||
Ethernet35 39 Ethernet5/4 5 25000
|
|
||||||
Ethernet40 41 Ethernet6/1 6 25000
|
|
||||||
Ethernet41 45 Ethernet6/2 6 25000
|
|
||||||
Ethernet42 43 Ethernet6/3 6 25000
|
|
||||||
Ethernet43 47 Ethernet6/4 6 25000
|
|
||||||
Ethernet48 49 Ethernet7/1 7 25000
|
|
||||||
Ethernet49 53 Ethernet7/2 7 25000
|
|
||||||
Ethernet50 51 Ethernet7/3 7 25000
|
|
||||||
Ethernet51 55 Ethernet7/4 7 25000
|
|
||||||
Ethernet56 57 Ethernet8/1 8 25000
|
|
||||||
Ethernet57 61 Ethernet8/2 8 25000
|
|
||||||
Ethernet58 59 Ethernet8/3 8 25000
|
|
||||||
Ethernet59 63 Ethernet8/4 8 25000
|
|
||||||
Ethernet64 65 Ethernet9/1 9 25000
|
|
||||||
Ethernet65 69 Ethernet9/2 9 25000
|
|
||||||
Ethernet66 67 Ethernet9/3 9 25000
|
|
||||||
Ethernet67 71 Ethernet9/4 9 25000
|
|
||||||
Ethernet72 73 Ethernet10/1 10 25000
|
|
||||||
Ethernet73 77 Ethernet10/2 10 25000
|
|
||||||
Ethernet74 75 Ethernet10/3 10 25000
|
|
||||||
Ethernet75 79 Ethernet10/4 10 25000
|
|
||||||
Ethernet80 81 Ethernet11/1 11 25000
|
|
||||||
Ethernet81 85 Ethernet11/2 11 25000
|
|
||||||
Ethernet82 83 Ethernet11/3 11 25000
|
|
||||||
Ethernet83 87 Ethernet11/4 11 25000
|
|
||||||
Ethernet88 89 Ethernet12/1 12 25000
|
|
||||||
Ethernet89 93 Ethernet12/2 12 25000
|
|
||||||
Ethernet90 91 Ethernet12/3 12 25000
|
|
||||||
Ethernet91 95 Ethernet12/4 12 25000
|
|
||||||
Ethernet96 97 Ethernet13/1 13 25000
|
|
||||||
Ethernet97 101 Ethernet13/2 13 25000
|
|
||||||
Ethernet98 99 Ethernet13/3 13 25000
|
|
||||||
Ethernet99 103 Ethernet13/4 13 25000
|
|
||||||
Ethernet104 105 Ethernet14/1 14 25000
|
|
||||||
Ethernet105 109 Ethernet14/2 14 25000
|
|
||||||
Ethernet106 107 Ethernet14/3 14 25000
|
|
||||||
Ethernet107 111 Ethernet14/4 14 25000
|
|
||||||
Ethernet112 113 Ethernet15/1 15 25000
|
|
||||||
Ethernet113 117 Ethernet15/2 15 25000
|
|
||||||
Ethernet114 115 Ethernet15/3 15 25000
|
|
||||||
Ethernet115 119 Ethernet15/4 15 25000
|
|
||||||
Ethernet120 121 Ethernet16/1 16 25000
|
|
||||||
Ethernet121 125 Ethernet16/2 16 25000
|
|
||||||
Ethernet122 123 Ethernet16/3 16 25000
|
|
||||||
Ethernet123 127 Ethernet16/4 16 25000
|
|
||||||
Ethernet128 385 Ethernet17/1 17 25000
|
|
||||||
Ethernet129 389 Ethernet17/2 17 25000
|
|
||||||
Ethernet130 387 Ethernet17/3 17 25000
|
|
||||||
Ethernet131 391 Ethernet17/4 17 25000
|
|
||||||
Ethernet136 393 Ethernet18/1 18 25000
|
|
||||||
Ethernet137 397 Ethernet18/2 18 25000
|
|
||||||
Ethernet138 395 Ethernet18/3 18 25000
|
|
||||||
Ethernet139 399 Ethernet18/4 18 25000
|
|
||||||
Ethernet144 401 Ethernet19/1 19 25000
|
|
||||||
Ethernet145 405 Ethernet19/2 19 25000
|
|
||||||
Ethernet146 403 Ethernet19/3 19 25000
|
|
||||||
Ethernet147 407 Ethernet19/4 19 25000
|
|
||||||
Ethernet152 409 Ethernet20/1 20 25000
|
|
||||||
Ethernet153 413 Ethernet20/2 20 25000
|
|
||||||
Ethernet154 411 Ethernet20/3 20 25000
|
|
||||||
Ethernet155 415 Ethernet20/4 20 25000
|
|
||||||
Ethernet160 417 Ethernet21/1 21 25000
|
|
||||||
Ethernet161 421 Ethernet21/2 21 25000
|
|
||||||
Ethernet162 419 Ethernet21/3 21 25000
|
|
||||||
Ethernet163 423 Ethernet21/4 21 25000
|
|
||||||
Ethernet168 425 Ethernet22/1 22 25000
|
|
||||||
Ethernet169 429 Ethernet22/2 22 25000
|
|
||||||
Ethernet170 427 Ethernet22/3 22 25000
|
|
||||||
Ethernet171 431 Ethernet22/4 22 25000
|
|
||||||
Ethernet176 433 Ethernet23/1 23 25000
|
|
||||||
Ethernet177 437 Ethernet23/2 23 25000
|
|
||||||
Ethernet178 435 Ethernet23/3 23 25000
|
|
||||||
Ethernet179 439 Ethernet23/4 23 25000
|
|
||||||
Ethernet184 441 Ethernet24/1 24 25000
|
|
||||||
Ethernet185 445 Ethernet24/2 24 25000
|
|
||||||
Ethernet186 443 Ethernet24/3 24 25000
|
|
||||||
Ethernet187 447 Ethernet24/4 24 25000
|
|
||||||
Ethernet192 449,450,451,452 Ethernet25/1 25 100000 rs
|
|
||||||
Ethernet196 453,454,455,456 Ethernet25/5 25 100000 rs
|
|
||||||
Ethernet200 457,458,459,460 Ethernet26/1 26 100000 rs
|
|
||||||
Ethernet204 461,462,463,464 Ethernet26/5 26 100000 rs
|
|
||||||
Ethernet208 465,466,467,468 Ethernet27/1 27 100000 rs
|
|
||||||
Ethernet212 469,470,471,472 Ethernet27/5 27 100000 rs
|
|
||||||
Ethernet216 473,474,475,476 Ethernet28/1 28 100000 rs
|
|
||||||
Ethernet220 477,478,479,480 Ethernet28/5 28 100000 rs
|
|
||||||
Ethernet224 481,482,483,484 Ethernet29/1 29 200000 rs
|
|
||||||
Ethernet228 485,486,487,488 Ethernet29/5 29 200000 rs
|
|
||||||
Ethernet232 489,490,491,492 Ethernet30/1 30 200000 rs
|
|
||||||
Ethernet236 493,494,495,496 Ethernet30/5 30 200000 rs
|
|
||||||
Ethernet240 497,498,499,500 Ethernet31/1 31 200000 rs
|
|
||||||
Ethernet244 501,502,503,504 Ethernet31/5 31 200000 rs
|
|
||||||
Ethernet248 505,506,507,508 Ethernet32/1 32 200000 rs
|
|
||||||
Ethernet252 509,510,511,512 Ethernet32/5 32 200000 rs
|
|
||||||
Ethernet256 513 Ethernet33 33 10000 none
|
|
@ -1 +0,0 @@
|
|||||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th4-a7060dx5-32-25Gx96-100Gx8-200Gx8.config.bcm
|
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
../../../common/profiles/th4/gen/BALANCED
|
|
@ -1,2 +0,0 @@
|
|||||||
{%- set default_topo = 't1' %}
|
|
||||||
{%- include 'buffers_config.j2' %}
|
|
@ -1 +0,0 @@
|
|||||||
BALANCED/buffers_defaults_t0.j2
|
|
@ -1 +0,0 @@
|
|||||||
BALANCED/buffers_defaults_t1.j2
|
|
@ -1,104 +0,0 @@
|
|||||||
{
|
|
||||||
"interfaces": {
|
|
||||||
"Ethernet0": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet8": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet16": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet24": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet32": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet40": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet48": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet56": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet64": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet72": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet80": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet88": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet96": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet104": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet112": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet120": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet128": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet136": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet144": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet152": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet160": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet168": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet176": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet184": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet192": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet200": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet208": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet216": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet224": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet232": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet240": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet248": {
|
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]"
|
|
||||||
},
|
|
||||||
"Ethernet256": {
|
|
||||||
"default_brkout_mode": "1x10G",
|
|
||||||
"fec": "none"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
BALANCED/pg_profile_lookup.ini
|
|
@ -1,34 +0,0 @@
|
|||||||
# name lanes alias index speed fec
|
|
||||||
Ethernet0 1,2,3,4,5,6,7,8 Ethernet1/1 1 400000 rs
|
|
||||||
Ethernet8 9,10,11,12,13,14,15,16 Ethernet2/1 2 400000 rs
|
|
||||||
Ethernet16 17,18,19,20,21,22,23,24 Ethernet3/1 3 400000 rs
|
|
||||||
Ethernet24 25,26,27,28,29,30,31,32 Ethernet4/1 4 400000 rs
|
|
||||||
Ethernet32 33,34,35,36,37,38,39,40 Ethernet5/1 5 400000 rs
|
|
||||||
Ethernet40 41,42,43,44,45,46,47,48 Ethernet6/1 6 400000 rs
|
|
||||||
Ethernet48 49,50,51,52,53,54,55,56 Ethernet7/1 7 400000 rs
|
|
||||||
Ethernet56 57,58,59,60,61,62,63,64 Ethernet8/1 8 400000 rs
|
|
||||||
Ethernet64 65,66,67,68,69,70,71,72 Ethernet9/1 9 400000 rs
|
|
||||||
Ethernet72 73,74,75,76,77,78,79,80 Ethernet10/1 10 400000 rs
|
|
||||||
Ethernet80 81,82,83,84,85,86,87,88 Ethernet11/1 11 400000 rs
|
|
||||||
Ethernet88 89,90,91,92,93,94,95,96 Ethernet12/1 12 400000 rs
|
|
||||||
Ethernet96 97,98,99,100,101,102,103,104 Ethernet13/1 13 400000 rs
|
|
||||||
Ethernet104 105,106,107,108,109,110,111,112 Ethernet14/1 14 400000 rs
|
|
||||||
Ethernet112 113,114,115,116,117,118,119,120 Ethernet15/1 15 400000 rs
|
|
||||||
Ethernet120 121,122,123,124,125,126,127,128 Ethernet16/1 16 400000 rs
|
|
||||||
Ethernet128 385,386,387,388,389,390,391,392 Ethernet17/1 17 400000 rs
|
|
||||||
Ethernet136 393,394,395,396,397,398,399,400 Ethernet18/1 18 400000 rs
|
|
||||||
Ethernet144 401,402,403,404,405,406,407,408 Ethernet19/1 19 400000 rs
|
|
||||||
Ethernet152 409,410,411,412,413,414,415,416 Ethernet20/1 20 400000 rs
|
|
||||||
Ethernet160 417,418,419,420,421,422,423,424 Ethernet21/1 21 400000 rs
|
|
||||||
Ethernet168 425,426,427,428,429,430,431,432 Ethernet22/1 22 400000 rs
|
|
||||||
Ethernet176 433,434,435,436,437,438,439,440 Ethernet23/1 23 400000 rs
|
|
||||||
Ethernet184 441,442,443,444,445,446,447,448 Ethernet24/1 24 400000 rs
|
|
||||||
Ethernet192 449,450,451,452,453,454,455,456 Ethernet25/1 25 400000 rs
|
|
||||||
Ethernet200 457,458,459,460,461,462,463,464 Ethernet26/1 26 400000 rs
|
|
||||||
Ethernet208 465,466,467,468,469,470,471,472 Ethernet27/1 27 400000 rs
|
|
||||||
Ethernet216 473,474,475,476,477,478,479,480 Ethernet28/1 28 400000 rs
|
|
||||||
Ethernet224 481,482,483,484,485,486,487,488 Ethernet29/1 29 400000 rs
|
|
||||||
Ethernet232 489,490,491,492,493,494,495,496 Ethernet30/1 30 400000 rs
|
|
||||||
Ethernet240 497,498,499,500,501,502,503,504 Ethernet31/1 31 400000 rs
|
|
||||||
Ethernet248 505,506,507,508,509,510,511,512 Ethernet32/1 32 400000 rs
|
|
||||||
Ethernet256 513 Ethernet33 33 10000 none
|
|
@ -1 +0,0 @@
|
|||||||
{%- include 'qos_config.j2' %}
|
|
@ -1 +0,0 @@
|
|||||||
SAI_INIT_CONFIG_FILE=/usr/share/sonic/hwsku/th4-a7060dx5-32.config.bcm
|
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
Arista-7060DX5-32 t1
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/pcie.yaml
|
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
|||||||
broadcom
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"chassis": {
|
|
||||||
"DCS-7060DX5-32": {
|
|
||||||
"component": {
|
|
||||||
"Aboot()": {},
|
|
||||||
"Scd(addr=0000:00:18.7)": {},
|
|
||||||
"Scd(addr=0000:01:00.0)": {},
|
|
||||||
"LorikeetSysCpld(addr=13-0023)": {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
SYNCD_SHM_SIZE=512m
|
|
||||||
is_ltsw_chip=1
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/platform_reboot
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/plugins/
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/pmon_daemon_control.json
|
|
@ -1,36 +0,0 @@
|
|||||||
# libsensors configuration file for DCS-7060DX4-32
|
|
||||||
# ------------------------------------------------#
|
|
||||||
|
|
||||||
bus "i2c-9" "SCD 0000:00:18.7 SMBus master 0 bus 0"
|
|
||||||
bus "i2c-29" "SCD 0000:01:00.0 SMBus master 1 bus 0"
|
|
||||||
bus "i2c-32" "SCD 0000:01:00.0 SMBus master 1 bus 3"
|
|
||||||
bus "i2c-33" "SCD 0000:01:00.0 SMBus master 1 bus 4"
|
|
||||||
|
|
||||||
chip "max6658-i2c-9-4c"
|
|
||||||
label temp1 "CPU board temp sensor"
|
|
||||||
label temp2 "Back-panel temp sensor"
|
|
||||||
|
|
||||||
chip "max6581-i2c-29-4d"
|
|
||||||
label temp1 "Center Rear"
|
|
||||||
label temp2 "Switch board right sensor"
|
|
||||||
label temp3 "Switch board left sensor"
|
|
||||||
label temp4 "Front-panel temp sensor"
|
|
||||||
label temp5 "Switch chip diode 1 sensor"
|
|
||||||
label temp6 "Switch chip diode 2 sensor"
|
|
||||||
ignore temp7
|
|
||||||
ignore temp8
|
|
||||||
|
|
||||||
chip "pmbus-i2c-32-58"
|
|
||||||
label temp1 "Power supply 1 hotspot sensor"
|
|
||||||
label temp2 "Power supply 1 inlet temp sensor"
|
|
||||||
label temp3 "Power supply 1 exhaust temp sensor"
|
|
||||||
ignore fan2
|
|
||||||
ignore fan3
|
|
||||||
|
|
||||||
chip "pmbus-i2c-33-58"
|
|
||||||
label temp1 "Power supply 2 hotspot sensor"
|
|
||||||
label temp2 "Power supply 2 inlet temp sensor"
|
|
||||||
label temp3 "Power supply 2 exhaust temp sensor"
|
|
||||||
ignore fan2
|
|
||||||
ignore fan3
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/system_health_monitoring_config.json
|
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/thermal_policy.json
|
|
@ -255,14 +255,6 @@
|
|||||||
"Ethernet504": {
|
"Ethernet504": {
|
||||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]",
|
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]",
|
||||||
"fec": "rs"
|
"fec": "rs"
|
||||||
},
|
|
||||||
"Ethernet512": {
|
|
||||||
"default_brkout_mode": "1x10G",
|
|
||||||
"fec": "none"
|
|
||||||
},
|
|
||||||
"Ethernet513": {
|
|
||||||
"default_brkout_mode": "1x10G",
|
|
||||||
"fec": "none"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,5 +63,3 @@ Ethernet480 237,238,239,240,241,242,243,244 Ethernet61/1 61 400000 rs
|
|||||||
Ethernet488 229,230,231,232,233,234,235,236 Ethernet62/1 62 400000 rs
|
Ethernet488 229,230,231,232,233,234,235,236 Ethernet62/1 62 400000 rs
|
||||||
Ethernet496 249,250,251,252,253,254,255,256 Ethernet63/1 63 400000 rs
|
Ethernet496 249,250,251,252,253,254,255,256 Ethernet63/1 63 400000 rs
|
||||||
Ethernet504 245,246,247,248,249,250,251,252 Ethernet64/1 64 400000 rs
|
Ethernet504 245,246,247,248,249,250,251,252 Ethernet64/1 64 400000 rs
|
||||||
Ethernet512 258 Ethernet65 65 10000 none
|
|
||||||
Ethernet513 257 Ethernet66 66 10000 none
|
|
||||||
|
@ -34,7 +34,7 @@ bcm_device:
|
|||||||
sai_field_group_auto_prioritize: 1
|
sai_field_group_auto_prioritize: 1
|
||||||
#l3_intf_vlan_split_egress for MTU at L3IF
|
#l3_intf_vlan_split_egress for MTU at L3IF
|
||||||
l3_intf_vlan_split_egress : 1
|
l3_intf_vlan_split_egress : 1
|
||||||
bcm_tunnel_term_compatible_mode: 1
|
|
||||||
---
|
---
|
||||||
device:
|
device:
|
||||||
0:
|
0:
|
||||||
@ -1073,14 +1073,6 @@ device:
|
|||||||
PORT_ID: 258
|
PORT_ID: 258
|
||||||
:
|
:
|
||||||
PC_PHYS_PORT_ID: 253
|
PC_PHYS_PORT_ID: 253
|
||||||
?
|
|
||||||
PORT_ID: 152
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 257
|
|
||||||
?
|
|
||||||
PORT_ID: 50
|
|
||||||
:
|
|
||||||
PC_PHYS_PORT_ID: 258
|
|
||||||
...
|
...
|
||||||
---
|
---
|
||||||
device:
|
device:
|
||||||
@ -1093,13 +1085,6 @@ device:
|
|||||||
ENABLE: 1
|
ENABLE: 1
|
||||||
SPEED: 10000
|
SPEED: 10000
|
||||||
NUM_LANES: 1
|
NUM_LANES: 1
|
||||||
?
|
|
||||||
PORT_ID: [[50, 50], [152, 152]]
|
|
||||||
:
|
|
||||||
ENABLE: 1
|
|
||||||
MAX_FRAME_SIZE: 9416
|
|
||||||
SPEED: 10000
|
|
||||||
NUM_LANES: 1
|
|
||||||
?
|
?
|
||||||
PORT_ID: [[1, 4],
|
PORT_ID: [[1, 4],
|
||||||
[17, 20],
|
[17, 20],
|
||||||
@ -1118,7 +1103,7 @@ device:
|
|||||||
[238, 241],
|
[238, 241],
|
||||||
[255, 258]]
|
[255, 258]]
|
||||||
:
|
:
|
||||||
ENABLE: 0
|
ENABLE: 1
|
||||||
SPEED: 400000
|
SPEED: 400000
|
||||||
NUM_LANES: 8
|
NUM_LANES: 8
|
||||||
FEC_MODE: PC_FEC_RS544_2XN
|
FEC_MODE: PC_FEC_RS544_2XN
|
||||||
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/pcie.yaml
|
|
@ -49,52 +49,52 @@
|
|||||||
],
|
],
|
||||||
"thermals": [
|
"thermals": [
|
||||||
{
|
{
|
||||||
"name": "Board sensor",
|
"name": "Cpu temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "TH4 exhaust temp sensor",
|
"name": "CPU board temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Inlet temp sensor",
|
"name": "Back-panel temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CPU board temp sensor",
|
"name": "Board sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Back panel temp sensor",
|
"name": "Switch board middle sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Front panel temp sensor",
|
"name": "Switch board left sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 1 hotspot sensor",
|
"name": "Front-panel temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 1 inlet temp sensor",
|
"name": "Switch chip diode 1 sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 1 exhaust temp sensor",
|
"name": "Switch chip diode 2 sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 2 hotspot sensor",
|
"name": "Front-panel temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 2 inlet temp sensor",
|
"name": "Power supply 1 inlet temp sensor"
|
||||||
"controllable": false
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Power supply 2 exhaust temp sensor",
|
"name": "Power supply 1 secondary hotspot sensor"
|
||||||
"controllable": false
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 1 primary hotspot sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 inlet temp sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 secondary hotspot sensor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Power supply 2 primary hotspot sensor"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sfps": [
|
"sfps": [
|
||||||
@ -2154,24 +2154,6 @@
|
|||||||
"Ethernet64/8"
|
"Ethernet64/8"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"Ethernet512": {
|
|
||||||
"index": "65",
|
|
||||||
"lanes": "258",
|
|
||||||
"breakout_modes": {
|
|
||||||
"1x10G": [
|
|
||||||
"Ethernet65"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Ethernet513": {
|
|
||||||
"index": "66",
|
|
||||||
"lanes": "257",
|
|
||||||
"breakout_modes": {
|
|
||||||
"1x10G": [
|
|
||||||
"Ethernet66"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,8 +20,6 @@ miim_intr_enable.0=0
|
|||||||
module_64ports.0=1
|
module_64ports.0=1
|
||||||
multicast_l2_range.0=511
|
multicast_l2_range.0=511
|
||||||
oversubscribe_mode=1
|
oversubscribe_mode=1
|
||||||
sai_tunnel_global_sip_mask_enable=1
|
|
||||||
bcm_tunnel_term_compatible_mode=1
|
|
||||||
parity_correction=1
|
parity_correction=1
|
||||||
parity_enable=1
|
parity_enable=1
|
||||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||||
|
@ -20,8 +20,6 @@ miim_intr_enable.0=0
|
|||||||
module_64ports.0=1
|
module_64ports.0=1
|
||||||
multicast_l2_range.0=511
|
multicast_l2_range.0=511
|
||||||
oversubscribe_mode=1
|
oversubscribe_mode=1
|
||||||
sai_tunnel_global_sip_mask_enable=1
|
|
||||||
bcm_tunnel_term_compatible_mode=1
|
|
||||||
parity_correction=1
|
parity_correction=1
|
||||||
parity_enable=1
|
parity_enable=1
|
||||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||||
|
@ -186,6 +186,11 @@
|
|||||||
id: 6f37
|
id: 6f37
|
||||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||||
D R3 QPI Link 0/1 (rev 03)'
|
D R3 QPI Link 0/1 (rev 03)'
|
||||||
|
- bus: ff
|
||||||
|
dev: 0b
|
||||||
|
fn: '3'
|
||||||
|
id: '0001'
|
||||||
|
name: 'System peripheral: Arastra Inc. Device 0001 (rev 03)'
|
||||||
- bus: ff
|
- bus: ff
|
||||||
dev: 0c
|
dev: 0c
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
|||||||
module_64ports.0=1
|
module_64ports.0=1
|
||||||
multicast_l2_range.0=511
|
multicast_l2_range.0=511
|
||||||
oversubscribe_mode=1
|
oversubscribe_mode=1
|
||||||
sai_tunnel_global_sip_mask_enable=1
|
|
||||||
bcm_tunnel_term_compatible_mode=1
|
|
||||||
parity_correction=1
|
parity_correction=1
|
||||||
parity_enable=1
|
parity_enable=1
|
||||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||||
|
@ -4,6 +4,12 @@
|
|||||||
<phy_addr>0</phy_addr>
|
<phy_addr>0</phy_addr>
|
||||||
<mode>retimer</mode>
|
<mode>retimer</mode>
|
||||||
<topology>1</topology>
|
<topology>1</topology>
|
||||||
|
<tx-taps>
|
||||||
|
<PAM4>2,-8,17,0,0</PAM4>
|
||||||
|
<NRZ>0,-8,17,0,0</NRZ>
|
||||||
|
</tx-taps>
|
||||||
|
<tx-taps-scale>0,0,1,0,0</tx-taps-scale>
|
||||||
|
|
||||||
<lane id="0" tx-polarity="0" rx-polarity="0" />
|
<lane id="0" tx-polarity="0" rx-polarity="0" />
|
||||||
<lane id="1" tx-polarity="0" rx-polarity="0" />
|
<lane id="1" tx-polarity="0" rx-polarity="0" />
|
||||||
<lane id="2" tx-polarity="0" rx-polarity="0" />
|
<lane id="2" tx-polarity="0" rx-polarity="0" />
|
||||||
@ -20,23 +26,4 @@
|
|||||||
<lane id="13" tx-polarity="0" rx-polarity="0" />
|
<lane id="13" tx-polarity="0" rx-polarity="0" />
|
||||||
<lane id="14" tx-polarity="0" rx-polarity="0" />
|
<lane id="14" tx-polarity="0" rx-polarity="0" />
|
||||||
<lane id="15" tx-polarity="0" rx-polarity="0" />
|
<lane id="15" tx-polarity="0" rx-polarity="0" />
|
||||||
|
|
||||||
<PAM4>
|
|
||||||
<lane id="0" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="1" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="2" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="3" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="4" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="5" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="6" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="7" tx-taps="0,0,-8,117,-2,0,0"/>
|
|
||||||
<lane id="8" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="9" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="10" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="11" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="12" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="13" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="14" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
<lane id="15" tx-taps="0,10,-22,93,-2,0,0"/>
|
|
||||||
</PAM4>
|
|
||||||
</root>
|
</root>
|
||||||
|
@ -1 +0,0 @@
|
|||||||
../x86_64-arista_common/pcie.yaml
|
|
@ -7,15 +7,20 @@ bus "i2c-23" "SCD 0000:01:00.0 SMBus master 1 bus 4"
|
|||||||
bus "i2c-24" "SCD 0000:01:00.0 SMBus master 1 bus 5"
|
bus "i2c-24" "SCD 0000:01:00.0 SMBus master 1 bus 5"
|
||||||
bus "i2c-107" "SCD 0000:00:18.7 SMBus master 0 bus 0"
|
bus "i2c-107" "SCD 0000:00:18.7 SMBus master 0 bus 0"
|
||||||
|
|
||||||
chip "tmp464-i2c-19-48"
|
chip "max6581-i2c-19-4d"
|
||||||
label temp1 "Board sensor"
|
label temp1 "Board sensor"
|
||||||
label temp2 "TH4 exhaust temp sensor"
|
label temp2 "TH4 exhaust temp sensor"
|
||||||
label temp3 "Inlet temp sensor"
|
label temp3 "Left edge PCB rear temp sensor"
|
||||||
|
label temp4 "Inlet temp sensor"
|
||||||
|
ignore temp5
|
||||||
|
ignore temp6
|
||||||
|
label temp7 "Diode temp sensor 1"
|
||||||
|
label temp8 "Diode temp sensor 2"
|
||||||
|
|
||||||
chip "dps800-i2c-22-58"
|
chip "dps800-i2c-22-58"
|
||||||
label temp1 "Power supply 1 hotspot sensor"
|
label temp1 "Power supply 1 hotspot sensor"
|
||||||
label temp2 "Power supply 1 inlet temp sensor"
|
label temp2 "Power supply 1 inlet temp sensor"
|
||||||
ignore temp3 "Power supply 1 exhaust temp sensor"
|
label temp3 "Power supply 1 exhaust temp sensor"
|
||||||
|
|
||||||
chip "dps800-i2c-23-58"
|
chip "dps800-i2c-23-58"
|
||||||
label temp1 "Power supply 2 hotspot sensor"
|
label temp1 "Power supply 2 hotspot sensor"
|
||||||
|
@ -186,6 +186,11 @@
|
|||||||
id: 6f37
|
id: 6f37
|
||||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||||
D R3 QPI Link 0/1 (rev 03)'
|
D R3 QPI Link 0/1 (rev 03)'
|
||||||
|
- bus: ff
|
||||||
|
dev: 0b
|
||||||
|
fn: '3'
|
||||||
|
id: '0001'
|
||||||
|
name: 'System peripheral: Arastra Inc. Device 0001 (rev 03)'
|
||||||
- bus: ff
|
- bus: ff
|
||||||
dev: 0c
|
dev: 0c
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -174,6 +174,11 @@
|
|||||||
id: 6f37
|
id: 6f37
|
||||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||||
D R3 QPI Link 0/1 (rev 03)'
|
D R3 QPI Link 0/1 (rev 03)'
|
||||||
|
- bus: ff
|
||||||
|
dev: 0b
|
||||||
|
fn: '3'
|
||||||
|
id: '0001'
|
||||||
|
name: 'System peripheral: Arastra Inc. Device 0001 (rev 03)'
|
||||||
- bus: ff
|
- bus: ff
|
||||||
dev: 0c
|
dev: 0c
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -90,6 +90,11 @@
|
|||||||
id: 15ee
|
id: 15ee
|
||||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function
|
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function
|
||||||
6'
|
6'
|
||||||
|
- bus: '00'
|
||||||
|
dev: '18'
|
||||||
|
fn: '7'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arista Networks, Inc. Device 0001'
|
||||||
- bus: '01'
|
- bus: '01'
|
||||||
dev: '00'
|
dev: '00'
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
||||||
{%- set IPinIP_sock = '' -%}
|
{%- set IPinIP_sock = '' -%}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
||||||
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
||||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
||||||
@ -13,26 +12,19 @@
|
|||||||
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set IPinIP_sock =
|
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||||
'sai_tunnel_underlay_route_mode=1
|
sai_tunnel_underlay_route_mode=1
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
l3_ecmp_levels=2' -%}
|
l3_ecmp_levels=2' -%}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #}
|
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x100G-t1.config.bcm" #}
|
||||||
|
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||||
arl_clean_timeout_usec=15000000
|
arl_clean_timeout_usec=15000000
|
||||||
asf_mem_profile=2
|
asf_mem_profile=2
|
||||||
@ -1048,6 +1040,5 @@ serdes_preemphasis_116=0x103706
|
|||||||
serdes_preemphasis_117=0x133c06
|
serdes_preemphasis_117=0x133c06
|
||||||
|
|
||||||
{{ mmu_sock }}
|
{{ mmu_sock }}
|
||||||
sai_tunnel_support=1
|
|
||||||
{{ IPinIP_sock }}
|
{{ IPinIP_sock }}
|
||||||
phy_an_lt_msft=1
|
phy_an_lt_msft=1
|
||||||
|
@ -1,28 +1,20 @@
|
|||||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||||
{%- set IPinIP_sock = '' -%}
|
{%- set IPinIP_sock = '' -%}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set IPinIP_sock =
|
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||||
'sai_tunnel_underlay_route_mode=1
|
sai_tunnel_underlay_route_mode=1
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
l3_ecmp_levels=2' -%}
|
l3_ecmp_levels=2' -%}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #}
|
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #}
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||||
arl_clean_timeout_usec=15000000
|
arl_clean_timeout_usec=15000000
|
||||||
asf_mem_profile=2
|
asf_mem_profile=2
|
||||||
@ -955,6 +947,5 @@ serdes_preemphasis_130=0x580c
|
|||||||
serdes_preemphasis_131=0x580c
|
serdes_preemphasis_131=0x580c
|
||||||
|
|
||||||
mmu_init_config="MSFT-TH2-Tier0"
|
mmu_init_config="MSFT-TH2-Tier0"
|
||||||
sai_tunnel_support=1
|
|
||||||
{{ IPinIP_sock }}
|
{{ IPinIP_sock }}
|
||||||
phy_an_lt_msft=1
|
phy_an_lt_msft=1
|
||||||
|
@ -1,28 +1,20 @@
|
|||||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||||
{%- set IPinIP_sock = '' -%}
|
{%- set IPinIP_sock = '' -%}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined and DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set IPinIP_sock =
|
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||||
'sai_tunnel_underlay_route_mode=1
|
sai_tunnel_underlay_route_mode=1
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
l3_ecmp_levels=2' -%}
|
l3_ecmp_levels=2' -%}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #}
|
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-112x50G+8x100G.config.bcm" #}
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||||
arl_clean_timeout_usec=15000000
|
arl_clean_timeout_usec=15000000
|
||||||
asf_mem_profile=2
|
asf_mem_profile=2
|
||||||
@ -959,6 +951,5 @@ serdes_preemphasis_130=0x580c
|
|||||||
serdes_preemphasis_131=0x580c
|
serdes_preemphasis_131=0x580c
|
||||||
|
|
||||||
mmu_init_config="MSFT-TH2-Tier0"
|
mmu_init_config="MSFT-TH2-Tier0"
|
||||||
sai_tunnel_support=1
|
|
||||||
{{ IPinIP_sock }}
|
{{ IPinIP_sock }}
|
||||||
phy_an_lt_msft=1
|
phy_an_lt_msft=1
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
||||||
{%- set IPinIP_sock = '' -%}
|
{%- set IPinIP_sock = '' -%}
|
||||||
{%- set map_prio = '' -%}
|
{%- set map_prio = '' -%}
|
||||||
{%- set pfcwd_sock = '' -%}
|
|
||||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
||||||
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
||||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
||||||
@ -13,25 +12,18 @@
|
|||||||
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||||
{%- set IPinIP_sock =
|
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||||
'sai_tunnel_underlay_route_mode=1
|
sai_tunnel_underlay_route_mode=1
|
||||||
host_as_route_disable=1
|
host_as_route_disable=1
|
||||||
l3_ecmp_levels=2' -%}
|
l3_ecmp_levels=2' -%}
|
||||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- if SYSTEM_DEFAULTS is defined and 'tunnel_qos_remap' in SYSTEM_DEFAULTS and SYSTEM_DEFAULTS['tunnel_qos_remap']['status'] == 'enabled' -%}
|
|
||||||
{%- set pfcwd_sock =
|
|
||||||
'hybrid_pfc_deadlock_enable=1
|
|
||||||
pfc_deadlock_seq_control=1
|
|
||||||
sai_pfc_dlr_init_capability=1' -%}
|
|
||||||
{%- endif %}
|
|
||||||
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x40G.config.bcm" #}
|
{# The following is the common soc properties that used to be named "th2-a7260cx3-64-64x40G.config.bcm" #}
|
||||||
l3_alpm_hit_skip=1
|
l3_alpm_hit_skip=1
|
||||||
sai_adjust_acl_drop_in_rx_drop=1
|
sai_adjust_acl_drop_in_rx_drop=1
|
||||||
{{ map_prio }}
|
{{ map_prio }}
|
||||||
{{ pfcwd_sock }}
|
|
||||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||||
arl_clean_timeout_usec=15000000
|
arl_clean_timeout_usec=15000000
|
||||||
asf_mem_profile=2
|
asf_mem_profile=2
|
||||||
@ -1047,6 +1039,5 @@ serdes_preemphasis_116=0x105004
|
|||||||
serdes_preemphasis_117=0x105004
|
serdes_preemphasis_117=0x105004
|
||||||
|
|
||||||
{{ mmu_sock }}
|
{{ mmu_sock }}
|
||||||
sai_tunnel_support=1
|
|
||||||
{{ IPinIP_sock }}
|
{{ IPinIP_sock }}
|
||||||
phy_an_lt_msft=1
|
phy_an_lt_msft=1
|
||||||
|
@ -100,6 +100,12 @@
|
|||||||
id: 8c24
|
id: 8c24
|
||||||
name: 'Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal
|
name: 'Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal
|
||||||
Management Controller (rev 05)'
|
Management Controller (rev 05)'
|
||||||
|
- bus: '01'
|
||||||
|
dev: '00'
|
||||||
|
fn: '0'
|
||||||
|
id: '1682'
|
||||||
|
name: 'Ethernet controller: Broadcom Limited NetXtreme BCM57762 Gigabit Ethernet
|
||||||
|
PCIe (rev 20)'
|
||||||
- bus: '02'
|
- bus: '02'
|
||||||
dev: '00'
|
dev: '00'
|
||||||
fn: '0'
|
fn: '0'
|
||||||
@ -173,6 +179,11 @@
|
|||||||
id: 6f37
|
id: 6f37
|
||||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||||
D R3 QPI Link 0/1 (rev 03)'
|
D R3 QPI Link 0/1 (rev 03)'
|
||||||
|
- bus: ff
|
||||||
|
dev: 0b
|
||||||
|
fn: '3'
|
||||||
|
id: '0001'
|
||||||
|
name: 'System peripheral: Arastra Inc. Device 0001 (rev 03)'
|
||||||
- bus: ff
|
- bus: ff
|
||||||
dev: 0c
|
dev: 0c
|
||||||
fn: '0'
|
fn: '0'
|
||||||
|
@ -64,6 +64,11 @@
|
|||||||
id: '1578'
|
id: '1578'
|
||||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||||
Security Processor'
|
Security Processor'
|
||||||
|
- bus: '00'
|
||||||
|
dev: 09
|
||||||
|
fn: '0'
|
||||||
|
id: '0001'
|
||||||
|
name: 'Host bridge: Arista Networks, Inc. Device 0001'
|
||||||
- bus: '00'
|
- bus: '00'
|
||||||
dev: 09
|
dev: 09
|
||||||
fn: '2'
|
fn: '2'
|
||||||
|
@ -1,2 +1 @@
|
|||||||
SYNCD_SHM_SIZE=1gb
|
|
||||||
usemsi=1
|
usemsi=1
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"FABRIC_MONITOR_DATA": {
|
|
||||||
"monErrThreshCrcCells": 1,
|
|
||||||
"monErrThreshRxCells": 61035156,
|
|
||||||
"monPollThreshRecovery": 8,
|
|
||||||
"monPollThreshIsolation": 1
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,193 +0,0 @@
|
|||||||
# name lanes isolateStatus
|
|
||||||
Fabric0 0 False
|
|
||||||
Fabric1 1 False
|
|
||||||
Fabric2 2 False
|
|
||||||
Fabric3 3 False
|
|
||||||
Fabric4 4 False
|
|
||||||
Fabric5 5 False
|
|
||||||
Fabric6 6 False
|
|
||||||
Fabric7 7 False
|
|
||||||
Fabric8 8 False
|
|
||||||
Fabric9 9 False
|
|
||||||
Fabric10 10 False
|
|
||||||
Fabric11 11 False
|
|
||||||
Fabric12 12 False
|
|
||||||
Fabric13 13 False
|
|
||||||
Fabric14 14 False
|
|
||||||
Fabric15 15 False
|
|
||||||
Fabric16 16 False
|
|
||||||
Fabric17 17 False
|
|
||||||
Fabric18 18 False
|
|
||||||
Fabric19 19 False
|
|
||||||
Fabric20 20 False
|
|
||||||
Fabric21 21 False
|
|
||||||
Fabric22 22 False
|
|
||||||
Fabric23 23 False
|
|
||||||
Fabric24 24 False
|
|
||||||
Fabric25 25 False
|
|
||||||
Fabric26 26 False
|
|
||||||
Fabric27 27 False
|
|
||||||
Fabric28 28 False
|
|
||||||
Fabric29 29 False
|
|
||||||
Fabric30 30 False
|
|
||||||
Fabric31 31 False
|
|
||||||
Fabric32 32 False
|
|
||||||
Fabric33 33 False
|
|
||||||
Fabric34 34 False
|
|
||||||
Fabric35 35 False
|
|
||||||
Fabric36 36 False
|
|
||||||
Fabric37 37 False
|
|
||||||
Fabric38 38 False
|
|
||||||
Fabric39 39 False
|
|
||||||
Fabric40 40 False
|
|
||||||
Fabric41 41 False
|
|
||||||
Fabric42 42 False
|
|
||||||
Fabric43 43 False
|
|
||||||
Fabric44 44 False
|
|
||||||
Fabric45 45 False
|
|
||||||
Fabric46 46 False
|
|
||||||
Fabric47 47 False
|
|
||||||
Fabric48 48 False
|
|
||||||
Fabric49 49 False
|
|
||||||
Fabric50 50 False
|
|
||||||
Fabric51 51 False
|
|
||||||
Fabric52 52 False
|
|
||||||
Fabric53 53 False
|
|
||||||
Fabric54 54 False
|
|
||||||
Fabric55 55 False
|
|
||||||
Fabric56 56 False
|
|
||||||
Fabric57 57 False
|
|
||||||
Fabric58 58 False
|
|
||||||
Fabric59 59 False
|
|
||||||
Fabric60 60 False
|
|
||||||
Fabric61 61 False
|
|
||||||
Fabric62 62 False
|
|
||||||
Fabric63 63 False
|
|
||||||
Fabric64 64 False
|
|
||||||
Fabric65 65 False
|
|
||||||
Fabric66 66 False
|
|
||||||
Fabric67 67 False
|
|
||||||
Fabric68 68 False
|
|
||||||
Fabric69 69 False
|
|
||||||
Fabric70 70 False
|
|
||||||
Fabric71 71 False
|
|
||||||
Fabric72 72 False
|
|
||||||
Fabric73 73 False
|
|
||||||
Fabric74 74 False
|
|
||||||
Fabric75 75 False
|
|
||||||
Fabric76 76 False
|
|
||||||
Fabric77 77 False
|
|
||||||
Fabric78 78 False
|
|
||||||
Fabric79 79 False
|
|
||||||
Fabric80 80 False
|
|
||||||
Fabric81 81 False
|
|
||||||
Fabric82 82 False
|
|
||||||
Fabric83 83 False
|
|
||||||
Fabric84 84 False
|
|
||||||
Fabric85 85 False
|
|
||||||
Fabric86 86 False
|
|
||||||
Fabric87 87 False
|
|
||||||
Fabric88 88 False
|
|
||||||
Fabric89 89 False
|
|
||||||
Fabric90 90 False
|
|
||||||
Fabric91 91 False
|
|
||||||
Fabric92 92 False
|
|
||||||
Fabric93 93 False
|
|
||||||
Fabric94 94 False
|
|
||||||
Fabric95 95 False
|
|
||||||
Fabric96 96 False
|
|
||||||
Fabric97 97 False
|
|
||||||
Fabric98 98 False
|
|
||||||
Fabric99 99 False
|
|
||||||
Fabric100 100 False
|
|
||||||
Fabric101 101 False
|
|
||||||
Fabric102 102 False
|
|
||||||
Fabric103 103 False
|
|
||||||
Fabric104 104 False
|
|
||||||
Fabric105 105 False
|
|
||||||
Fabric106 106 False
|
|
||||||
Fabric107 107 False
|
|
||||||
Fabric108 108 False
|
|
||||||
Fabric109 109 False
|
|
||||||
Fabric110 110 False
|
|
||||||
Fabric111 111 False
|
|
||||||
Fabric112 112 False
|
|
||||||
Fabric113 113 False
|
|
||||||
Fabric114 114 False
|
|
||||||
Fabric115 115 False
|
|
||||||
Fabric116 116 False
|
|
||||||
Fabric117 117 False
|
|
||||||
Fabric118 118 False
|
|
||||||
Fabric119 119 False
|
|
||||||
Fabric120 120 False
|
|
||||||
Fabric121 121 False
|
|
||||||
Fabric122 122 False
|
|
||||||
Fabric123 123 False
|
|
||||||
Fabric124 124 False
|
|
||||||
Fabric125 125 False
|
|
||||||
Fabric126 126 False
|
|
||||||
Fabric127 127 False
|
|
||||||
Fabric128 128 False
|
|
||||||
Fabric129 129 False
|
|
||||||
Fabric130 130 False
|
|
||||||
Fabric131 131 False
|
|
||||||
Fabric132 132 False
|
|
||||||
Fabric133 133 False
|
|
||||||
Fabric134 134 False
|
|
||||||
Fabric135 135 False
|
|
||||||
Fabric136 136 False
|
|
||||||
Fabric137 137 False
|
|
||||||
Fabric138 138 False
|
|
||||||
Fabric139 139 False
|
|
||||||
Fabric140 140 False
|
|
||||||
Fabric141 141 False
|
|
||||||
Fabric142 142 False
|
|
||||||
Fabric143 143 False
|
|
||||||
Fabric144 144 False
|
|
||||||
Fabric145 145 False
|
|
||||||
Fabric146 146 False
|
|
||||||
Fabric147 147 False
|
|
||||||
Fabric148 148 False
|
|
||||||
Fabric149 149 False
|
|
||||||
Fabric150 150 False
|
|
||||||
Fabric151 151 False
|
|
||||||
Fabric152 152 False
|
|
||||||
Fabric153 153 False
|
|
||||||
Fabric154 154 False
|
|
||||||
Fabric155 155 False
|
|
||||||
Fabric156 156 False
|
|
||||||
Fabric157 157 False
|
|
||||||
Fabric158 158 False
|
|
||||||
Fabric159 159 False
|
|
||||||
Fabric160 160 False
|
|
||||||
Fabric161 161 False
|
|
||||||
Fabric162 162 False
|
|
||||||
Fabric163 163 False
|
|
||||||
Fabric164 164 False
|
|
||||||
Fabric165 165 False
|
|
||||||
Fabric166 166 False
|
|
||||||
Fabric167 167 False
|
|
||||||
Fabric168 168 False
|
|
||||||
Fabric169 169 False
|
|
||||||
Fabric170 170 False
|
|
||||||
Fabric171 171 False
|
|
||||||
Fabric172 172 False
|
|
||||||
Fabric173 173 False
|
|
||||||
Fabric174 174 False
|
|
||||||
Fabric175 175 False
|
|
||||||
Fabric176 176 False
|
|
||||||
Fabric177 177 False
|
|
||||||
Fabric178 178 False
|
|
||||||
Fabric179 179 False
|
|
||||||
Fabric180 180 False
|
|
||||||
Fabric181 181 False
|
|
||||||
Fabric182 182 False
|
|
||||||
Fabric183 183 False
|
|
||||||
Fabric184 184 False
|
|
||||||
Fabric185 185 False
|
|
||||||
Fabric186 186 False
|
|
||||||
Fabric187 187 False
|
|
||||||
Fabric188 188 False
|
|
||||||
Fabric189 189 False
|
|
||||||
Fabric190 190 False
|
|
||||||
Fabric191 191 False
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"FABRIC_MONITOR_DATA": {
|
|
||||||
"monErrThreshCrcCells": 1,
|
|
||||||
"monErrThreshRxCells": 61035156,
|
|
||||||
"monPollThreshRecovery": 8,
|
|
||||||
"monPollThreshIsolation": 1
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,193 +0,0 @@
|
|||||||
# name lanes isolateStatus
|
|
||||||
Fabric0 0 False
|
|
||||||
Fabric1 1 False
|
|
||||||
Fabric2 2 False
|
|
||||||
Fabric3 3 False
|
|
||||||
Fabric4 4 False
|
|
||||||
Fabric5 5 False
|
|
||||||
Fabric6 6 False
|
|
||||||
Fabric7 7 False
|
|
||||||
Fabric8 8 False
|
|
||||||
Fabric9 9 False
|
|
||||||
Fabric10 10 False
|
|
||||||
Fabric11 11 False
|
|
||||||
Fabric12 12 False
|
|
||||||
Fabric13 13 False
|
|
||||||
Fabric14 14 False
|
|
||||||
Fabric15 15 False
|
|
||||||
Fabric16 16 False
|
|
||||||
Fabric17 17 False
|
|
||||||
Fabric18 18 False
|
|
||||||
Fabric19 19 False
|
|
||||||
Fabric20 20 False
|
|
||||||
Fabric21 21 False
|
|
||||||
Fabric22 22 False
|
|
||||||
Fabric23 23 False
|
|
||||||
Fabric24 24 False
|
|
||||||
Fabric25 25 False
|
|
||||||
Fabric26 26 False
|
|
||||||
Fabric27 27 False
|
|
||||||
Fabric28 28 False
|
|
||||||
Fabric29 29 False
|
|
||||||
Fabric30 30 False
|
|
||||||
Fabric31 31 False
|
|
||||||
Fabric32 32 False
|
|
||||||
Fabric33 33 False
|
|
||||||
Fabric34 34 False
|
|
||||||
Fabric35 35 False
|
|
||||||
Fabric36 36 False
|
|
||||||
Fabric37 37 False
|
|
||||||
Fabric38 38 False
|
|
||||||
Fabric39 39 False
|
|
||||||
Fabric40 40 False
|
|
||||||
Fabric41 41 False
|
|
||||||
Fabric42 42 False
|
|
||||||
Fabric43 43 False
|
|
||||||
Fabric44 44 False
|
|
||||||
Fabric45 45 False
|
|
||||||
Fabric46 46 False
|
|
||||||
Fabric47 47 False
|
|
||||||
Fabric48 48 False
|
|
||||||
Fabric49 49 False
|
|
||||||
Fabric50 50 False
|
|
||||||
Fabric51 51 False
|
|
||||||
Fabric52 52 False
|
|
||||||
Fabric53 53 False
|
|
||||||
Fabric54 54 False
|
|
||||||
Fabric55 55 False
|
|
||||||
Fabric56 56 False
|
|
||||||
Fabric57 57 False
|
|
||||||
Fabric58 58 False
|
|
||||||
Fabric59 59 False
|
|
||||||
Fabric60 60 False
|
|
||||||
Fabric61 61 False
|
|
||||||
Fabric62 62 False
|
|
||||||
Fabric63 63 False
|
|
||||||
Fabric64 64 False
|
|
||||||
Fabric65 65 False
|
|
||||||
Fabric66 66 False
|
|
||||||
Fabric67 67 False
|
|
||||||
Fabric68 68 False
|
|
||||||
Fabric69 69 False
|
|
||||||
Fabric70 70 False
|
|
||||||
Fabric71 71 False
|
|
||||||
Fabric72 72 False
|
|
||||||
Fabric73 73 False
|
|
||||||
Fabric74 74 False
|
|
||||||
Fabric75 75 False
|
|
||||||
Fabric76 76 False
|
|
||||||
Fabric77 77 False
|
|
||||||
Fabric78 78 False
|
|
||||||
Fabric79 79 False
|
|
||||||
Fabric80 80 False
|
|
||||||
Fabric81 81 False
|
|
||||||
Fabric82 82 False
|
|
||||||
Fabric83 83 False
|
|
||||||
Fabric84 84 False
|
|
||||||
Fabric85 85 False
|
|
||||||
Fabric86 86 False
|
|
||||||
Fabric87 87 False
|
|
||||||
Fabric88 88 False
|
|
||||||
Fabric89 89 False
|
|
||||||
Fabric90 90 False
|
|
||||||
Fabric91 91 False
|
|
||||||
Fabric92 92 False
|
|
||||||
Fabric93 93 False
|
|
||||||
Fabric94 94 False
|
|
||||||
Fabric95 95 False
|
|
||||||
Fabric96 96 False
|
|
||||||
Fabric97 97 False
|
|
||||||
Fabric98 98 False
|
|
||||||
Fabric99 99 False
|
|
||||||
Fabric100 100 False
|
|
||||||
Fabric101 101 False
|
|
||||||
Fabric102 102 False
|
|
||||||
Fabric103 103 False
|
|
||||||
Fabric104 104 False
|
|
||||||
Fabric105 105 False
|
|
||||||
Fabric106 106 False
|
|
||||||
Fabric107 107 False
|
|
||||||
Fabric108 108 False
|
|
||||||
Fabric109 109 False
|
|
||||||
Fabric110 110 False
|
|
||||||
Fabric111 111 False
|
|
||||||
Fabric112 112 False
|
|
||||||
Fabric113 113 False
|
|
||||||
Fabric114 114 False
|
|
||||||
Fabric115 115 False
|
|
||||||
Fabric116 116 False
|
|
||||||
Fabric117 117 False
|
|
||||||
Fabric118 118 False
|
|
||||||
Fabric119 119 False
|
|
||||||
Fabric120 120 False
|
|
||||||
Fabric121 121 False
|
|
||||||
Fabric122 122 False
|
|
||||||
Fabric123 123 False
|
|
||||||
Fabric124 124 False
|
|
||||||
Fabric125 125 False
|
|
||||||
Fabric126 126 False
|
|
||||||
Fabric127 127 False
|
|
||||||
Fabric128 128 False
|
|
||||||
Fabric129 129 False
|
|
||||||
Fabric130 130 False
|
|
||||||
Fabric131 131 False
|
|
||||||
Fabric132 132 False
|
|
||||||
Fabric133 133 False
|
|
||||||
Fabric134 134 False
|
|
||||||
Fabric135 135 False
|
|
||||||
Fabric136 136 False
|
|
||||||
Fabric137 137 False
|
|
||||||
Fabric138 138 False
|
|
||||||
Fabric139 139 False
|
|
||||||
Fabric140 140 False
|
|
||||||
Fabric141 141 False
|
|
||||||
Fabric142 142 False
|
|
||||||
Fabric143 143 False
|
|
||||||
Fabric144 144 False
|
|
||||||
Fabric145 145 False
|
|
||||||
Fabric146 146 False
|
|
||||||
Fabric147 147 False
|
|
||||||
Fabric148 148 False
|
|
||||||
Fabric149 149 False
|
|
||||||
Fabric150 150 False
|
|
||||||
Fabric151 151 False
|
|
||||||
Fabric152 152 False
|
|
||||||
Fabric153 153 False
|
|
||||||
Fabric154 154 False
|
|
||||||
Fabric155 155 False
|
|
||||||
Fabric156 156 False
|
|
||||||
Fabric157 157 False
|
|
||||||
Fabric158 158 False
|
|
||||||
Fabric159 159 False
|
|
||||||
Fabric160 160 False
|
|
||||||
Fabric161 161 False
|
|
||||||
Fabric162 162 False
|
|
||||||
Fabric163 163 False
|
|
||||||
Fabric164 164 False
|
|
||||||
Fabric165 165 False
|
|
||||||
Fabric166 166 False
|
|
||||||
Fabric167 167 False
|
|
||||||
Fabric168 168 False
|
|
||||||
Fabric169 169 False
|
|
||||||
Fabric170 170 False
|
|
||||||
Fabric171 171 False
|
|
||||||
Fabric172 172 False
|
|
||||||
Fabric173 173 False
|
|
||||||
Fabric174 174 False
|
|
||||||
Fabric175 175 False
|
|
||||||
Fabric176 176 False
|
|
||||||
Fabric177 177 False
|
|
||||||
Fabric178 178 False
|
|
||||||
Fabric179 179 False
|
|
||||||
Fabric180 180 False
|
|
||||||
Fabric181 181 False
|
|
||||||
Fabric182 182 False
|
|
||||||
Fabric183 183 False
|
|
||||||
Fabric184 184 False
|
|
||||||
Fabric185 185 False
|
|
||||||
Fabric186 186 False
|
|
||||||
Fabric187 187 False
|
|
||||||
Fabric188 188 False
|
|
||||||
Fabric189 189 False
|
|
||||||
Fabric190 190 False
|
|
||||||
Fabric191 191 False
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"FABRIC_MONITOR_DATA": {
|
|
||||||
"monErrThreshCrcCells": 1,
|
|
||||||
"monErrThreshRxCells": 61035156,
|
|
||||||
"monPollThreshRecovery": 8,
|
|
||||||
"monPollThreshIsolation": 1
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,193 +0,0 @@
|
|||||||
# name lanes isolateStatus
|
|
||||||
Fabric0 0 False
|
|
||||||
Fabric1 1 False
|
|
||||||
Fabric2 2 False
|
|
||||||
Fabric3 3 False
|
|
||||||
Fabric4 4 False
|
|
||||||
Fabric5 5 False
|
|
||||||
Fabric6 6 False
|
|
||||||
Fabric7 7 False
|
|
||||||
Fabric8 8 False
|
|
||||||
Fabric9 9 False
|
|
||||||
Fabric10 10 False
|
|
||||||
Fabric11 11 False
|
|
||||||
Fabric12 12 False
|
|
||||||
Fabric13 13 False
|
|
||||||
Fabric14 14 False
|
|
||||||
Fabric15 15 False
|
|
||||||
Fabric16 16 False
|
|
||||||
Fabric17 17 False
|
|
||||||
Fabric18 18 False
|
|
||||||
Fabric19 19 False
|
|
||||||
Fabric20 20 False
|
|
||||||
Fabric21 21 False
|
|
||||||
Fabric22 22 False
|
|
||||||
Fabric23 23 False
|
|
||||||
Fabric24 24 False
|
|
||||||
Fabric25 25 False
|
|
||||||
Fabric26 26 False
|
|
||||||
Fabric27 27 False
|
|
||||||
Fabric28 28 False
|
|
||||||
Fabric29 29 False
|
|
||||||
Fabric30 30 False
|
|
||||||
Fabric31 31 False
|
|
||||||
Fabric32 32 False
|
|
||||||
Fabric33 33 False
|
|
||||||
Fabric34 34 False
|
|
||||||
Fabric35 35 False
|
|
||||||
Fabric36 36 False
|
|
||||||
Fabric37 37 False
|
|
||||||
Fabric38 38 False
|
|
||||||
Fabric39 39 False
|
|
||||||
Fabric40 40 False
|
|
||||||
Fabric41 41 False
|
|
||||||
Fabric42 42 False
|
|
||||||
Fabric43 43 False
|
|
||||||
Fabric44 44 False
|
|
||||||
Fabric45 45 False
|
|
||||||
Fabric46 46 False
|
|
||||||
Fabric47 47 False
|
|
||||||
Fabric48 48 False
|
|
||||||
Fabric49 49 False
|
|
||||||
Fabric50 50 False
|
|
||||||
Fabric51 51 False
|
|
||||||
Fabric52 52 False
|
|
||||||
Fabric53 53 False
|
|
||||||
Fabric54 54 False
|
|
||||||
Fabric55 55 False
|
|
||||||
Fabric56 56 False
|
|
||||||
Fabric57 57 False
|
|
||||||
Fabric58 58 False
|
|
||||||
Fabric59 59 False
|
|
||||||
Fabric60 60 False
|
|
||||||
Fabric61 61 False
|
|
||||||
Fabric62 62 False
|
|
||||||
Fabric63 63 False
|
|
||||||
Fabric64 64 False
|
|
||||||
Fabric65 65 False
|
|
||||||
Fabric66 66 False
|
|
||||||
Fabric67 67 False
|
|
||||||
Fabric68 68 False
|
|
||||||
Fabric69 69 False
|
|
||||||
Fabric70 70 False
|
|
||||||
Fabric71 71 False
|
|
||||||
Fabric72 72 False
|
|
||||||
Fabric73 73 False
|
|
||||||
Fabric74 74 False
|
|
||||||
Fabric75 75 False
|
|
||||||
Fabric76 76 False
|
|
||||||
Fabric77 77 False
|
|
||||||
Fabric78 78 False
|
|
||||||
Fabric79 79 False
|
|
||||||
Fabric80 80 False
|
|
||||||
Fabric81 81 False
|
|
||||||
Fabric82 82 False
|
|
||||||
Fabric83 83 False
|
|
||||||
Fabric84 84 False
|
|
||||||
Fabric85 85 False
|
|
||||||
Fabric86 86 False
|
|
||||||
Fabric87 87 False
|
|
||||||
Fabric88 88 False
|
|
||||||
Fabric89 89 False
|
|
||||||
Fabric90 90 False
|
|
||||||
Fabric91 91 False
|
|
||||||
Fabric92 92 False
|
|
||||||
Fabric93 93 False
|
|
||||||
Fabric94 94 False
|
|
||||||
Fabric95 95 False
|
|
||||||
Fabric96 96 False
|
|
||||||
Fabric97 97 False
|
|
||||||
Fabric98 98 False
|
|
||||||
Fabric99 99 False
|
|
||||||
Fabric100 100 False
|
|
||||||
Fabric101 101 False
|
|
||||||
Fabric102 102 False
|
|
||||||
Fabric103 103 False
|
|
||||||
Fabric104 104 False
|
|
||||||
Fabric105 105 False
|
|
||||||
Fabric106 106 False
|
|
||||||
Fabric107 107 False
|
|
||||||
Fabric108 108 False
|
|
||||||
Fabric109 109 False
|
|
||||||
Fabric110 110 False
|
|
||||||
Fabric111 111 False
|
|
||||||
Fabric112 112 False
|
|
||||||
Fabric113 113 False
|
|
||||||
Fabric114 114 False
|
|
||||||
Fabric115 115 False
|
|
||||||
Fabric116 116 False
|
|
||||||
Fabric117 117 False
|
|
||||||
Fabric118 118 False
|
|
||||||
Fabric119 119 False
|
|
||||||
Fabric120 120 False
|
|
||||||
Fabric121 121 False
|
|
||||||
Fabric122 122 False
|
|
||||||
Fabric123 123 False
|
|
||||||
Fabric124 124 False
|
|
||||||
Fabric125 125 False
|
|
||||||
Fabric126 126 False
|
|
||||||
Fabric127 127 False
|
|
||||||
Fabric128 128 False
|
|
||||||
Fabric129 129 False
|
|
||||||
Fabric130 130 False
|
|
||||||
Fabric131 131 False
|
|
||||||
Fabric132 132 False
|
|
||||||
Fabric133 133 False
|
|
||||||
Fabric134 134 False
|
|
||||||
Fabric135 135 False
|
|
||||||
Fabric136 136 False
|
|
||||||
Fabric137 137 False
|
|
||||||
Fabric138 138 False
|
|
||||||
Fabric139 139 False
|
|
||||||
Fabric140 140 False
|
|
||||||
Fabric141 141 False
|
|
||||||
Fabric142 142 False
|
|
||||||
Fabric143 143 False
|
|
||||||
Fabric144 144 False
|
|
||||||
Fabric145 145 False
|
|
||||||
Fabric146 146 False
|
|
||||||
Fabric147 147 False
|
|
||||||
Fabric148 148 False
|
|
||||||
Fabric149 149 False
|
|
||||||
Fabric150 150 False
|
|
||||||
Fabric151 151 False
|
|
||||||
Fabric152 152 False
|
|
||||||
Fabric153 153 False
|
|
||||||
Fabric154 154 False
|
|
||||||
Fabric155 155 False
|
|
||||||
Fabric156 156 False
|
|
||||||
Fabric157 157 False
|
|
||||||
Fabric158 158 False
|
|
||||||
Fabric159 159 False
|
|
||||||
Fabric160 160 False
|
|
||||||
Fabric161 161 False
|
|
||||||
Fabric162 162 False
|
|
||||||
Fabric163 163 False
|
|
||||||
Fabric164 164 False
|
|
||||||
Fabric165 165 False
|
|
||||||
Fabric166 166 False
|
|
||||||
Fabric167 167 False
|
|
||||||
Fabric168 168 False
|
|
||||||
Fabric169 169 False
|
|
||||||
Fabric170 170 False
|
|
||||||
Fabric171 171 False
|
|
||||||
Fabric172 172 False
|
|
||||||
Fabric173 173 False
|
|
||||||
Fabric174 174 False
|
|
||||||
Fabric175 175 False
|
|
||||||
Fabric176 176 False
|
|
||||||
Fabric177 177 False
|
|
||||||
Fabric178 178 False
|
|
||||||
Fabric179 179 False
|
|
||||||
Fabric180 180 False
|
|
||||||
Fabric181 181 False
|
|
||||||
Fabric182 182 False
|
|
||||||
Fabric183 183 False
|
|
||||||
Fabric184 184 False
|
|
||||||
Fabric185 185 False
|
|
||||||
Fabric186 186 False
|
|
||||||
Fabric187 187 False
|
|
||||||
Fabric188 188 False
|
|
||||||
Fabric189 189 False
|
|
||||||
Fabric190 190 False
|
|
||||||
Fabric191 191 False
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user