Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
03ae013
update start.sh for new sonic-swss soft bfd tests
xwjiang-ms Mar 18, 2025
38da2cc
Merge pull request #990 from xwjiang-ms/update_start_sh
xwjiang-ms Mar 18, 2025
c82811f
Added Icmp Echo session table names (#980)
manamand2020 Mar 21, 2025
8c39835
Fix a pipeline issue due to dependency in docker-sonic-vs (#999)
bibhuprasad-hcl Apr 3, 2025
d3abf15
[consumer_table_pops]: Support Stats ST Capability query (#1000)
Pterosaur Apr 8, 2025
8a9e60b
Add NPU/DPU appl_db and state_db table names for DASH HA (#992)
zjswhhh Apr 10, 2025
84fdd3e
Enhance swss-common logging by writing a warning log when a command f…
liuh-80 Apr 14, 2025
2ddc436
[schema]: Add high frequency telemetry table definitions to schema (#…
Pterosaur Apr 15, 2025
f575714
Update codeql runs-on ubuntu version to 22.04 (#1007)
qiluo-msft Apr 17, 2025
a5dd80f
[schema] add SRv6 counters tables (#1005)
Yakiv-Huryk Apr 17, 2025
9664fbc
Adding a table to store peer info if peer creation is successful (#1009)
sudarshankumar4893 Apr 22, 2025
3165501
[trim]: Add Packet Trimming DB schema (#1001)
nazariig Apr 30, 2025
8cbd50c
[ci] Increase timeout for making swss target. (#1014)
liushilongbuaa May 19, 2025
9ebc82b
[ci] Update agent pool OS image from 20.04 to 22.04 and deprecate bui…
liushilongbuaa May 27, 2025
cbb7176
[schema]: Add CoPP trap capability table to state_db (#1010)
rminnikanti May 30, 2025
778f74e
[schema] Add table definitions for bgp_session_tracker and link_state…
miatttao Jun 3, 2025
08bc52d
SWSSDBConnector_new_keyed to c-api (#1026)
qiluo-msft Jun 13, 2025
a19f03b
Update build_and_install_module.sh (#1029)
liuh-80 Jun 24, 2025
64644ef
Update zmqserver.h (#1028)
liuh-80 Jun 25, 2025
8062a06
[azp] Only grab libyang v1 libs for AZP jobs (#1031)
theasianpianist Jul 8, 2025
863f4da
add DASH port map table names (#1030)
theasianpianist Jul 9, 2025
93af927
Move swss-common/swss-common-testing crates from https://github.com/s…
qiluo-msft Jul 18, 2025
465cc1c
Add test case to verify zmq reconnect behaviour (#84) (#1052)
qiluo-msft Jul 19, 2025
d7c661b
[trim]: Add Packet Trimming Drop Counters DB schema (#1055)
nazariig Jul 30, 2025
100e2e0
[MSTP] Schema Support (#961)
wajahatrazi Jul 31, 2025
fc35dd0
Move SonicDbTable to sonic-dash-ha. (#1056)
dypet Jul 31, 2025
7a25b07
Fix trixie compilation (#1040)
saiarcot895 Aug 6, 2025
839ddf0
[strict yang] Add YANG based cfg_schema.h to schema.h (#1008)
wen587 Aug 8, 2025
1484a85
Ignore nonexistent include in database_global.json (#1041)
yue-fred-gao Aug 8, 2025
e782b12
Add c-api/Rust wrappers for ConfigDBConnector and EventPublisher (#1062)
qiluo-msft Aug 12, 2025
dc05565
Revert "[strict yang] Add YANG based cfg_schema.h to schema.h (#1008)…
wen587 Aug 14, 2025
02a9ab4
Add lazy binding support to ZmqServer. (#1068)
liuh-80 Aug 21, 2025
4833267
Improve test robustness: (#1063)
qiluo-msft Aug 26, 2025
f0e88e0
Add DEBUG_DROP_MONITOR table to schema.h (#971)
arista-hpandya Aug 27, 2025
e7ee75d
swss-common: Improve batch key delete (#1060)
tphung3 Aug 28, 2025
21eb452
Add FIPS MACSec POST table in StateDB. (#1071)
ysmanman Sep 10, 2025
08f158b
Skip kernel version check (#1078)
saiarcot895 Sep 17, 2025
40feb90
[strict yang] Add YANG based cfg_schema.h to schema.h (#1074)
wen587 Sep 22, 2025
f9cc568
Fix trixie compilation and add Trixie to PR pipeline (#1069)
saiarcot895 Sep 25, 2025
36a8519
Add c-api/Rust wrappers for SonicV2Connector (#1080)
qiluo-msft Sep 26, 2025
88fe186
Prevent adding new CFG table since it is auto generated (#1081)
wen587 Sep 28, 2025
4fea06e
[sonic-db-cli] Add flag to make cli calls to container databases (#1070)
croos12 Oct 8, 2025
c253917
Add pop batch size support for ZMQ Consumer (#1084)
vivekrnv Oct 8, 2025
32b14a4
Update static database_config.json in swsscommon (#1086)
prabhataravind Oct 10, 2025
66e437a
Fix mocktests for buster builds (#1087)
prabhataravind Oct 10, 2025
130d8b6
Add chassis db. (#1085)
dypet Oct 14, 2025
7407a2e
Optimize memory usage by replacing the queue's underlying container w…
liuh-80 Oct 17, 2025
472a425
SHlorch changes for EVPN MH feature (#1051)
jayakj Oct 29, 2025
4b86a77
[dhcp_relay] sonic dhcp relay agent for IPv4 (#1017)
Akshath-17 Nov 3, 2025
d2c8f2c
[ci] Migrate agent pool from sonicbld-1es to sonicso1ES-amd64 (#1101)
liushilongbuaa Nov 17, 2025
e67092c
Add PORT_SERDES_ATTR_ID_LIST to FLEX COUNTER DATABASE (#1099)
dhanasekar-arista Nov 24, 2025
d6ccff7
Fix risky unwrap(), expect(), and casting (#1113)
qiluo-msft Nov 29, 2025
cf7c7f6
Fix issue where namespace would not be read (#1111)
croos12 Dec 2, 2025
7682785
Revert "Fix risky unwrap(), expect(), and casting (#1113)" (#1118)
liushilongbuaa Dec 2, 2025
16a8a93
[ci] Use 1ES agent pool to provide more disk when building swss. (#1121)
liushilongbuaa Dec 2, 2025
7f1b50f
Revert "[sonic-db-cli] Add flag to make cli calls to container databa…
qiluo-msft Dec 3, 2025
e8a9592
Reapply "Fix risky unwrap(), expect(), and casting (#1113)" (#1118) (…
qiluo-msft Dec 9, 2025
41acbf8
Ensure RedisPipeline dtor not to throw (#1115)
qiluo-msft Dec 9, 2025
03c6777
Opportunistically use a matching kernel version for building the modu…
saiarcot895 Dec 12, 2025
297b744
Create a new PORT_PHY_ATTR table (#1135)
dhanasekar-arista Dec 17, 2025
3df0382
unwrap cleanup in types.rs (#1122)
yue-fred-gao Dec 29, 2025
de60fd3
[ci] Update docker slave image referrence (#1141)
yijingyan2 Jan 4, 2026
eaaa592
Add .github/copilot-instructions.md for AI-assisted development (#1147)
rustiqly Feb 14, 2026
cfec270
[ci] Install redis from Debian (#1154)
saiarcot895 Feb 23, 2026
b4374d4
[DPU] Add support for Flow API (#1151)
vivekrnv Feb 27, 2026
335c684
[DPU] Add support for HA Set Counters (#1152)
croos12 Mar 2, 2026
7b2d2c2
add secondary poll factor to flex counter infra (#1110)
apoorv-arista Mar 5, 2026
bca7ea8
Flex Counter Phase 2 - Port Serdes Attributes (#1150)
prajjwal-arista Mar 5, 2026
364023a
ZMQ lib change to support one-to-one sync (#1039)
divyagayathri-hcl Mar 12, 2026
1e0584c
Adding zmqclient to swig file. (#1159)
divyagayathri-hcl Mar 18, 2026
8ce10b5
[ci] fix test stages timeout issue by adding default config for kerne…
yijingyan2 Mar 30, 2026
6f65635
Introduce keepalives for ZmqClient and ZmqServer (#1162)
prabhataravind Apr 7, 2026
c48c69f
[agent][linkcache] Fix memory leak: free m_link_cache in destructor (…
rustiqly Apr 10, 2026
c95e7f0
Add COUNTERS_ENI_OID_MAP table name to schema.h (#1177)
theasianpianist Apr 17, 2026
158de8d
[EVPN-MH] Add L2 nexthop group table and raw netlink message handling…
bdfriedman Apr 29, 2026
3a25acd
LLR: Added LLR APPL_DB table names to schema (#1182)
rminnikanti May 21, 2026
4dc05d2
Adding state table for TAM MOD (#1190)
prashanth-nexthop May 21, 2026
1431c3d
sonic-swss-common: port to libyang3 (with libyang1 fallback) and upda…
bradh352 May 22, 2026
6ce7121
zmq: prevent use-after-free of ZmqConsumerStateTable handler
bhouse-nexthop May 22, 2026
608472e
ci: download libnexthopgroup deb for the sonic-swss build stage
bradh352 May 22, 2026
3595131
Merge pull request #973 from bradh352/bradh352/libyang3
lguohan May 27, 2026
3110aaa
swsscommon: expose batched ZmqProducerStateTable APIs to SWIG (#1188)
hdwhdw May 29, 2026
56a5f28
LruDedup queue policy for Notification Consumer
senthil-nexthop May 29, 2026
df62e71
Local ARS (Adaptive Routing and Switching)
VladimirKuk May 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .azure-pipelines/build-docker-sonic-vs-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
timeoutInMinutes: ${{ parameters.timeout }}

pool:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'

steps:
- checkout: self
Expand Down
16 changes: 7 additions & 9 deletions .azure-pipelines/build-sairedis-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,14 @@ parameters:
- name: pool
type: string
values:
- sonicbld
- sonicso1ES-amd64
- default
default: default

- name: timeout
type: number
default: 90

- name: sonic_slave
type: string

- name: debian_version
type: string
default: buster
Expand All @@ -46,10 +43,10 @@ jobs:
${{ if ne(parameters.pool, 'default') }}:
name: ${{ parameters.pool }}
${{ else }}:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'

container:
image: sonicdev-microsoft.azurecr.io:443/${{ parameters.sonic_slave }}
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-${{ parameters.debian_version }}:$(BUILD_BRANCH)-${{ parameters.arch }}
options: "--privileged"

steps:
Expand Down Expand Up @@ -102,8 +99,9 @@ jobs:
path: $(Build.ArtifactStagingDirectory)/download
artifact: common-lib
patterns: |
target/debs/${{ parameters.debian_version }}/libyang-*.deb
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb
target/debs/${{ parameters.debian_version }}/python3-libyang*.deb
displayName: "Download libyang from common lib"
- script: |
set -ex
Expand All @@ -126,7 +124,7 @@ jobs:
set -ex
rm ../*.deb || true
./autogen.sh
DEB_BUILD_OPTIONS=nocheck DEB_BUILD_PROFILES=nopython2 fakeroot dpkg-buildpackage -b -us -uc -Psyncd,vs,nopython2 -j$(nproc)
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -b -us -uc -Psyncd,vs,nopython2 -j$(nproc)
# Add SYS_TIME capability for settimeofday ok in syncd test
sudo setcap "cap_sys_time=eip" syncd/.libs/syncd_tests
# Add CAP_DAC_OVERRIDE capability for system directory creation in syncd unittest
Expand Down
17 changes: 8 additions & 9 deletions .azure-pipelines/build-swss-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,13 @@ parameters:
- name: pool
type: string
values:
- sonicbld
- sonicso1ES-amd64
- default
default: default

- name: timeout
type: number
default: 60

- name: sonic_slave
type: string
default: 90

- name: debian_version
type: string
Expand All @@ -42,10 +39,10 @@ jobs:
${{ if ne(parameters.pool, 'default') }}:
name: ${{ parameters.pool }}
${{ else }}:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'

container:
image: sonicdev-microsoft.azurecr.io:443/${{ parameters.sonic_slave }}
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-${{ parameters.debian_version }}:$(BUILD_BRANCH)-${{ parameters.arch }}

steps:
- checkout: sonic-swss
Expand Down Expand Up @@ -105,11 +102,13 @@ jobs:
target/debs/${{ parameters.debian_version }}/libnl-genl*.deb
target/debs/${{ parameters.debian_version }}/libnl-route*.deb
target/debs/${{ parameters.debian_version }}/libnl-nf*.deb
target/debs/${{ parameters.debian_version }}/libyang-*.deb
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb
target/debs/${{ parameters.debian_version }}/python3-libyang*.deb
target/debs/${{ parameters.debian_version }}/libprotobuf*.deb
target/debs/${{ parameters.debian_version }}/libprotoc*.deb
target/debs/${{ parameters.debian_version }}/protobuf-compiler*.deb
target/debs/${{ parameters.debian_version }}/libnexthopgroup*.deb
displayName: "Download common libs"
- task: DownloadPipelineArtifact@2
inputs:
Expand Down
96 changes: 80 additions & 16 deletions .azure-pipelines/build-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,16 @@ parameters:
- name: pool
type: string
values:
- sonicbld
- sonicbld-arm64
- sonicbld-armhf
- sonicso1ES-amd64
- sonicso1ES-arm64
- sonicso1ES-armhf
- default
default: default

- name: timeout
type: number
default: 60

- name: sonic_slave
type: string

- name: artifact_name
type: string

Expand Down Expand Up @@ -50,10 +47,10 @@ jobs:
${{ if ne(parameters.pool, 'default') }}:
name: ${{ parameters.pool }}
${{ else }}:
vmImage: 'ubuntu-20.04'
vmImage: 'ubuntu-22.04'

container:
image: sonicdev-microsoft.azurecr.io:443/${{ parameters.sonic_slave }}
image: sonicdev-microsoft.azurecr.io:443/sonic-slave-${{ parameters.debian_version }}:$(BUILD_BRANCH)-${{ parameters.arch }}

steps:
- checkout: self
Expand Down Expand Up @@ -82,36 +79,103 @@ jobs:
${{ else }}:
artifact: common-lib.${{ parameters.arch }}
patterns: |
target/debs/${{ parameters.debian_version }}/libyang-*.deb
target/debs/${{ parameters.debian_version }}/libyang_*.deb
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb
target/debs/${{ parameters.debian_version }}/python3-libyang*.deb
displayName: "Download libyang from ${{ parameters.arch }} common lib"
condition: ne('${{ parameters.debian_version }}', 'trixie')
- task: DownloadPipelineArtifact@2
inputs:
source: specific
project: build
pipeline: Azure.sonic-buildimage.common_libs
runVersion: 'latestFromBranch'
runBranch: 'refs/heads/$(BUILD_BRANCH)'
path: $(Build.ArtifactStagingDirectory)/download
${{ if eq(parameters.arch, 'amd64') }}:
artifact: common-lib
${{ else }}:
artifact: common-lib.${{ parameters.arch }}
patterns: |
target/debs/${{ parameters.debian_version }}/libyang3_*.deb
target/debs/${{ parameters.debian_version }}/libyang-dev_3*.deb
target/debs/${{ parameters.debian_version }}/python3-libyang*.deb
target/debs/${{ parameters.debian_version }}/libpcre*.deb
displayName: "Download libyang from ${{ parameters.arch }} common lib"
condition: eq('${{ parameters.debian_version }}', 'trixie')
- script: |
set -ex
sudo dpkg -i $(find ./download -name *.deb)
workingDirectory: $(Build.ArtifactStagingDirectory)
displayName: "Install libyang from common lib"
- task: DownloadPipelineArtifact@2
inputs:
source: specific
project: build
pipeline: 142
artifact: sonic-buildimage.vs
runVersion: 'latestFromBranch'
runBranch: 'refs/heads/$(BUILD_BRANCH)'
path: $(Build.ArtifactStagingDirectory)/download
patterns: |
target/python-wheels/${{ parameters.debian_version }}/sonic_yang_mgmt-1.0-py3-none-any.whl
target/python-wheels/${{ parameters.debian_version }}/sonic_yang_models-1.0-py3-none-any.whl
displayName: "Download yang wheel from latest sonic-buildimage build"
condition: ne('${{ parameters.debian_version }}', 'trixie')
- task: DownloadPipelineArtifact@2
inputs:
source: specific
project: build
pipeline: 142
artifact: sonic-buildimage.vs
runVersion: 'latestFromBranch'
runBranch: 'refs/heads/$(BUILD_BRANCH)'
path: $(Build.ArtifactStagingDirectory)/download
patterns: |
target/python-wheels/bookworm/sonic_yang_mgmt-1.0-py3-none-any.whl
target/python-wheels/bookworm/sonic_yang_models-1.0-py3-none-any.whl
displayName: "Download yang wheel from latest sonic-buildimage build"
condition: eq('${{ parameters.debian_version }}', 'trixie')
- script: |
set -ex
sudo pip3 install ./download/target/python-wheels/${{ parameters.debian_version }}/sonic_yang_mgmt-1.0-py3-none-any.whl \
./download/target/python-wheels/${{ parameters.debian_version }}/sonic_yang_models-1.0-py3-none-any.whl
workingDirectory: $(Build.ArtifactStagingDirectory)
displayName: "Install yang wheel from common lib"
condition: ne('${{ parameters.debian_version }}', 'trixie')
- script: |
set -ex
sudo pip3 install ./download/target/python-wheels/bookworm/sonic_yang_mgmt-1.0-py3-none-any.whl \
./download/target/python-wheels/bookworm/sonic_yang_models-1.0-py3-none-any.whl
workingDirectory: $(Build.ArtifactStagingDirectory)
displayName: "Install yang wheel from common lib"
condition: eq('${{ parameters.debian_version }}', 'trixie')
- script: |
set -ex
rm ../*.deb || true
./autogen.sh
fakeroot debian/rules DEB_CONFIGURE_EXTRA_FLAGS='--enable-code-coverage' DEB_BUILD_PROFILES=nopython2 CFLAGS="" CXXFLAGS="--coverage -fprofile-abs-path" LDFLAGS="--coverage -fprofile-abs-path" binary
DEB_CONFIGURE_EXTRA_FLAGS='--enable-code-coverage' DEB_CXXFLAGS_APPEND="-coverage -fprofile-abs-path" DEB_LDFLAGS_APPEND="-coverage -fprofile-abs-path" dpkg-buildpackage -Pnopython2 -us -uc -b -j$(nproc)
mv ../*.deb .
displayName: "Compile sonic swss common with coverage enabled"
- ${{ if eq(parameters.run_unit_test, true) }}:
- script: |
set -ex
sudo pip install Pympler==0.8 pytest
sudo apt-get install -y redis-server
sudo dpkg -i libswsscommon_*.deb
sudo dpkg -i libswsscommon-dev_*.deb
sudo dpkg -i python3-swsscommon_*.deb

ps aux
cargo test --workspace --all-features
cargo test --release --workspace --all-features

sudo sed -i 's/notify-keyspace-events ""/notify-keyspace-events AKE/' /etc/redis/redis.conf
sudo sed -ri 's/^# unixsocket/unixsocket/' /etc/redis/redis.conf
sudo sed -ri 's/^unixsocketperm .../unixsocketperm 777/' /etc/redis/redis.conf
sudo sed -ri 's/redis-server.sock/redis.sock/' /etc/redis/redis.conf
sudo service redis-server restart
sudo mkdir /usr/local/yang-models

sudo dpkg -i libswsscommon_*.deb
sudo dpkg -i libswsscommon-dev_*.deb
sudo dpkg -i python3-swsscommon_*.deb
sudo mkdir -p /usr/local/yang-models

./tests/tests
redis-cli FLUSHALL
Expand Down
31 changes: 21 additions & 10 deletions .azure-pipelines/build_and_install_module.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,21 @@ set -e

source /etc/os-release

function build_and_install_kmodule()
trim() {
local var="$*"
# remove leading whitespace characters
var="${var#"${var%%[![:space:]]*}"}"
# remove trailing whitespace characters
var="${var%"${var##*[![:space:]]}"}"
printf '%s' "$var"
}


build_and_install_kmodule()
{
if sudo modprobe team 2>/dev/null && sudo modprobe vrf 2>/dev/null && sudo modprobe macsec 2>/dev/null; then
echo "The module team, vrf and macsec exist."
return
return 0
fi

[ -z "$WORKDIR" ] && WORKDIR=$(mktemp -d)
Expand All @@ -30,31 +40,31 @@ function build_and_install_kmodule()
apt-get install -y build-essential linux-headers-${KERNEL_RELEASE} autoconf pkg-config fakeroot
apt-get install -y flex bison libssl-dev libelf-dev dwarves
apt-get install -y libnl-route-3-200 libnl-route-3-dev libnl-cli-3-200 libnl-cli-3-dev libnl-3-dev
# Install libs required by libswsscommon for build
apt-get install -y libzmq3-dev libzmq5 libboost-serialization-dev uuid-dev

# Add the apt source mirrors and download the linux image source code
cp /etc/apt/sources.list /etc/apt/sources.list.bk
sed -i "s/^# deb-src/deb-src/g" /etc/apt/sources.list
apt-get update
KERNEL_PACKAGE_SOURCE=$(apt-cache show linux-image-unsigned-${KERNEL_RELEASE} | grep ^Source: | cut -d':' -f 2)
KERNEL_PACKAGE_VERSION=$(apt-cache show linux-image-unsigned-${KERNEL_RELEASE} | grep ^Version: | cut -d':' -f 2)
SOURCE_PACKAGE_VERSION=$(apt-cache showsrc ${KERNEL_PACKAGE_SOURCE} | grep ^Version: | cut -d':' -f 2)
if [ ${KERNEL_PACKAGE_VERSION} != ${SOURCE_PACKAGE_VERSION} ]; then
KERNEL_PACKAGE_SOURCE=$(trim $(apt-cache show linux-image-unsigned-${KERNEL_RELEASE} | grep ^Source: | cut -d':' -f 2))
KERNEL_PACKAGE_VERSION=$(trim $(apt-cache show linux-image-unsigned-${KERNEL_RELEASE} | grep ^Version: | cut -d':' -f 2))
SOURCE_PACKAGE_VERSION=$(apt-cache showsrc "${KERNEL_PACKAGE_SOURCE}" | grep ^Version: | cut -d':' -f 2 | tr '\n' ' ')
if ! echo "${SOURCE_PACKAGE_VERSION}" | grep "\b${KERNEL_PACKAGE_VERSION}\b"; then
echo "WARNING: the running kernel version (${KERNEL_PACKAGE_VERSION}) doesn't match the source package " \
"version (${SOURCE_PACKAGE_VERSION}) being downloaded. There's no guarantee the module being downloaded " \
"can be loaded into the kernel or function correctly. If possible, please update your kernel and reboot " \
"your system so that it's running the matching kernel version." >&2
echo "Continuing with the build anyways" >&2
apt-get source "linux-image-unsigned-${KERNEL_RELEASE}"
else
apt-get source "linux-image-unsigned-${KERNEL_RELEASE}=${KERNEL_PACKAGE_VERSION}"
fi
apt-get source linux-image-unsigned-${KERNEL_RELEASE} > source.log

# Recover the original apt sources list
cp /etc/apt/sources.list.bk /etc/apt/sources.list
apt-get update

# Build the Linux kernel module drivers/net/team and vrf
cd $(find . -maxdepth 1 -type d | grep -v "^.$")
cd ${KERNEL_PACKAGE_SOURCE}-*
if [ -e debian/debian.env ]; then
source debian/debian.env
if [ -n "${DEBIAN}" -a -e ${DEBIAN}/reconstruct ]; then
Expand All @@ -65,6 +75,7 @@ function build_and_install_kmodule()
mv .config .config.bk
cp /boot/config-$(uname -r) .config
grep NET_TEAM .config.bk >> .config
make olddefconfig
make VERSION=$VERSION PATCHLEVEL=$PATCHLEVEL SUBLEVEL=$SUBLEVEL EXTRAVERSION=-${EXTRAVERSION} LOCALVERSION=-${LOCALVERSION} modules_prepare
cp /usr/src/linux-headers-$(uname -r)/Module.symvers .
make -j$(nproc) M=drivers/net/team
Expand Down
7 changes: 5 additions & 2 deletions .azure-pipelines/docker-sonic-vs/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ ARG need_dbg

COPY ["debs", "/debs"]

# Remove existing packages first before installing the new/current packages. This is to overcome limitations with
# Remove the libswsscommon package first with force all option.
# Remove the other existing packages before installing the new/current packages. This is to overcome limitations with
# Docker's diff detection mechanism, where only the file size and the modification timestamp (which will remain the
# same, even though contents have changed) are checked between the previous and current layer.
RUN dpkg --purge libswsscommon python3-swsscommon sonic-db-cli libsaimetadata libsairedis libsaivs syncd-vs swss sonic-eventd libdashapi
RUN dpkg --remove --force-all libswsscommon
RUN apt --fix-broken install -y
RUN dpkg --purge python3-swsscommon sonic-db-cli libsaimetadata libsairedis libsaivs syncd-vs swss sonic-eventd libdashapi

RUN apt-get update

Expand Down
8 changes: 8 additions & 0 deletions .azure-pipelines/docker-sonic-vs/start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,14 @@ elif [ "$HWSKU" == "DPU-2P" ]; then
cp /usr/share/sonic/hwsku/sai_dpu_2p.profile /usr/share/sonic/hwsku/sai.profile
fi

if [ "$BFDOFFLOAD" == "false" ]; then
if ! grep -q "SAI_VS_BFD_OFFLOAD_SUPPORTED=" /usr/share/sonic/hwsku/sai.profile; then
echo 'SAI_VS_BFD_OFFLOAD_SUPPORTED=false' >> /usr/share/sonic/hwsku/sai.profile
else
sed -i "s/SAI_VS_BFD_OFFLOAD_SUPPORTED.*/SAI_VS_BFD_OFFLOAD_SUPPORTED=false/g" /usr/share/sonic/hwsku/sai.profile
fi
fi

mkdir -p /etc/swss/config.d/

rm -f /var/run/rsyslogd.pid
Expand Down
Loading
Loading