Compare commits
1 Commits
master
...
pre_202305
Author | SHA1 | Date | |
---|---|---|---|
|
7b0e38eec7 |
@ -33,14 +33,13 @@ parameters:
|
||||
type: object
|
||||
default:
|
||||
- vs
|
||||
- barefoot
|
||||
- broadcom
|
||||
- centec
|
||||
- centec-arm64
|
||||
- generic
|
||||
- marvell-armhf
|
||||
- marvell-arm64
|
||||
- mellanox
|
||||
- pensando
|
||||
|
||||
stages:
|
||||
- stage: Prepare
|
||||
@ -74,7 +73,7 @@ stages:
|
||||
- template: azure-pipelines-build.yml
|
||||
parameters:
|
||||
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:
|
||||
- template: .azure-pipelines/template-clean-sonic-slave.yml@buildimage
|
||||
- checkout: self
|
||||
@ -162,8 +161,8 @@ stages:
|
||||
git branch -u remote/$BRANCH_NAME
|
||||
|
||||
echo $GIT_PASSWORD | gh auth login --with-token
|
||||
TITLE="[${SOURCE_BRANCH#refs/heads/}] Upgrade SONiC package Versions"
|
||||
BODY=$TITLE
|
||||
TITLE="Upgrade SONiC Versions"
|
||||
BODY="Upgrade SONiC Versions"
|
||||
RET=0
|
||||
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
|
||||
|
@ -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
|
||||
asan_image: no
|
||||
swi_image: no
|
||||
raw_image: no
|
||||
docker_syncd_rpc_image: no
|
||||
syncd_rpc_image: no
|
||||
platform_rpc: no
|
||||
@ -61,6 +62,7 @@ jobs:
|
||||
variables:
|
||||
dbg_image: yes
|
||||
swi_image: yes
|
||||
raw_image: yes
|
||||
docker_syncd_rpc_image: yes
|
||||
platform_rpc: brcm
|
||||
|
||||
@ -114,19 +116,12 @@ jobs:
|
||||
docker_syncd_rpc_image: yes
|
||||
platform_rpc: nephos
|
||||
|
||||
- name: pensando
|
||||
pool: sonicbld-arm64
|
||||
variables:
|
||||
PLATFORM_ARCH: arm64
|
||||
|
||||
buildSteps:
|
||||
- template: .azure-pipelines/template-skipvstest.yml@buildimage
|
||||
- template: .azure-pipelines/template-daemon.yml@buildimage
|
||||
- bash: |
|
||||
set -ex
|
||||
if [ $(GROUP_NAME) == pensando ]; then
|
||||
make $BUILD_OPTIONS target/sonic-pensando.tar
|
||||
elif [ $(GROUP_NAME) == vs ]; then
|
||||
if [ $(GROUP_NAME) == vs ]; then
|
||||
if [ $(dbg_image) == yes ]; then
|
||||
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.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
|
||||
mv target/docker-sonic-vs.gz target/docker-sonic-vs-asan.gz
|
||||
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-ptf-sai.gz
|
||||
if [ $(Build.Reason) != 'PullRequest' ];then
|
||||
@ -158,6 +145,9 @@ jobs:
|
||||
if [ $(swi_image) == yes ]; then
|
||||
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
|
||||
fi
|
||||
if [ $(raw_image) == yes ]; then
|
||||
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
|
||||
fi
|
||||
if [ $(docker_syncd_rpc_image) == yes ]; then
|
||||
# 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
|
||||
|
@ -28,13 +28,11 @@ jobs:
|
||||
- template: .azure-pipelines/cleanup.yml@buildimage
|
||||
- ${{ parameters.preSteps }}
|
||||
- script: |
|
||||
[ -n "$OVERRIDE_BUILD_OPTIONS" ] && OVERRIDE_BUILD_OPTIONS=$(OVERRIDE_BUILD_OPTIONS)
|
||||
BUILD_OPTIONS="$(BUILD_OPTIONS) $OVERRIDE_BUILD_OPTIONS"
|
||||
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf|marvell-arm64)$"; then
|
||||
BUILD_OPTIONS="$(BUILD_OPTIONS)"
|
||||
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox|marvell-armhf)$"; then
|
||||
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
|
||||
echo $BUILD_OPTIONS
|
||||
echo "##vso[task.setvariable variable=BUILD_OPTIONS]$BUILD_OPTIONS"
|
||||
displayName: "Set cache options"
|
||||
- checkout: self
|
||||
|
@ -101,6 +101,9 @@ jobs:
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -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
|
||||
|
||||
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
|
||||
docker load -i target/docker-sonic-mgmt.gz
|
||||
docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:latest
|
||||
|
@ -16,7 +16,6 @@ parameters:
|
||||
- name: dist
|
||||
type: string
|
||||
values:
|
||||
- bookworm
|
||||
- bullseye
|
||||
- buster
|
||||
- stretch
|
||||
|
@ -8,7 +8,7 @@ resources:
|
||||
- repository: buildimage
|
||||
type: github
|
||||
name: sonic-net/sonic-buildimage
|
||||
ref: bookworm
|
||||
ref: master
|
||||
endpoint: sonic-net
|
||||
|
||||
schedules:
|
||||
@ -44,7 +44,6 @@ parameters:
|
||||
- name: 'dists'
|
||||
type: object
|
||||
default:
|
||||
- bookworm
|
||||
- bullseye
|
||||
- buster
|
||||
- stretch
|
||||
|
@ -15,34 +15,13 @@ trigger: none
|
||||
pr: none
|
||||
|
||||
jobs:
|
||||
- job: Amd
|
||||
- job: Build
|
||||
pool: sonicbld
|
||||
timeoutInMinutes: 5
|
||||
steps:
|
||||
- checkout: none
|
||||
- script: |
|
||||
df -h
|
||||
set -xe
|
||||
sudo find /nfs/dpkg_cache/ -name *.tgz -mtime +30 -type f -delete
|
||||
df -h
|
||||
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
|
||||
variables:
|
||||
swi_image: yes
|
||||
raw_image: yes
|
||||
docker_syncd_rpc_image: yes
|
||||
platform_rpc: brcm
|
||||
- name: mellanox
|
||||
|
@ -18,10 +18,6 @@ parameters:
|
||||
type: string
|
||||
default: 1
|
||||
|
||||
- name: NUM_ASIC
|
||||
type: number
|
||||
default: 1
|
||||
|
||||
- name: TEST_SET
|
||||
type: string
|
||||
default: ""
|
||||
@ -38,103 +34,39 @@ parameters:
|
||||
type: string
|
||||
default: "ceos"
|
||||
|
||||
- name: TESTBED_NAME
|
||||
- name: SPECIFIED_PARAMS
|
||||
type: string
|
||||
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: ""
|
||||
default: "{}"
|
||||
|
||||
- name: MGMT_BRANCH
|
||||
type: string
|
||||
default: ""
|
||||
default: master
|
||||
|
||||
- name: STOP_ON_FAILURE
|
||||
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
|
||||
- name: NUM_ASIC
|
||||
type: number
|
||||
default: 480
|
||||
|
||||
default: 1
|
||||
|
||||
steps:
|
||||
- script: |
|
||||
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/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: |
|
||||
set -e
|
||||
pip install PyYAML
|
||||
rm -f new_test_plan_id.txt
|
||||
|
||||
python ./.azure-pipelines/test_plan.py create \
|
||||
-t ${{ parameters.TOPOLOGY }} \
|
||||
-o new_test_plan_id.txt \
|
||||
--min-worker ${{ parameters.MIN_WORKER }} \
|
||||
--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 }} \
|
||||
python ./.azure-pipelines/test_plan.py create -t ${{ parameters.TOPOLOGY }} -o new_test_plan_id.txt \
|
||||
--min-worker ${{ parameters.MIN_WORKER }} --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 }} --specified-params "${{ parameters.SPECIFIED_PARAMS }}" \
|
||||
--num-asic ${{ parameters.NUM_ASIC }}
|
||||
|
||||
TEST_PLAN_ID=`cat new_test_plan_id.txt`
|
||||
|
||||
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"
|
||||
env:
|
||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||
@ -146,8 +78,8 @@ steps:
|
||||
- script: |
|
||||
set -e
|
||||
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 "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 "LOCK_TESTBED" finish, it changes into "PREPARE_TESTBED"
|
||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state LOCK_TESTBED
|
||||
env:
|
||||
@ -157,9 +89,10 @@ steps:
|
||||
- script: |
|
||||
set -e
|
||||
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 "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 $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
||||
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 "If the progress keeps as 0 for more than 1 hour, please cancel and retry this pipeline"
|
||||
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"
|
||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state PREPARE_TESTBED
|
||||
env:
|
||||
@ -169,27 +102,25 @@ steps:
|
||||
- script: |
|
||||
set -e
|
||||
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 "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 "EXECUTING" finish, it changes into "KVMDUMP", "FAILED", "CANCELLED" or "FINISHED"
|
||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state EXECUTING
|
||||
env:
|
||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||
displayName: Run test
|
||||
timeoutInMinutes: ${{ parameters.MAX_RUN_TEST_MINUTES }}
|
||||
|
||||
- ${{ if eq(parameters.DUMP_KVM_IF_FAIL, 'True') }}:
|
||||
- script: |
|
||||
set -e
|
||||
echo "KVM dump"
|
||||
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 $(FRONTEND_URL)/scheduler/testplan/$TEST_PLAN_ID "
|
||||
# When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED"
|
||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP
|
||||
condition: succeededOrFailed()
|
||||
env:
|
||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||
displayName: KVM dump
|
||||
- script: |
|
||||
set -e
|
||||
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 "Runtime detailed progress at https://www.testbed-tools.org/scheduler/testplan/$TEST_PLAN_ID "
|
||||
# When "KVMDUMP" finish, it changes into "FAILED", "CANCELLED" or "FINISHED"
|
||||
python ./.azure-pipelines/test_plan.py poll -i "$(TEST_PLAN_ID)" --expected-state KVMDUMP
|
||||
condition: succeededOrFailed()
|
||||
env:
|
||||
TESTBED_TOOLS_URL: $(TESTBED_TOOLS_URL)
|
||||
displayName: KVM dump
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
|
@ -2,18 +2,7 @@ steps:
|
||||
- ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- script: |
|
||||
set -ex
|
||||
tar_branch=origin/$(System.PullRequest.TargetBranchName)
|
||||
# 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)
|
||||
tar_branch=origin/$(System.PullRequest.TargetBranch)
|
||||
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
|
||||
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
|
||||
- [ ] 202205
|
||||
- [ ] 202211
|
||||
- [ ] 202305
|
||||
|
||||
#### 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:
|
||||
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' && false
|
||||
if: github.event.check_suite.app.name == 'Azure Pipelines' && github.event.check_suite.conclusion == 'success'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: automerge
|
||||
|
80
.github/workflows/automerge_scan.yml
vendored
80
.github/workflows/automerge_scan.yml
vendored
@ -6,8 +6,7 @@ on:
|
||||
|
||||
jobs:
|
||||
automerge_scan:
|
||||
# Disable workflow, and use pipeline instead to have same logic with other automation
|
||||
if: github.repository_owner == 'sonic-net' && false
|
||||
if: github.repository_owner == 'sonic-net'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Debug
|
||||
@ -17,81 +16,58 @@ jobs:
|
||||
set -e
|
||||
|
||||
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
|
||||
- name: Main
|
||||
run: |
|
||||
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')
|
||||
for ((i=0;i<$count;i++))
|
||||
do
|
||||
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")
|
||||
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
|
||||
[[ $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_count=$(echo $checks | jq 'length')
|
||||
pr_success=true
|
||||
echo Checks count: $checks_count
|
||||
for ((j=0;j<$checks_count;j++))
|
||||
do
|
||||
check=$(echo $checks | jq ".[$j]")
|
||||
status=$(echo $check | jq -r '.status')
|
||||
state=$(echo $check | jq -r '.state')
|
||||
conclusion=$(echo $check | jq -r '.conclusion')
|
||||
name=$(echo $check | jq -r '.name')
|
||||
|
||||
# EasyCLA success flag: state=SUCCESS
|
||||
# Others success flag: conclusion in SUCCESS,NEUTRAL
|
||||
# only check Azure.sonic-buildimage currently
|
||||
echo "$name" | grep -v "Azure.sonic-buildimage" > /dev/null && continue
|
||||
[[ "$status" != "COMPLETED" ]] && echo "$name: $status" && continue 2
|
||||
|
||||
success=true
|
||||
( [[ "$conclusion" == "FAILURE" ]] || [[ "$conclusion" == "CANCELLED" ]] ) && success=false && pr_success=false
|
||||
! $success && echo "FAIL: $name"
|
||||
# Ignore Azure.sonic-buildimage stage check result. It may be set continueOnError
|
||||
echo "$name" | grep "Azure.sonic-buildimage (" && continue
|
||||
# rerun Azure.sonic-buildimage per day
|
||||
if [[ "$name" == "Azure.sonic-buildimage" ]] && [[ "$conclusion" == "FAILURE" ]];then
|
||||
completedAt=$(echo $check | jq -r '.completedAt')
|
||||
[[ "$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"
|
||||
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
|
||||
|
||||
# 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
|
||||
echo ========Merging PR========
|
||||
if echo $title | grep "^\[submodule\]";then
|
||||
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
|
||||
gh pr merge --rebase --admin -R sonic-net/sonic-buildimage $url || true
|
||||
echo ========Finished PR========
|
||||
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:
|
||||
post_cherry_pick:
|
||||
# Use azpw instead to have stable performance
|
||||
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]')
|
||||
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]')
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Debug
|
||||
|
3
.github/workflows/pr_cherrypick_prestep.yml
vendored
3
.github/workflows/pr_cherrypick_prestep.yml
vendored
@ -9,8 +9,7 @@ on:
|
||||
|
||||
jobs:
|
||||
pre_cherry_pick:
|
||||
# Use azpw instead of workflow to have stable performance.
|
||||
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')) )
|
||||
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')) )
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
6
.gitignore
vendored
6
.gitignore
vendored
@ -41,9 +41,6 @@ installer/x86_64/platforms/
|
||||
# Misc. files
|
||||
asic_config_checksum
|
||||
files/Aboot/boot0
|
||||
files/dsc/MANIFEST
|
||||
files/dsc/install_debian
|
||||
files/dsc/fs.zip
|
||||
files/initramfs-tools/arista-convertfs
|
||||
files/initramfs-tools/union-mount
|
||||
|
||||
@ -108,6 +105,3 @@ htmlcov/
|
||||
# Debian mirror Sources
|
||||
sources.list.*
|
||||
!sources.list*.j2
|
||||
|
||||
# Generated mirror configs
|
||||
apt-retries-count
|
||||
|
24
.gitmodules
vendored
24
.gitmodules
vendored
@ -1,15 +1,19 @@
|
||||
[submodule "sonic-swss-common"]
|
||||
path = src/sonic-swss-common
|
||||
url = https://github.com/sonic-net/sonic-swss-common
|
||||
branch = 202305
|
||||
[submodule "sonic-linux-kernel"]
|
||||
path = src/sonic-linux-kernel
|
||||
url = https://github.com/sonic-net/sonic-linux-kernel
|
||||
branch = 202305
|
||||
[submodule "sonic-sairedis"]
|
||||
path = src/sonic-sairedis
|
||||
url = https://github.com/sonic-net/sonic-sairedis
|
||||
branch = 202305
|
||||
[submodule "sonic-swss"]
|
||||
path = src/sonic-swss
|
||||
url = https://github.com/sonic-net/sonic-swss
|
||||
branch = 202305
|
||||
[submodule "src/p4c-bm/p4c-bm"]
|
||||
path = platform/p4/p4c-bm/p4c-bm
|
||||
url = https://github.com/krambn/p4c-bm
|
||||
@ -31,22 +35,25 @@
|
||||
[submodule "src/sonic-utilities"]
|
||||
path = src/sonic-utilities
|
||||
url = https://github.com/sonic-net/sonic-utilities
|
||||
branch = 202305
|
||||
[submodule "platform/broadcom/sonic-platform-modules-arista"]
|
||||
path = platform/broadcom/sonic-platform-modules-arista
|
||||
url = https://github.com/aristanetworks/sonic
|
||||
[submodule "src/sonic-platform-common"]
|
||||
path = src/sonic-platform-common
|
||||
url = https://github.com/sonic-net/sonic-platform-common
|
||||
branch = 202305
|
||||
[submodule "src/sonic-platform-daemons"]
|
||||
path = src/sonic-platform-daemons
|
||||
url = https://github.com/sonic-net/sonic-platform-daemons
|
||||
branch = 202305
|
||||
[submodule "src/sonic-platform-pde"]
|
||||
path = src/sonic-platform-pde
|
||||
url = https://github.com/sonic-net/sonic-platform-pdk-pde
|
||||
[submodule "src/sonic-frr/frr"]
|
||||
path = src/sonic-frr/frr
|
||||
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"]
|
||||
path = platform/p4/p4-hlir/p4-hlir-v1.1
|
||||
url = https://github.com/p4lang/p4-hlir.git
|
||||
@ -65,6 +72,9 @@
|
||||
[submodule "src/scapy"]
|
||||
path = src/scapy
|
||||
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"]
|
||||
path = src/sonic-mgmt-framework
|
||||
url = https://github.com/sonic-net/sonic-mgmt-framework
|
||||
@ -91,6 +101,7 @@
|
||||
[submodule "src/linkmgrd"]
|
||||
path = src/linkmgrd
|
||||
url = https://github.com/sonic-net/sonic-linkmgrd.git
|
||||
branch = 202305
|
||||
[submodule "src/sonic-p4rt/sonic-pins"]
|
||||
path = src/sonic-p4rt/sonic-pins
|
||||
url = https://github.com/sonic-net/sonic-pins.git
|
||||
@ -103,21 +114,14 @@
|
||||
[submodule "src/sonic-host-services"]
|
||||
path = src/sonic-host-services
|
||||
url = https://github.com/sonic-net/sonic-host-services
|
||||
branch = 202305
|
||||
[submodule "src/sonic-gnmi"]
|
||||
path = src/sonic-gnmi
|
||||
url = https://github.com/sonic-net/sonic-gnmi.git
|
||||
branch = 202305
|
||||
[submodule "src/sonic-genl-packet"]
|
||||
path = src/sonic-genl-packet
|
||||
url = https://github.com/sonic-net/sonic-genl-packet
|
||||
[submodule "src/dhcpmon"]
|
||||
path = src/dhcpmon
|
||||
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");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
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
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
19
Makefile
19
Makefile
@ -4,7 +4,6 @@ NOJESSIE ?= 1
|
||||
NOSTRETCH ?= 1
|
||||
NOBUSTER ?= 0
|
||||
NOBULLSEYE ?= 0
|
||||
NOBOOKWORM ?= 0
|
||||
|
||||
override Q := @
|
||||
ifeq ($(QUIET),n)
|
||||
@ -30,10 +29,6 @@ ifeq ($(NOBULLSEYE),0)
|
||||
BUILD_BULLSEYE=1
|
||||
endif
|
||||
|
||||
ifeq ($(NOBOOKWORM),0)
|
||||
BUILD_BOOKWORM=1
|
||||
endif
|
||||
|
||||
PLATFORM_PATH := platform/$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))
|
||||
PLATFORM_CHECKOUT := platform/checkout
|
||||
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
|
||||
endif
|
||||
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
|
||||
ifeq ($(NOBOOKWORM), 0)
|
||||
$(MAKE_WITH_RETRY) BLDENV=bookworm -f Makefile.work $@
|
||||
endif
|
||||
BLDENV=bookworm $(MAKE) -f Makefile.work docker-cleanup
|
||||
BLDENV=bullseye $(MAKE) -f Makefile.work docker-cleanup
|
||||
|
||||
jessie:
|
||||
@echo "+++ Making $@ +++"
|
||||
@ -77,12 +69,6 @@ ifeq ($(NOBUSTER), 0)
|
||||
$(MAKE) -f Makefile.work buster
|
||||
endif
|
||||
|
||||
bullseye:
|
||||
@echo "+++ Making $@ +++"
|
||||
ifeq ($(NOBUSTER), 0)
|
||||
$(MAKE) -f Makefile.work bullseye
|
||||
endif
|
||||
|
||||
init:
|
||||
@echo "+++ Making $@ +++"
|
||||
$(MAKE) -f Makefile.work $@
|
||||
@ -96,7 +82,6 @@ define make_work
|
||||
$(if $(BUILD_STRETCH),BLDENV=stretch $(MAKE) -f Makefile.work $@,)
|
||||
$(if $(BUILD_BUSTER),BLDENV=buster $(MAKE) -f Makefile.work $@,)
|
||||
$(if $(BUILD_BULLSEYE),BLDENV=bullseye $(MAKE) -f Makefile.work $@,)
|
||||
$(if $(BUILD_BOOKWORM),BLDENV=bookworm $(MAKE) -f Makefile.work $@,)
|
||||
endef
|
||||
|
||||
.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-slave-stretch/Dockerfile.j2 sonic-slave-stretch/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-bookworm/Dockerfile.j2 sonic-slave-bookworm/Dockerfile.user.j2
|
||||
sonic-slave-bullseye/Dockerfile.j2 sonic-slave-bullseye/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
|
||||
$(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).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>>$($(1)_DST_PATH)/$(1).log
|
||||
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 "[ 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)))
|
||||
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.
|
||||
@ -403,17 +384,11 @@ $(foreach pkg, $(SONIC_INSTALL_PKGS), \
|
||||
$(eval $(pkg)_DST_PATH := $(if $($(pkg)_DST_PATH), $($(pkg)_DST_PATH), $(FSROOT_PATH))) \
|
||||
$(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
|
||||
$(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_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)_BASE_PATH:=$(if $($(pkg)_BASE_PATH),$($(pkg)_BASE_PATH),$(CURDIR))) \
|
||||
$(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_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_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)))))
|
||||
$(foreach docker, $(filter $(SONIC_DOCKER_IMAGES), $(1)), \
|
||||
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
||||
$(wildcard files/build/versions/dockers/$(basename $(docker))/*) \
|
||||
$(foreach docker_file, $($(docker)_FILES), $(addprefix $(if $($(docker_file)_PATH), $($(docker_file)_PATH), $(FILES_PATH))/, $(docker_file))) ))
|
||||
$(wildcard files/build/versions/dockers/$(basename $(docker))/*)))
|
||||
$(foreach docker, $(filter $(SONIC_DOCKER_DBG_IMAGES), $(1)), \
|
||||
$(eval $(docker)_DEP_FILES+=$(wildcard files/build/versions/default/*) \
|
||||
$(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))) ))
|
||||
$(wildcard files/build/versions/dockers/$(patsubst %-$(DBG_IMAGE_MARK).gz,%,$(docker))/*)))
|
||||
$(addsuffix .$(3),$(addprefix $(2)/, $(1))) : $(2)/%.$(3) : \
|
||||
$(2)/%.flags $$$$($$$$*_DEP_FILES) $$$$(if $$$$($$$$*_SMDEP_FILES), $(2)/%.smdep)
|
||||
@$$(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_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_RFS_TARGETS), $(TARGET_PATH),dep))
|
||||
|
||||
|
||||
|
||||
@ -645,7 +616,6 @@ SONIC_CACHE_CLEAN_TARGETS = $(addsuffix -clean,$(addprefix $(TARGET_PATH)/, \
|
||||
$(SONIC_DOCKER_IMAGES) \
|
||||
$(SONIC_DOCKER_DBG_IMAGES) \
|
||||
$(SONIC_SIMPLE_DOCKER_IMAGES) \
|
||||
$(SONIC_RFS_TARGETS) \
|
||||
$(SONIC_INSTALLERS)))
|
||||
$(SONIC_CACHE_CLEAN_TARGETS) :: $(TARGET_PATH)/%-clean : .platform
|
||||
@rm -f $($*_DEP_FLAGS_FILE) $($*_MOD_HASH_FILE) $($*_SMOD_HASH_FILE) \
|
||||
|
@ -5,6 +5,8 @@
|
||||
#
|
||||
# * PLATFORM: Specific platform we wish to build images for.
|
||||
# * 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.
|
||||
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
|
||||
# * INCLUDE_KUBERNETES: Allows including Kubernetes
|
||||
@ -38,9 +40,6 @@
|
||||
# * ENABLE_NATIVE_WRITE: Enable native write/config operations via the gNMI interface.
|
||||
# * Default: unset
|
||||
# * 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_SOURCE: Debian package cache location when cache enabled for debian packages
|
||||
# * BUILD_LOG_TIMESTAMP: Set timestamp in the build log (simple/none)
|
||||
@ -70,7 +69,6 @@ USER := $(shell id -un)
|
||||
PWD := $(shell pwd)
|
||||
USER_LC := $(shell echo $(USER) | tr A-Z a-z)
|
||||
DOCKER_MACHINE := $(shell docker run --rm debian:buster uname -m)
|
||||
HOST_DOCKERD_GID := $(shell getent group docker | cut -d : -f3)
|
||||
|
||||
comma := ,
|
||||
|
||||
@ -123,9 +121,7 @@ else
|
||||
TARGET_BOOTLOADER = uboot
|
||||
endif
|
||||
|
||||
ifeq ($(BLDENV), bookworm)
|
||||
SLAVE_DIR = sonic-slave-bookworm
|
||||
else ifeq ($(BLDENV), bullseye)
|
||||
ifeq ($(BLDENV), bullseye)
|
||||
SLAVE_DIR = sonic-slave-bullseye
|
||||
else ifeq ($(BLDENV), buster)
|
||||
SLAVE_DIR = sonic-slave-buster
|
||||
@ -151,10 +147,6 @@ ifeq ($(ENABLE_DOCKER_BASE_PULL),)
|
||||
override ENABLE_DOCKER_BASE_PULL = n
|
||||
endif
|
||||
|
||||
ifeq ($(LEGACY_SONIC_MGMT_DOCKER),)
|
||||
override LEGACY_SONIC_MGMT_DOCKER = y
|
||||
endif
|
||||
|
||||
ifneq ($(GZ_COMPRESS_PROGRAM), pigz)
|
||||
override GZ_COMPRESS_PROGRAM = gzip
|
||||
endif
|
||||
@ -184,19 +176,13 @@ DOCKER_ROOT = $(PWD)/fsroot.docker.$(BLDENV)
|
||||
|
||||
# Support FIPS feature, armhf not supported yet
|
||||
ifeq ($(PLATFORM_ARCH),armhf)
|
||||
INCLUDE_FIPS := n
|
||||
ENABLE_FIPS_FEATURE := n
|
||||
ENABLE_FIPS := n
|
||||
endif
|
||||
|
||||
# FIPS not yet available on Bookworm
|
||||
ifeq ($(BLDENV),bookworm)
|
||||
$(warning FIPS support not yet available on Bookworm)
|
||||
INCLUDE_FIPS := n
|
||||
endif
|
||||
|
||||
ifeq ($(INCLUDE_FIPS), n)
|
||||
ifeq ($(ENABLE_FIPS_FEATURE), n)
|
||||
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
|
||||
|
||||
@ -217,14 +203,13 @@ $(shell \
|
||||
SONIC_VERSION_CACHE_SOURCE=$(SONIC_VERSION_CACHE_SOURCE) \
|
||||
DBGOPT='$(DBGOPT)' \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||
PIP_HTTP_TIMEOUT=$(PIP_HTTP_TIMEOUT) \
|
||||
scripts/generate_buildinfo_config.sh)
|
||||
|
||||
# Generate the slave Dockerfile, and prepare build info for it
|
||||
$(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) \
|
||||
MULTIARCH_QEMU_ENVIRON=$(MULTIARCH_QEMU_ENVIRON) \
|
||||
CROSS_BUILD_ENVIRON=$(CROSS_BUILD_ENVIRON) \
|
||||
INCLUDE_FIPS=$(INCLUDE_FIPS) \
|
||||
ENABLE_FIPS_FEATURE=$(ENABLE_FIPS_FEATURE) \
|
||||
DOCKER_EXTRA_OPTS=$(DOCKER_EXTRA_OPTS) \
|
||||
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
||||
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)
|
||||
|
||||
ifeq ($(CROSS_BUILD_ENVIRON), y)
|
||||
$(shell SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV))
|
||||
$(shell MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) amd64 $(BLDENV))
|
||||
endif
|
||||
$(shell SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV))
|
||||
$(shell MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) scripts/build_mirror_config.sh $(SLAVE_DIR) $(CONFIGURED_ARCH) $(BLDENV))
|
||||
|
||||
PREPARE_DOCKER=BUILD_SLAVE=y \
|
||||
DEFAULT_CONTAINER_REGISTRY=$(DEFAULT_CONTAINER_REGISTRY) \
|
||||
@ -391,7 +374,7 @@ endif
|
||||
|
||||
ifeq ($(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD), 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
|
||||
|
||||
@ -521,13 +504,13 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
||||
BUILD_TIMESTAMP=$(BUILD_TIMESTAMP) \
|
||||
SONIC_IMAGE_VERSION=$(SONIC_IMAGE_VERSION) \
|
||||
SLAVE_TAG=$(SLAVE_TAG) \
|
||||
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
||||
ENABLE_ZTP=$(ENABLE_ZTP) \
|
||||
INCLUDE_PDE=$(INCLUDE_PDE) \
|
||||
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
|
||||
INCLUDE_KUBERNETES=$(INCLUDE_KUBERNETES) \
|
||||
KUBERNETES_VERSION=$(KUBERNETES_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) \
|
||||
INCLUDE_KUBERNETES_MASTER=$(INCLUDE_KUBERNETES_MASTER) \
|
||||
SONIC_ENABLE_PFCWD_ON_START=$(ENABLE_PFCWD_ON_START) \
|
||||
@ -553,16 +536,12 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
||||
DOCKER_LOCKFILE_SAVE=$(DOCKER_LOCKFILE_SAVE) \
|
||||
SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD=$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) \
|
||||
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_SERVER=$(INCLUDE_DHCP_SERVER) \
|
||||
INCLUDE_MACSEC=$(INCLUDE_MACSEC) \
|
||||
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \
|
||||
SONIC_INCLUDE_MUX=$(INCLUDE_MUX) \
|
||||
ENABLE_TRANSLIB_WRITE=$(ENABLE_TRANSLIB_WRITE) \
|
||||
ENABLE_NATIVE_WRITE=$(ENABLE_NATIVE_WRITE) \
|
||||
ENABLE_DIALOUT=$(ENABLE_DIALOUT) \
|
||||
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
|
||||
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
|
||||
SONIC_ENABLE_IMAGE_SIGNATURE=$(ENABLE_IMAGE_SIGNATURE) \
|
||||
@ -580,7 +559,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
||||
ENABLE_ASAN=$(ENABLE_ASAN) \
|
||||
SONIC_INCLUDE_BOOTCHART=$(INCLUDE_BOOTCHART) \
|
||||
SONIC_ENABLE_BOOTCHART=$(ENABLE_BOOTCHART) \
|
||||
INCLUDE_FIPS=$(INCLUDE_FIPS) \
|
||||
ENABLE_FIPS_FEATURE=$(ENABLE_FIPS_FEATURE) \
|
||||
ENABLE_FIPS=$(ENABLE_FIPS) \
|
||||
SONIC_SLAVE_DOCKER_DRIVER=$(SONIC_SLAVE_DOCKER_DRIVER) \
|
||||
MIRROR_URLS=$(MIRROR_URLS) \
|
||||
@ -588,10 +567,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
|
||||
GZ_COMPRESS_PROGRAM=$(GZ_COMPRESS_PROGRAM) \
|
||||
MIRROR_SNAPSHOT=$(MIRROR_SNAPSHOT) \
|
||||
SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
|
||||
ONIE_IMAGE_PART_SIZE=$(ONIE_IMAGE_PART_SIZE) \
|
||||
SONIC_OS_VERSION=$(SONIC_OS_VERSION) \
|
||||
PIP_HTTP_TIMEOUT=$(PIP_HTTP_TIMEOUT) \
|
||||
LEGACY_SONIC_MGMT_DOCKER=$(LEGACY_SONIC_MGMT_DOCKER) \
|
||||
$(SONIC_OVERRIDE_BUILD_VARS)
|
||||
|
||||
.PHONY: sonic-slave-build sonic-slave-bash init reset
|
||||
@ -614,7 +590,6 @@ export MIRROR_URLS
|
||||
export MIRROR_SECURITY_URLS
|
||||
export MIRROR_SNAPSHOT
|
||||
export SONIC_VERSION_CONTROL_COMPONENTS
|
||||
export PIP_HTTP_TIMEOUT
|
||||
|
||||
%:: | sonic-build-hooks
|
||||
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)
|
||||
[![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(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)
|
||||
[![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*:
|
||||
|
||||
[![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)
|
||||
[![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
|
||||
|
||||
## Build SONiC Switch Images
|
||||
@ -123,7 +106,6 @@ pip3 install --user j2cli
|
||||
system to allow running the 'docker' command without 'sudo':
|
||||
* 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
|
||||
* 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
|
||||
> 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
|
||||
|
||||
ARM build has dependency in docker version 18.
|
||||
If docker version is 19, downgrade to 18 with:
|
||||
|
||||
```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-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)
|
||||
(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
|
||||
|
||||
All contributors must sign a contribution license agreement before contributions
|
||||
|
@ -28,7 +28,6 @@ resources:
|
||||
- repository: sonic-mgmt
|
||||
type: github
|
||||
name: sonic-net/sonic-mgmt
|
||||
ref: master
|
||||
endpoint: sonic-net
|
||||
- repository: buildimage
|
||||
type: github
|
||||
@ -42,12 +41,7 @@ variables:
|
||||
- name: CACHE_MODE
|
||||
value: rcache
|
||||
- name: ENABLE_FIPS
|
||||
value: n
|
||||
- name: BUILD_BRANCH
|
||||
${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
|
||||
value: $(System.PullRequest.TargetBranch)
|
||||
${{ else }}:
|
||||
value: $(Build.SourceBranchName)
|
||||
value: y
|
||||
|
||||
stages:
|
||||
- stage: BuildVS
|
||||
@ -55,12 +49,14 @@ stages:
|
||||
jobs:
|
||||
- template: .azure-pipelines/azure-pipelines-build.yml
|
||||
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:
|
||||
- name: vs
|
||||
|
||||
- stage: Build
|
||||
pool: sonicbld
|
||||
variables:
|
||||
INSTALL_DEBUG_TOOLS: y
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: .azure-pipelines/azure-pipelines-build.yml
|
||||
@ -70,28 +66,18 @@ stages:
|
||||
- name: broadcom
|
||||
variables:
|
||||
swi_image: yes
|
||||
INCLUDE_RESTAPI: y
|
||||
- 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
|
||||
pool: sonicbld-armhf
|
||||
timeoutInMinutes: 1200
|
||||
variables:
|
||||
PLATFORM_ARCH: armhf
|
||||
INCLUDE_RESTAPI: y
|
||||
|
||||
- stage: Test
|
||||
dependsOn: BuildVS
|
||||
condition: and(succeeded(), and(ne(stageDependencies.BuildVS.outputs['vs.SetVar.SKIP_VSTEST'], 'YES'), in(dependencies.BuildVS.result, 'Succeeded', 'SucceededWithIssues')))
|
||||
variables:
|
||||
- group: SONiC-Elastictest
|
||||
- group: Testbed-Tools
|
||||
- name: inventory
|
||||
value: veos_vtb
|
||||
- name: testbed_file
|
||||
@ -118,30 +104,27 @@ stages:
|
||||
sudo rm -rf ../*.deb
|
||||
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
|
||||
inputs:
|
||||
artifact: sonic-buildimage.vs
|
||||
displayName: "Download sonic-buildimage.vs artifact"
|
||||
|
||||
- script: |
|
||||
sudo src/sonic-swss-common/.azure-pipelines/build_and_install_module.sh
|
||||
displayName: "Install kernel modules"
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make libtool m4 autoconf dh-exec debhelper cmake pkg-config \
|
||||
libhiredis-dev libnl-3-dev libnl-genl-3-dev libnl-route-3-dev libnl-nf-3-dev swig \
|
||||
libpython2.7-dev libboost-dev libboost-serialization-dev uuid-dev libzmq5 libzmq3-dev python3-pip \
|
||||
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 apt-get install libyang0.16 -y
|
||||
sudo dpkg -i --force-confask,confnew ../libswsscommon_1.0.0_amd64.deb
|
||||
sudo dpkg -i ../python3-swsscommon_1.0.0_amd64.deb
|
||||
sudo docker load -i ../target/docker-sonic-vs.gz
|
||||
docker tag docker-sonic-vs:latest docker-sonic-vs:$(Build.BuildNumber)
|
||||
username=$(id -un)
|
||||
@ -160,115 +143,180 @@ stages:
|
||||
testResultsFiles: '**/tr.xml'
|
||||
testRunTitle: vstest
|
||||
|
||||
- job: t0_elastictest
|
||||
pool: ubuntu-20.04
|
||||
displayName: "kvmtest-t0 by Elastictest"
|
||||
timeoutInMinutes: 240
|
||||
- job: t0_part1
|
||||
pool: sonictest
|
||||
displayName: "kvmtest-t0-part1"
|
||||
timeoutInMinutes: 400
|
||||
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||
continueOnError: false
|
||||
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:
|
||||
TOPOLOGY: t0
|
||||
MIN_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
|
||||
displayName: "kvmtest-t0-2vlans by Elastictest"
|
||||
displayName: "kvmtest-t0-2vlans by TestbedV2"
|
||||
timeoutInMinutes: 240
|
||||
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||
continueOnError: false
|
||||
steps:
|
||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
||||
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||
parameters:
|
||||
TOPOLOGY: t0
|
||||
TEST_SET: t0-2vlans
|
||||
MIN_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"
|
||||
|
||||
- job: t1_lag_elastictest
|
||||
pool: ubuntu-20.04
|
||||
displayName: "kvmtest-t1-lag by Elastictest"
|
||||
timeoutInMinutes: 240
|
||||
- job: t1_lag_classic
|
||||
pool: sonictest-t1-lag
|
||||
displayName: "kvmtest-t1-lag classic"
|
||||
timeoutInMinutes: 400
|
||||
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||
continueOnError: false
|
||||
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:
|
||||
TOPOLOGY: t1-lag
|
||||
MIN_WORKER: $(T1_LAG_INSTANCE_NUM)
|
||||
MAX_WORKER: $(T1_LAG_INSTANCE_NUM)
|
||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
||||
|
||||
- job: multi_asic_elastictest
|
||||
displayName: "kvmtest-multi-asic-t1-lag by Elastictest"
|
||||
pool: ubuntu-20.04
|
||||
timeoutInMinutes: 240
|
||||
- job:
|
||||
pool: sonictest-sonic-t0
|
||||
displayName: "kvmtest-t0-sonic"
|
||||
timeoutInMinutes: 360
|
||||
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_CLASSICAL_TEST, 'YES'))
|
||||
continueOnError: false
|
||||
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:
|
||||
TOPOLOGY: t1-8-lag
|
||||
TEST_SET: multi-asic-t1-lag
|
||||
MIN_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
||||
MAX_WORKER: $(MULTI_ASIC_INSTANCE_NUM)
|
||||
NUM_ASIC: 4
|
||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
||||
|
||||
- job: dualtor_elastictest
|
||||
- job: dualtor_testbedv2
|
||||
pool: ubuntu-20.04
|
||||
displayName: "kvmtest-dualtor-t0 by Elastictest"
|
||||
displayName: "kvmtest-dualtor-t0 by TestbedV2"
|
||||
timeoutInMinutes: 240
|
||||
condition: and(succeeded(), eq(variables.BUILD_IMG_RUN_TESTBEDV2_TEST, 'YES'))
|
||||
continueOnError: false
|
||||
steps:
|
||||
- template: .azure-pipelines/run-test-elastictest-template.yml@sonic-mgmt
|
||||
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||
parameters:
|
||||
TOPOLOGY: dualtor
|
||||
MIN_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
||||
MAX_WORKER: $(T0_DUALTOR_INSTANCE_NUM)
|
||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
||||
COMMON_EXTRA_PARAMS: "--disable_loganalyzer "
|
||||
|
||||
- job: sonic_t0_elastictest
|
||||
displayName: "kvmtest-t0-sonic by Elastictest"
|
||||
- job: sonic_t0_testbedv2
|
||||
displayName: "kvmtest-t0-sonic 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-elastictest-template.yml@sonic-mgmt
|
||||
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||
parameters:
|
||||
TOPOLOGY: t0-64-32
|
||||
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||
TEST_SET: t0-sonic
|
||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
||||
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic "
|
||||
COMMON_EXTRA_PARAMS: "--neighbor_type=sonic --enable_macsec --macsec_profile=128_SCI,256_XPN_SCI"
|
||||
VM_TYPE: vsonic
|
||||
SPECIFIED_PARAMS: '{\"test_pretest.py\":[\"--completeness_level=confident\",\"--allow_recover\"],\"test_posttest.py\":[\"--completeness_level=confident\",\"--allow_recover\"]}'
|
||||
|
||||
- job: dpu_elastictest
|
||||
displayName: "kvmtest-dpu by Elastictest"
|
||||
timeoutInMinutes: 240
|
||||
continueOnError: false
|
||||
- job: wan_testbedv2
|
||||
displayName: "kvmtest-wan 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-elastictest-template.yml@sonic-mgmt
|
||||
- template: .azure-pipelines/run-test-scheduler-template.yml
|
||||
parameters:
|
||||
TOPOLOGY: dpu
|
||||
MIN_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||
MAX_WORKER: $(T0_SONIC_INSTANCE_NUM)
|
||||
MGMT_BRANCH: $(BUILD_BRANCH)
|
||||
|
||||
|
||||
# - 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 "
|
||||
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)
|
||||
|
||||
## docker engine version (with platform)
|
||||
DOCKER_VERSION=5:24.0.2-1~debian.12~$IMAGE_DISTRO
|
||||
CONTAINERD_IO_VERSION=1.6.21-1
|
||||
LINUX_KERNEL_VERSION=6.1.0-11-2
|
||||
DOCKER_VERSION=5:20.10.14~3-0~debian-$IMAGE_DISTRO
|
||||
CONTAINERD_IO_VERSION=1.5.11-1
|
||||
LINUX_KERNEL_VERSION=5.10.0-18-2
|
||||
|
||||
## Working directory to prepare the file system
|
||||
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"
|
||||
exit 1
|
||||
}
|
||||
[ -n "$INSTALLER_PAYLOAD" ] || {
|
||||
echo "Error: Invalid INSTALLER_PAYLOAD in onie image config file"
|
||||
[ -n "$ONIE_INSTALLER_PAYLOAD" ] || {
|
||||
echo "Error: Invalid ONIE_INSTALLER_PAYLOAD in onie image config file"
|
||||
exit 1
|
||||
}
|
||||
[ -n "$FILESYSTEM_SQUASHFS" ] || {
|
||||
@ -59,30 +59,23 @@ TRUSTED_GPG_DIR=$BUILD_TOOL_PATH/trusted.gpg.d
|
||||
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
|
||||
if [[ -d $FILESYSTEM_ROOT ]]; then
|
||||
sudo rm -rf $FILESYSTEM_ROOT || die "Failed to clean chroot directory"
|
||||
fi
|
||||
mkdir -p $FILESYSTEM_ROOT
|
||||
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR
|
||||
mkdir -p $FILESYSTEM_ROOT/$PLATFORM_DIR/grub
|
||||
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
|
||||
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
|
||||
echo '[INFO] Build host debian base system...'
|
||||
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/
|
||||
|
||||
## 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/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} $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/
|
||||
|
||||
## Note: set lang to prevent locale warnings in your chroot
|
||||
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 LANG=C chroot $FILESYSTEM_ROOT apt-get -y install apt-transport-https \
|
||||
ca-certificates \
|
||||
curl
|
||||
curl \
|
||||
gnupg2 \
|
||||
software-properties-common
|
||||
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
||||
# update ssl ca certificates for secure pem
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT c_rehash
|
||||
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 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
|
||||
deb [arch=$CONFIGURED_ARCH] https://download.docker.com/linux/debian $IMAGE_DISTRO stable
|
||||
EOF
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT add-apt-repository \
|
||||
"deb [arch=$CONFIGURED_ARCH] https://download.docker.com/linux/debian $IMAGE_DISTRO stable"
|
||||
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}
|
||||
|
||||
# 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 () {
|
||||
local ver="$1"
|
||||
## Install k8s package from storage
|
||||
local storage_prefix="https://sonicstorage.blob.core.windows.net/public/kubernetes"
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/cri-tools.deb -fsSL \
|
||||
${storage_prefix}/cri-tools_${KUBERNETES_CRI_TOOLS_VERSION}_${CONFIGURED_ARCH}.deb
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubernetes-cni.deb -fsSL \
|
||||
${storage_prefix}/kubernetes-cni_${KUBERNETES_CNI_VERSION}_${CONFIGURED_ARCH}.deb
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubelet.deb -fsSL \
|
||||
${storage_prefix}/kubelet_${ver}_${CONFIGURED_ARCH}.deb
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -o /tmp/kubectl.deb -fsSL \
|
||||
${storage_prefix}/kubectl_${ver}_${CONFIGURED_ARCH}.deb
|
||||
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
|
||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT curl -fsSL \
|
||||
https://packages.cloud.google.com/apt/doc/apt-key.gpg | \
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-key add -
|
||||
## Check out the sources list update matches current Debian version
|
||||
sudo cp files/image_config/kubernetes/kubernetes.list $FILESYSTEM_ROOT/etc/apt/sources.list.d/
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get update
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubernetes-cni=${KUBERNETES_CNI_VERSION}
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubelet=${ver}
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubectl=${ver}
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install kubeadm=${ver}
|
||||
}
|
||||
|
||||
if [ "$INCLUDE_KUBERNETES" == "y" ]
|
||||
@ -306,11 +294,22 @@ then
|
||||
## Install Kubernetes master
|
||||
echo '[INFO] Install kubernetes master'
|
||||
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 \
|
||||
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
|
||||
else
|
||||
echo '[INFO] Skipping Install kubernetes master'
|
||||
@ -376,14 +375,14 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
||||
gdisk \
|
||||
sysfsutils \
|
||||
squashfs-tools \
|
||||
$bootloader_packages \
|
||||
rsyslog \
|
||||
grub2-common \
|
||||
screen \
|
||||
hping3 \
|
||||
tcptraceroute \
|
||||
mtr-tiny \
|
||||
locales \
|
||||
cgroup-tools \
|
||||
ipmitool \
|
||||
ndisc6 \
|
||||
makedumpfile \
|
||||
conntrack \
|
||||
@ -392,20 +391,21 @@ sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y in
|
||||
python3-pip \
|
||||
python-is-python3 \
|
||||
cron \
|
||||
libprotobuf32 \
|
||||
libgrpc29 \
|
||||
libgrpc++1.51 \
|
||||
libprotobuf23 \
|
||||
libgrpc++1 \
|
||||
libgrpc10 \
|
||||
haveged \
|
||||
fdisk \
|
||||
gpg \
|
||||
jq \
|
||||
auditd \
|
||||
linux-perf \
|
||||
resolvconf \
|
||||
lsof \
|
||||
sysstat \
|
||||
xxd \
|
||||
zstd
|
||||
sysstat
|
||||
|
||||
# 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
|
||||
sudo mkdir -p ${FILESYSTEM_ROOT}/etc/systemd/system/auditd.service.d
|
||||
@ -415,10 +415,6 @@ LogsDirectory=audit
|
||||
LogsDirectoryMode=0750
|
||||
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
|
||||
## Pre-install the fundamental packages for amd64 (x86)
|
||||
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
|
||||
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
|
||||
sudo rm -f $FILESYSTEM_ROOT/etc/ssh/ssh_host_*_key*
|
||||
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
|
||||
touch /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
|
||||
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"
|
||||
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
|
||||
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/LogLevel
|
||||
set /files/etc/ssh/sshd_config/LogLevel VERBOSE
|
||||
save
|
||||
@ -535,11 +523,13 @@ done < files/image_config/sysctl/sysctl-net.conf
|
||||
|
||||
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
|
||||
sudo cp files/image_config/pip/pip.conf $FILESYSTEM_ROOT/etc/pip.conf
|
||||
# Upgrade pip via PyPI and uninstall the Debian version
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
# 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/snmpcommunity $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
|
||||
sudo cp ./files/image_config/ntp/ntpsec $FILESYSTEM_ROOT/etc/init.d/
|
||||
if [ -f files/image_config/ntp/ntp ]; then
|
||||
sudo cp ./files/image_config/ntp/ntp $FILESYSTEM_ROOT/etc/init.d/
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
## Version file part 1
|
||||
## Version file
|
||||
sudo mkdir -p $FILESYSTEM_ROOT/etc/sonic
|
||||
if [ -f files/image_config/sonic_release ]; then
|
||||
sudo cp files/image_config/sonic_release $FILESYSTEM_ROOT/etc/sonic/
|
||||
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 debian_version="$(cat $FILESYSTEM_ROOT/etc/debian_version)"
|
||||
export kernel_version="${kversion}"
|
||||
@ -660,6 +587,18 @@ export built_by="$USER@$BUILD_HOSTNAME"
|
||||
export sonic_os_version="${SONIC_OS_VERSION}"
|
||||
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
|
||||
./sonic_debian_extension.sh $FILESYSTEM_ROOT $PLATFORM_DIR $IMAGE_DISTRO
|
||||
fi
|
||||
@ -694,15 +633,11 @@ then
|
||||
|
||||
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
|
||||
# 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.
|
||||
# its required to do not enable both features together to avoid conflicts.
|
||||
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 \
|
||||
shim-unsigned \
|
||||
grub-efi
|
||||
|
||||
|
||||
if [ ! -f $SECURE_UPGRADE_SIGNING_CERT ]; then
|
||||
echo "Error: SONiC SECURE_UPGRADE_SIGNING_CERT=$SECURE_UPGRADE_SIGNING_CERT key missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $SECURE_UPGRADE_MODE == 'dev' ]]; then
|
||||
# development signing & verification
|
||||
# development signing & verification
|
||||
|
||||
if [ ! -f $SECURE_UPGRADE_DEV_SIGNING_KEY ]; then
|
||||
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
|
||||
if [[ $TARGET_BOOTLOADER == uboot ]]; then
|
||||
INITRD_FILE=initrd.img-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}
|
||||
KERNEL_FILE=vmlinuz-${LINUX_KERNEL_VERSION}-${CONFIGURED_ARCH}
|
||||
if [[ $CONFIGURED_ARCH == armhf ]]; then
|
||||
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}
|
||||
## Overwriting the initrd image with uInitrd
|
||||
sudo LANG=C chroot $FILESYSTEM_ROOT mv /boot/u${INITRD_FILE} /boot/$INITRD_FILE
|
||||
elif [[ $CONFIGURED_ARCH == arm64 ]]; then
|
||||
if [[ $CONFIGURED_PLATFORM == pensando ]]; then
|
||||
## copy device tree file into boot (XXX: need to compile dtb from dts)
|
||||
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
|
||||
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
|
||||
|
||||
@ -818,7 +740,8 @@ 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
|
||||
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
|
||||
sudo mkdir $FILESYSTEM_ROOT/host
|
||||
@ -834,32 +757,14 @@ if [[ "$CHANGE_DEFAULT_PASSWORD" == "y" ]]; then
|
||||
fi
|
||||
|
||||
## 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
|
||||
## Note: -x to skip directories on different file systems, such as /proc
|
||||
sudo du -hsx $FILESYSTEM_ROOT
|
||||
sudo mkdir -p $FILESYSTEM_ROOT/var/lib/docker
|
||||
|
||||
## 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 cp files/image_config/resolv-config/resolv.conf $FILESYSTEM_ROOT/etc/resolv.conf
|
||||
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
|
||||
gid_user=$(sudo LANG=C chroot $FILESYSTEM_ROOT id -g $USERNAME) || gid_user="none"
|
||||
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
|
||||
|
||||
## 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
|
||||
sudo zip -g -n .squashfs:.gz $INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS $FILESYSTEM_DOCKERFS
|
||||
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 $ONIE_INSTALLER_PAYLOAD $FILESYSTEM_SQUASHFS $FILESYSTEM_DOCKERFS
|
||||
|
@ -18,8 +18,8 @@ fi
|
||||
echo "Error: Invalid ONIE_IMAGE_PART_SIZE in onie image config file"
|
||||
exit 1
|
||||
}
|
||||
[ -n "$INSTALLER_PAYLOAD" ] || {
|
||||
echo "Error: Invalid INSTALLER_PAYLOAD in onie image config file"
|
||||
[ -n "$ONIE_INSTALLER_PAYLOAD" ] || {
|
||||
echo "Error: Invalid ONIE_INSTALLER_PAYLOAD in onie image config file"
|
||||
exit 1
|
||||
}
|
||||
|
||||
@ -86,7 +86,7 @@ generate_onie_installer_image()
|
||||
## 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 \
|
||||
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
|
||||
@ -139,11 +139,7 @@ elif [ "$IMAGE_TYPE" = "raw" ]; then
|
||||
## Run the installer
|
||||
## The 'build' install mode of the installer is used to generate this dump.
|
||||
sudo chmod a+x $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
|
||||
}
|
||||
sudo ./$tmp_output_onie_image
|
||||
rm $tmp_output_onie_image
|
||||
|
||||
[ -r $OUTPUT_RAW_IMAGE ] || {
|
||||
@ -151,7 +147,15 @@ elif [ "$IMAGE_TYPE" = "raw" ]; then
|
||||
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
|
||||
|
||||
@ -175,7 +179,7 @@ elif [ "$IMAGE_TYPE" = "aboot" ]; then
|
||||
sudo rm -f $OUTPUT_ABOOT_IMAGE
|
||||
sudo rm -f $ABOOT_BOOT_IMAGE
|
||||
## Add main payload
|
||||
cp $INSTALLER_PAYLOAD $OUTPUT_ABOOT_IMAGE
|
||||
cp $ONIE_INSTALLER_PAYLOAD $OUTPUT_ABOOT_IMAGE
|
||||
## Add Aboot boot0 file
|
||||
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
|
||||
@ -213,38 +217,6 @@ elif [ "$IMAGE_TYPE" = "aboot" ]; then
|
||||
[ -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"
|
||||
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
|
||||
echo "Error: Non supported image type $IMAGE_TYPE"
|
||||
exit 1
|
||||
|
@ -1,17 +1,7 @@
|
||||
{
|
||||
"chassis": {
|
||||
"name": "DCS-7050QX-32",
|
||||
"components": [
|
||||
{
|
||||
"name": "Scd(addr=0000:04:00.0)"
|
||||
},
|
||||
{
|
||||
"name": "Ucd90120A(addr=6-004e)"
|
||||
},
|
||||
{
|
||||
"name": "Ucd90160(addr=10-004e)"
|
||||
}
|
||||
],
|
||||
"components": [],
|
||||
"fans": [
|
||||
{
|
||||
"name": "fan1"
|
||||
@ -63,43 +53,37 @@
|
||||
"psus": [
|
||||
{
|
||||
"name": "psu1",
|
||||
"fans": [
|
||||
{
|
||||
"name": "psu1/1",
|
||||
"speed": {
|
||||
"controllable": false
|
||||
}
|
||||
}
|
||||
]
|
||||
"fans": []
|
||||
},
|
||||
{
|
||||
"name": "psu2",
|
||||
"fans": [
|
||||
{
|
||||
"name": "psu2/1",
|
||||
"speed": {
|
||||
"controllable": false
|
||||
}
|
||||
}
|
||||
]
|
||||
"fans": []
|
||||
}
|
||||
],
|
||||
"thermals": [
|
||||
{
|
||||
"name": "Cpu temp sensor",
|
||||
"controllable": false
|
||||
"name": "Cpu temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Board sensor",
|
||||
"controllable": false
|
||||
"name": "Board sensor"
|
||||
},
|
||||
{
|
||||
"name": "Front-panel temp sensor",
|
||||
"controllable": false
|
||||
"name": "Front-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Rear temp sensor",
|
||||
"controllable": false
|
||||
"name": "Rear temp sensor"
|
||||
},
|
||||
{
|
||||
"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": [
|
||||
|
@ -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
|
||||
Ethernet0 9 Ethernet1 1 10000
|
||||
Ethernet1 10 Ethernet2 2 10000
|
||||
Ethernet2 11 Ethernet3 3 10000
|
||||
Ethernet3 12 Ethernet4 4 1000
|
||||
Ethernet4 13,14,15,16 Ethernet6/1 6 40000
|
||||
Ethernet8 17,18,19,20 Ethernet7/1 7 40000
|
||||
Ethernet12 21,22,23,24 Ethernet8/1 8 40000
|
||||
Ethernet16 29,30,31,32 Ethernet9/1 9 40000
|
||||
Ethernet20 25,26,27,28 Ethernet10/1 10 40000
|
||||
Ethernet24 33,34,35,36 Ethernet11/1 11 40000
|
||||
Ethernet28 37,38,39,40 Ethernet12/1 12 40000
|
||||
Ethernet32 45,46,47,48 Ethernet13/1 13 40000
|
||||
Ethernet36 41,42,43,44 Ethernet14/1 14 40000
|
||||
Ethernet40 49,50,51,52 Ethernet15/1 15 40000
|
||||
Ethernet44 53,54,55,56 Ethernet16/1 16 40000
|
||||
Ethernet48 69,70,71,72 Ethernet17/1 17 40000
|
||||
Ethernet52 65,66,67,68 Ethernet18/1 18 40000
|
||||
Ethernet56 73,74,75,76 Ethernet19/1 19 40000
|
||||
Ethernet60 77,78,79,80 Ethernet20/1 20 40000
|
||||
Ethernet64 93,94,95,96 Ethernet21/1 21 40000
|
||||
Ethernet68 89,90,91,92 Ethernet22/1 22 40000
|
||||
Ethernet72 97,98,99,100 Ethernet23/1 23 40000
|
||||
Ethernet76 101,102,103,104 Ethernet24/1 24 40000
|
||||
Ethernet80 109,110,111,112 Ethernet25/1 25 40000
|
||||
Ethernet84 105,106,107,108 Ethernet26/1 26 40000
|
||||
Ethernet88 121,122,123,124 Ethernet27/1 27 40000
|
||||
Ethernet92 125,126,127,128 Ethernet28/1 28 40000
|
||||
Ethernet96 61,62,63,64 Ethernet29 29 40000
|
||||
Ethernet100 57,58,59,60 Ethernet30 30 40000
|
||||
Ethernet104 81,82,83,84 Ethernet31 31 40000
|
||||
Ethernet108 85,86,87,88 Ethernet32 32 40000
|
||||
Ethernet112 117,118,119,120 Ethernet33 33 40000
|
||||
Ethernet116 113,114,115,116 Ethernet34 34 40000
|
||||
Ethernet120 1,2,3,4 Ethernet35 35 40000
|
||||
Ethernet124 5,6,7,8 Ethernet36 36 40000
|
||||
# name lanes alias index
|
||||
Ethernet0 9 Ethernet1 1
|
||||
Ethernet1 10 Ethernet2 2
|
||||
Ethernet2 11 Ethernet3 3
|
||||
Ethernet3 12 Ethernet4 4
|
||||
Ethernet4 13,14,15,16 Ethernet6/1 6
|
||||
Ethernet8 17,18,19,20 Ethernet7/1 7
|
||||
Ethernet12 21,22,23,24 Ethernet8/1 8
|
||||
Ethernet16 29,30,31,32 Ethernet9/1 9
|
||||
Ethernet20 25,26,27,28 Ethernet10/1 10
|
||||
Ethernet24 33,34,35,36 Ethernet11/1 11
|
||||
Ethernet28 37,38,39,40 Ethernet12/1 12
|
||||
Ethernet32 45,46,47,48 Ethernet13/1 13
|
||||
Ethernet36 41,42,43,44 Ethernet14/1 14
|
||||
Ethernet40 49,50,51,52 Ethernet15/1 15
|
||||
Ethernet44 53,54,55,56 Ethernet16/1 16
|
||||
Ethernet48 69,70,71,72 Ethernet17/1 17
|
||||
Ethernet52 65,66,67,68 Ethernet18/1 18
|
||||
Ethernet56 73,74,75,76 Ethernet19/1 19
|
||||
Ethernet60 77,78,79,80 Ethernet20/1 20
|
||||
Ethernet64 93,94,95,96 Ethernet21/1 21
|
||||
Ethernet68 89,90,91,92 Ethernet22/1 22
|
||||
Ethernet72 97,98,99,100 Ethernet23/1 23
|
||||
Ethernet76 101,102,103,104 Ethernet24/1 24
|
||||
Ethernet80 109,110,111,112 Ethernet25/1 25
|
||||
Ethernet84 105,106,107,108 Ethernet26/1 26
|
||||
Ethernet88 121,122,123,124 Ethernet27/1 27
|
||||
Ethernet92 125,126,127,128 Ethernet28/1 28
|
||||
Ethernet96 61,62,63,64 Ethernet29 29
|
||||
Ethernet100 57,58,59,60 Ethernet30 30
|
||||
Ethernet104 81,82,83,84 Ethernet31 31
|
||||
Ethernet108 85,86,87,88 Ethernet32 32
|
||||
Ethernet112 117,118,119,120 Ethernet33 33
|
||||
Ethernet116 113,114,115,116 Ethernet34 34
|
||||
Ethernet120 1,2,3,4 Ethernet35 35
|
||||
Ethernet124 5,6,7,8 Ethernet36 36
|
||||
|
@ -1,23 +1,7 @@
|
||||
{
|
||||
"chassis": {
|
||||
"name": "DCS-7050QX-32S",
|
||||
"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)"
|
||||
}
|
||||
],
|
||||
"components": [],
|
||||
"fans": [],
|
||||
"fan_drawers": [
|
||||
{
|
||||
@ -56,47 +40,46 @@
|
||||
"psus": [
|
||||
{
|
||||
"name": "psu1",
|
||||
"fans": [
|
||||
{
|
||||
"name": "psu1/1",
|
||||
"speed": {
|
||||
"controllable": false
|
||||
}
|
||||
}
|
||||
]
|
||||
"fans": []
|
||||
},
|
||||
{
|
||||
"name": "psu2",
|
||||
"fans": [
|
||||
{
|
||||
"name": "psu2/1",
|
||||
"speed": {
|
||||
"controllable": false
|
||||
}
|
||||
}
|
||||
]
|
||||
"fans": []
|
||||
}
|
||||
],
|
||||
"thermals": [
|
||||
{
|
||||
"name": "Cpu temp sensor",
|
||||
"controllable": false
|
||||
"name": "Cpu temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Cpu board temp sensor",
|
||||
"controllable": false
|
||||
"name": "Cpu board temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Back-panel temp sensor",
|
||||
"controllable": false
|
||||
"name": "Back-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Board Sensor",
|
||||
"controllable": false
|
||||
"name": "Board Sensor"
|
||||
},
|
||||
{
|
||||
"name": "Front-panel temp sensor",
|
||||
"controllable": false
|
||||
"name": "Front-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"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": [
|
||||
@ -218,12 +201,6 @@
|
||||
"1x40G[10G]": [
|
||||
"Ethernet5/1"
|
||||
],
|
||||
"3x10G(3)+1x1G(1)": [
|
||||
"Ethernet1",
|
||||
"Ethernet2",
|
||||
"Ethernet3",
|
||||
"Ethernet4"
|
||||
],
|
||||
"2x20G[10G]": [
|
||||
"Ethernet5/1",
|
||||
"Ethernet5/3"
|
||||
|
@ -1,24 +1,16 @@
|
||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- 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'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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/
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
sai_verify_incoming_chksum=0
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
host_as_route_disable=1
|
||||
use_all_splithorizon_groups=1
|
||||
riot_enable=1
|
||||
|
@ -1,24 +1,16 @@
|
||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- 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'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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/
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
sai_verify_incoming_chksum=0
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
host_as_route_disable=1
|
||||
use_all_splithorizon_groups=1
|
||||
riot_enable=1
|
||||
|
@ -152,6 +152,11 @@
|
||||
id: '1466'
|
||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
||||
Data Fabric: Device 18h; Function 6'
|
||||
- bus: '00'
|
||||
dev: '18'
|
||||
fn: '7'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||
- bus: '01'
|
||||
dev: '00'
|
||||
fn: '0'
|
||||
|
@ -152,6 +152,11 @@
|
||||
id: '1466'
|
||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh)
|
||||
Data Fabric: Device 18h; Function 6'
|
||||
- bus: '00'
|
||||
dev: '18'
|
||||
fn: '7'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||
- bus: '01'
|
||||
dev: '00'
|
||||
fn: '0'
|
||||
|
@ -64,6 +64,11 @@
|
||||
id: '1578'
|
||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||
Security Processor'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '0'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '2'
|
||||
|
@ -64,6 +64,11 @@
|
||||
id: '1578'
|
||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||
Security Processor'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '0'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arastra Inc. Device 0001'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '2'
|
||||
|
@ -449,4 +449,3 @@ serdes_preemphasis_109=0x145c00
|
||||
|
||||
mmu_init_config="MSFT-TH-Tier1"
|
||||
phy_an_lt_msft=1
|
||||
phy_unlos_msft=1
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"chassis": {
|
||||
"DCS-7060CX-32S": {
|
||||
"DCS-7050CX3-32S": {
|
||||
"component": {
|
||||
"Aboot()": {},
|
||||
"Scd(addr=0000:02:00.0)": {},
|
||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
||||
module_64ports.0=1
|
||||
multicast_l2_range.0=511
|
||||
oversubscribe_mode=1
|
||||
sai_tunnel_global_sip_mask_enable=1
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
parity_correction=1
|
||||
parity_enable=1
|
||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||
|
@ -186,6 +186,11 @@
|
||||
id: 6f37
|
||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||
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
|
||||
dev: 0c
|
||||
fn: '0'
|
||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
||||
module_64ports.0=1
|
||||
multicast_l2_range.0=511
|
||||
oversubscribe_mode=1
|
||||
sai_tunnel_global_sip_mask_enable=1
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
parity_correction=1
|
||||
parity_enable=1
|
||||
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": {
|
||||
"default_brkout_mode": "1x400G[200G,100G,50G,40G,25G,10G]",
|
||||
"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
|
||||
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
|
||||
Ethernet512 258 Ethernet65 65 10000 none
|
||||
Ethernet513 257 Ethernet66 66 10000 none
|
||||
|
@ -34,7 +34,7 @@ bcm_device:
|
||||
sai_field_group_auto_prioritize: 1
|
||||
#l3_intf_vlan_split_egress for MTU at L3IF
|
||||
l3_intf_vlan_split_egress : 1
|
||||
bcm_tunnel_term_compatible_mode: 1
|
||||
|
||||
---
|
||||
device:
|
||||
0:
|
||||
@ -1073,14 +1073,6 @@ device:
|
||||
PORT_ID: 258
|
||||
:
|
||||
PC_PHYS_PORT_ID: 253
|
||||
?
|
||||
PORT_ID: 152
|
||||
:
|
||||
PC_PHYS_PORT_ID: 257
|
||||
?
|
||||
PORT_ID: 50
|
||||
:
|
||||
PC_PHYS_PORT_ID: 258
|
||||
...
|
||||
---
|
||||
device:
|
||||
@ -1093,13 +1085,6 @@ device:
|
||||
ENABLE: 1
|
||||
SPEED: 10000
|
||||
NUM_LANES: 1
|
||||
?
|
||||
PORT_ID: [[50, 50], [152, 152]]
|
||||
:
|
||||
ENABLE: 1
|
||||
MAX_FRAME_SIZE: 9416
|
||||
SPEED: 10000
|
||||
NUM_LANES: 1
|
||||
?
|
||||
PORT_ID: [[1, 4],
|
||||
[17, 20],
|
||||
@ -1118,7 +1103,7 @@ device:
|
||||
[238, 241],
|
||||
[255, 258]]
|
||||
:
|
||||
ENABLE: 0
|
||||
ENABLE: 1
|
||||
SPEED: 400000
|
||||
NUM_LANES: 8
|
||||
FEC_MODE: PC_FEC_RS544_2XN
|
||||
|
@ -1 +0,0 @@
|
||||
../x86_64-arista_common/pcie.yaml
|
@ -49,52 +49,52 @@
|
||||
],
|
||||
"thermals": [
|
||||
{
|
||||
"name": "Board sensor",
|
||||
"controllable": false
|
||||
"name": "Cpu temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "TH4 exhaust temp sensor",
|
||||
"controllable": false
|
||||
"name": "CPU board temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Inlet temp sensor",
|
||||
"controllable": false
|
||||
"name": "Back-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "CPU board temp sensor",
|
||||
"controllable": false
|
||||
"name": "Board sensor"
|
||||
},
|
||||
{
|
||||
"name": "Back panel temp sensor",
|
||||
"controllable": false
|
||||
"name": "Switch board middle sensor"
|
||||
},
|
||||
{
|
||||
"name": "Front panel temp sensor",
|
||||
"controllable": false
|
||||
"name": "Switch board left sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 1 hotspot sensor",
|
||||
"controllable": false
|
||||
"name": "Front-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 1 inlet temp sensor",
|
||||
"controllable": false
|
||||
"name": "Switch chip diode 1 sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 1 exhaust temp sensor",
|
||||
"controllable": false
|
||||
"name": "Switch chip diode 2 sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 2 hotspot sensor",
|
||||
"controllable": false
|
||||
"name": "Front-panel temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 2 inlet temp sensor",
|
||||
"controllable": false
|
||||
"name": "Power supply 1 inlet temp sensor"
|
||||
},
|
||||
{
|
||||
"name": "Power supply 2 exhaust temp sensor",
|
||||
"controllable": false
|
||||
"name": "Power supply 1 secondary hotspot sensor"
|
||||
},
|
||||
{
|
||||
"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": [
|
||||
@ -2154,24 +2154,6 @@
|
||||
"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
|
||||
multicast_l2_range.0=511
|
||||
oversubscribe_mode=1
|
||||
sai_tunnel_global_sip_mask_enable=1
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
parity_correction=1
|
||||
parity_enable=1
|
||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||
|
@ -20,8 +20,6 @@ miim_intr_enable.0=0
|
||||
module_64ports.0=1
|
||||
multicast_l2_range.0=511
|
||||
oversubscribe_mode=1
|
||||
sai_tunnel_global_sip_mask_enable=1
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
parity_correction=1
|
||||
parity_enable=1
|
||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||
|
@ -186,6 +186,11 @@
|
||||
id: 6f37
|
||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||
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
|
||||
dev: 0c
|
||||
fn: '0'
|
||||
|
@ -16,8 +16,6 @@ miim_intr_enable.0=0
|
||||
module_64ports.0=1
|
||||
multicast_l2_range.0=511
|
||||
oversubscribe_mode=1
|
||||
sai_tunnel_global_sip_mask_enable=1
|
||||
bcm_tunnel_term_compatible_mode=1
|
||||
parity_correction=1
|
||||
parity_enable=1
|
||||
pbmp_xport_xe.0=0x3ffffffffffffffffffffffffffffffffffffffe
|
||||
|
@ -4,6 +4,12 @@
|
||||
<phy_addr>0</phy_addr>
|
||||
<mode>retimer</mode>
|
||||
<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="1" 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="14" 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>
|
||||
|
@ -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-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 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"
|
||||
label temp1 "Power supply 1 hotspot 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"
|
||||
label temp1 "Power supply 2 hotspot sensor"
|
||||
|
@ -186,6 +186,11 @@
|
||||
id: 6f37
|
||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||
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
|
||||
dev: 0c
|
||||
fn: '0'
|
||||
|
@ -174,6 +174,11 @@
|
||||
id: 6f37
|
||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||
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
|
||||
dev: 0c
|
||||
fn: '0'
|
||||
|
@ -90,6 +90,11 @@
|
||||
id: 15ee
|
||||
name: 'Host bridge: Advanced Micro Devices, Inc. [AMD] Raven/Raven2 Device 24: Function
|
||||
6'
|
||||
- bus: '00'
|
||||
dev: '18'
|
||||
fn: '7'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arista Networks, Inc. Device 0001'
|
||||
- bus: '01'
|
||||
dev: '00'
|
||||
fn: '0'
|
||||
|
@ -2,7 +2,6 @@
|
||||
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
||||
{%- set IPinIP_sock = '' -%}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
||||
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
||||
@ -13,26 +12,19 @@
|
||||
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set IPinIP_sock =
|
||||
'sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||
sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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" #}
|
||||
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||
arl_clean_timeout_usec=15000000
|
||||
asf_mem_profile=2
|
||||
@ -1048,6 +1040,5 @@ serdes_preemphasis_116=0x103706
|
||||
serdes_preemphasis_117=0x133c06
|
||||
|
||||
{{ mmu_sock }}
|
||||
sai_tunnel_support=1
|
||||
{{ IPinIP_sock }}
|
||||
phy_an_lt_msft=1
|
||||
|
@ -1,28 +1,20 @@
|
||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||
{%- set IPinIP_sock = '' -%}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- 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'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set IPinIP_sock =
|
||||
'sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||
sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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" #}
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||
arl_clean_timeout_usec=15000000
|
||||
asf_mem_profile=2
|
||||
@ -955,6 +947,5 @@ serdes_preemphasis_130=0x580c
|
||||
serdes_preemphasis_131=0x580c
|
||||
|
||||
mmu_init_config="MSFT-TH2-Tier0"
|
||||
sai_tunnel_support=1
|
||||
{{ IPinIP_sock }}
|
||||
phy_an_lt_msft=1
|
||||
|
@ -1,28 +1,20 @@
|
||||
{# Construct config.bcm to include additional soc properties per specific device metadata requirement #}
|
||||
{%- set IPinIP_sock = '' -%}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- 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'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set IPinIP_sock =
|
||||
'sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||
sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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" #}
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||
arl_clean_timeout_usec=15000000
|
||||
asf_mem_profile=2
|
||||
@ -959,6 +951,5 @@ serdes_preemphasis_130=0x580c
|
||||
serdes_preemphasis_131=0x580c
|
||||
|
||||
mmu_init_config="MSFT-TH2-Tier0"
|
||||
sai_tunnel_support=1
|
||||
{{ IPinIP_sock }}
|
||||
phy_an_lt_msft=1
|
||||
|
@ -2,7 +2,6 @@
|
||||
{%- set mmu_sock = 'mmu_init_config="MSFT-TH2-Tier1"' -%}
|
||||
{%- set IPinIP_sock = '' -%}
|
||||
{%- set map_prio = '' -%}
|
||||
{%- set pfcwd_sock = '' -%}
|
||||
{%- if DEVICE_METADATA is defined and DEVICE_METADATA['localhost'] is defined -%}
|
||||
{%- if DEVICE_METADATA['localhost']['type'] is defined -%}
|
||||
{%- set switch_role = DEVICE_METADATA['localhost']['type'] -%}
|
||||
@ -13,25 +12,18 @@
|
||||
{%- if DEVICE_METADATA['localhost']['subtype'] is defined -%}
|
||||
{%- set switch_subtype = DEVICE_METADATA['localhost']['subtype'] -%}
|
||||
{%- if 'dualtor' in switch_subtype.lower() %}
|
||||
{%- set IPinIP_sock =
|
||||
'sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set IPinIP_sock = 'sai_tunnel_support=1
|
||||
sai_tunnel_underlay_route_mode=1
|
||||
host_as_route_disable=1
|
||||
l3_ecmp_levels=2' -%}
|
||||
{%- set map_prio = 'sai_remap_prio_on_tnl_egress=1' -%}
|
||||
{%- 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" #}
|
||||
l3_alpm_hit_skip=1
|
||||
sai_adjust_acl_drop_in_rx_drop=1
|
||||
{{ map_prio }}
|
||||
{{ pfcwd_sock }}
|
||||
PHY_AN_ALLOW_PLL_CHANGE=1
|
||||
arl_clean_timeout_usec=15000000
|
||||
asf_mem_profile=2
|
||||
@ -1047,6 +1039,5 @@ serdes_preemphasis_116=0x105004
|
||||
serdes_preemphasis_117=0x105004
|
||||
|
||||
{{ mmu_sock }}
|
||||
sai_tunnel_support=1
|
||||
{{ IPinIP_sock }}
|
||||
phy_an_lt_msft=1
|
||||
|
@ -100,6 +100,12 @@
|
||||
id: 8c24
|
||||
name: 'Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal
|
||||
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'
|
||||
dev: '00'
|
||||
fn: '0'
|
||||
@ -173,6 +179,11 @@
|
||||
id: 6f37
|
||||
name: 'Performance counters: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon
|
||||
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
|
||||
dev: 0c
|
||||
fn: '0'
|
||||
|
@ -64,6 +64,11 @@
|
||||
id: '1578'
|
||||
name: 'Encryption controller: Advanced Micro Devices, Inc. [AMD] Carrizo Platform
|
||||
Security Processor'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '0'
|
||||
id: '0001'
|
||||
name: 'Host bridge: Arista Networks, Inc. Device 0001'
|
||||
- bus: '00'
|
||||
dev: 09
|
||||
fn: '2'
|
||||
|
@ -1,2 +1 @@
|
||||
SYNCD_SHM_SIZE=1gb
|
||||
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