Skip to content

T8141: Update patches compatible with VPP 25.10 - #29

Merged
sever-sever merged 3 commits into
vyos:currentfrom
ritika0313:T8141
Jan 30, 2026
Merged

T8141: Update patches compatible with VPP 25.10#29
sever-sever merged 3 commits into
vyos:currentfrom
ritika0313:T8141

Conversation

@ritika0313

Copy link
Copy Markdown
Contributor

Change Summary

Steps followed:
git clone git@github.com:vyos/vpp.git
cd vpp
git remote add upstream-fd https://github.com/FDio/vpp.git

git fetch upstream-fd
git fetch origin

git checkout upstream-fd/stable/2510
git checkout -b vyos/2510

git cherry-pick upstream-fd/stable/2506..origin/vyos/2506
git push -u origin vyos/2510

mkdir -p ../patches-2510

git format-patch -N -o ../patches-2510 upstream-fd/stable/2510..HEAD

Note:

  1. Commit bf44024 partially removes the fix in patch 20 - kept the stable/2510 logic
  2. Upstream tag v25.10 and stable/2510 do not point to same commit so created the patch files baselining with stable/2510:
    upstream-vyos % git log --oneline upstream-fd/stable/2510
    771a0e1b6 (HEAD, upstream-fd/stable/2510) gha: update vpp checkout gerrit change version to latest
    ae0a7b24a gha: unpin install ext deps action
    629d93af3 gha: fix packagecloud branch in install ext deps action
    f5d5c38a1 gha: fix use of stable branch names
    7a21f61f8 gha: remove 'stable/' prefix for packagecloud operations
    5a0fc5b4e gha: cherry-pick github actions from master
    047766a0c gha: add GitHub Actions to MAINTAINERS
    07ca4b339 linux-cp: revert "do not lock table when it's not needed"
    cbba0451b (tag: v25.10) misc: VPP 25.10 Release Notes
    d4b00114c (tag: v25.10-rc2) linux-cp: fix multicast route setup with lcp-sync
    4f366b5bb (tag: v25.10-rc1) misc: Initial changes for stable/2510 branch
    2b70ffb1b dhcp: fix lease renewal for non-default fibs

git range-diff upstream-fd/stable/2506..origin/vyos/2506 upstream-fd/stable/2510..vyos/2510

1: a3240c477 = 1: 2b676ce74 linux-cp: add support for xfrm netlink notifcation
2: e238d4e62 = 2: c730ee0f2 linux-cp: update code to support api proto changes
3: 70286cf59 = 3: b456ab8cd linux-cp: add ipsec interface support for xfrm
4: 0a6768dea = 4: f4b525e43 linux-cp: initialize sw_if_index variable
5: 33348f8e7 = 5: a42d50376 linux-cp: add readme for xfrm implementation
6: adff1ecb8 = 6: 12d6216c1 linux-cp: fix esn and anti-replay issue
7: e5d9989fe = 7: 037b12a33 linux-cp: fix ipsec policy incorrect protocol type
8: 56275b6a0 = 8: d1e5a33fc linux-cp: Added build dependency for XFRM
9: a5f377907 = 9: 13f116b18 linux-cp: Added routing for prefixes with no paths available
10: d87a33a4d = 10: ad8743715 Resync ip fib with Linux state.
11: 759521ff0 = 11: 271f52d47 LCP: Improved lcp resync CLI and API to wait until Netlink sync is finished.
12: 99f5622c6 = 12: 05bdfdacb build: Fixed compatibility with build on Debian 12
13: 4958c7a45 = 13: 8ddb43572 linux-cp: Added build dependency libunwind8 for XFRM
14: 99cda14db = 14: e2af450e0 Revert "linux-cp: Added routing for prefixes with no paths available"
15: f0fb2180a = 15: 4ad9b136c linux-cp: Added routing for prefixes with no paths available
16: af8cc7936 = 16: 1b47e5fef Revert "linux-cp: Added routing for prefixes with no paths available"
17: 76436e797 = 17: ce28e33a5 linux-cp: Added routing for prefixes with no paths available
18: 46a6d6136 = 18: e3c995b29 pppoe. Automated session management. (#12)
19: f8c35e9dc = 19: 988ea0eaa pppoe: Added option "enable-pass-nd-and-dhcpv6"
20: 9960334b8 < -: --------- linux-cp: fix multicast route updates on address add/del
21: b01e1da6f = 20: 0a6813e98 vyos: linux-cp: xfrm: Updated XFRM features for compatibility with VPP 25.06
22: cfb1217a7 < -: --------- ipsec: Improve tunnel mode detection in ESP decrypt post-crypto (#24)
23: a0dd2889d = 21: 1b3f5cc49 linux-cp: T7775: Add AEAD (RFC4106 AES-GCM) support in xfrm SA handling (#26)
24: c726229ec = 22: cb0843522 linux-cp: T7770: open XFRM netlink socket at config time. (#25)
25: 7b605e618 = 23: 60829c1f8 policer: Added features for unicast/multicast arc. (#29)
26: d3bf1f023 = 24: 677289583 linux-cp: T7775: fix AES-GCM-256 misidentification (#30)
27: f44968049 = 25: f5651e412 version: Implement VyOS-specific versioning format (#31)
28: d1f8e7951 = 26: 4ff7aef2f DET44: IPFIX support for DET44. (#28)
29: a3e1cc07b = 27: 3ce66d5ae vlib: add optional systemd notify support for service readiness
30: 4190c3098 = 28: 5d90afc65 linux-cp: T8116: skip SA operations for non-VPP interface addresses (#35)

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes)
  • [x ] Other (please describe): VPP rebase

Related Task(s)

https://vyos.dev/T8141

Related PR(s)

Proposed changes

How to test

Checklist:

  • [ x] I have read the CONTRIBUTING document
  • [x ] I have linked this PR to one or more Phabricator Task(s)
  • [x ] My commit headlines contain a valid Task id
  • [x ] My change requires a change to the documentation
  • I have updated the documentation accordingly

@ritika0313 ritika0313 changed the title Update patches compatible with VPP 25.10 T8141: Update patches compatible with VPP 25.10 Jan 22, 2026
@sever-sever
sever-sever requested a review from zdc January 22, 2026 10:47

@sever-sever sever-sever left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ritika0313

Copy link
Copy Markdown
Contributor Author

added a tag v25.10.stable corresponding to stable/2510 commit in order to reference it as a VyOS baseline

`vpp %  git log --oneline v25.10.stable..HEAD
5d90afc65 (HEAD -> vyos/2510, origin/vyos/2510) linux-cp: T8116: skip SA operations for non-VPP interface addresses (#35)
3ce66d5ae vlib: add optional systemd notify support for service readiness
4ff7aef2f DET44: IPFIX support for DET44. (#28)
f5651e412 version: Implement VyOS-specific versioning format (#31)
677289583 linux-cp: T7775: fix AES-GCM-256 misidentification (#30)
60829c1f8 policer: Added features for unicast/multicast arc. (#29)
cb0843522 linux-cp: T7770: open XFRM netlink socket at config time. (#25)
1b3f5cc49 linux-cp: T7775: Add AEAD (RFC4106 AES-GCM) support in xfrm SA handling (#26)
0a6813e98 vyos: linux-cp: xfrm: Updated XFRM features for compatibility with VPP 25.06
988ea0eaa pppoe: Added option "enable-pass-nd-and-dhcpv6"
e3c995b29 pppoe. Automated session management. (#12)
ce28e33a5 linux-cp: Added routing for prefixes with no paths available
1b47e5fef Revert "linux-cp: Added routing for prefixes with no paths available"
4ad9b136c linux-cp: Added routing for prefixes with no paths available
e2af450e0 Revert "linux-cp: Added routing for prefixes with no paths available"
8ddb43572 linux-cp: Added build dependency libunwind8 for XFRM
05bdfdacb build: Fixed compatibility with build on Debian 12
271f52d47 LCP: Improved lcp resync CLI and API to wait until Netlink sync is finished.
ad8743715 Resync ip fib with Linux state.
13f116b18 linux-cp: Added routing for prefixes with no paths available
d1e5a33fc linux-cp: Added build dependency for XFRM
037b12a33 linux-cp: fix ipsec policy incorrect protocol type
12d6216c1 linux-cp: fix esn and anti-replay issue
a42d50376 linux-cp: add readme for xfrm implementation
f4b525e43 linux-cp: initialize sw_if_index variable
b456ab8cd linux-cp: add ipsec interface support for xfrm
c730ee0f2 linux-cp: update code to support api proto changes
2b676ce74 linux-cp: add support for xfrm netlink notifcation
`

sever-sever

This comment was marked as outdated.

@sever-sever sever-sever left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Build with:

vyos_bld@e542e8a6181c:/vyos/work/tmp/vyos-build-vpp-update/vyos-build$ git diff
diff --git a/scripts/package-build/vpp/package.toml b/scripts/package-build/vpp/package.toml
index 27903327..3d18d05f 100644
--- a/scripts/package-build/vpp/package.toml
+++ b/scripts/package-build/vpp/package.toml
@@ -1,13 +1,13 @@
 [[packages]]
 name = "vyos-vpp-patches"
-commit_id = "current"
-scm_url = "https://github.com/vyos/vyos-vpp-patches"
+commit_id = "T8141"
+scm_url = "https://github.com/ritika0313/vyos-vpp-patches"
 build_cmd = "/bin/true"
 apply_patches = false
 
 [[packages]]
 name = "vpp"
-commit_id = "stable/2506"
+commit_id = "stable/2510"
 scm_url = "https://github.com/FDio/vpp"
 # Skip apply patches by build.py as we use them in build_cmd
 apply_patches = false


The sflow fails (with the current changes)

vyos@r14:~$ /usr/libexec/vyos/tests/smoke/cli/test_vpp.py
test_01_vpp_basic (__main__.TestVPP.test_01_vpp_basic) ... ok
test_02_vpp_vxlan (__main__.TestVPP.test_02_vpp_vxlan) ... ok
test_03_vpp_gre (__main__.TestVPP.test_03_vpp_gre) ... ok
test_04_vpp_geneve (__main__.TestVPP.test_04_vpp_geneve) ... skipped 'Skipping this test geneve index always is 0'
test_05_vpp_loopback (__main__.TestVPP.test_05_vpp_loopback) ... ok
test_06_vpp_bonding (__main__.TestVPP.test_06_vpp_bonding) ... ok
test_07_vpp_bridge (__main__.TestVPP.test_07_vpp_bridge) ... ok
test_08_vpp_ipip (__main__.TestVPP.test_08_vpp_ipip) ... ok
test_09_vpp_xconnect (__main__.TestVPP.test_09_vpp_xconnect) ... ok
test_10_vpp_driver_options (__main__.TestVPP.test_10_vpp_driver_options) ... ok
test_11_vpp_cpu_settings (__main__.TestVPP.test_11_vpp_cpu_settings) ... ok
test_12_vpp_cpu_corelist_workers (__main__.TestVPP.test_12_vpp_cpu_corelist_workers) ... ok
test_13_1_buffer_page_size (__main__.TestVPP.test_13_1_buffer_page_size) ... ok
test_13_2_statseg_page_size (__main__.TestVPP.test_13_2_statseg_page_size) ... ok
test_13_3_mem_page_size (__main__.TestVPP.test_13_3_mem_page_size) ... ok
test_14_vpp_ipsec_xfrm_nl (__main__.TestVPP.test_14_vpp_ipsec_xfrm_nl) ... ok
test_15_1_vpp_cgnat (__main__.TestVPP.test_15_1_vpp_cgnat) ... ok
test_15_2_vpp_cgnat_bond_with_vifs (__main__.TestVPP.test_15_2_vpp_cgnat_bond_with_vifs) ... ok
test_16_vpp_nat (__main__.TestVPP.test_16_vpp_nat) ... ok
test_17_vpp_sflow (__main__.TestVPP.test_17_vpp_sflow) ... FAIL
test_18_resource_limits (__main__.TestVPP.test_18_resource_limits) ... ok
test_19_vpp_pppoe_mapping (__main__.TestVPP.test_19_vpp_pppoe_mapping) ... ok
test_20_kernel_options_hugepages (__main__.TestVPP.test_20_kernel_options_hugepages) ... ok
test_21_static_arp (__main__.TestVPP.test_21_static_arp) ... ok
test_22_1_vpp_ipfix (__main__.TestVPP.test_22_1_vpp_ipfix) ... ok
test_22_2_vpp_ipfix_bond (__main__.TestVPP.test_22_2_vpp_ipfix_bond) ... ok

======================================================================
FAIL: test_17_vpp_sflow (__main__.TestVPP.test_17_vpp_sflow)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/libexec/vyos/tests/smoke/cli/test_vpp.py", line 1502, in test_17_vpp_sflow
    self.assertIn(expected_entry, out)
AssertionError: 'sflow sampling-direction ingress' not found in 'sflow sampling-rate 1500\nsflow direction rx\nsflow polling-interval 55\nsflow header-bytes 256\nsflow drop-monitoring disable\nsflow enable eth1\nStatus\n  interfaces enabled: 1\n  packet samples sent: 0\n  packet samples dropped: 0\n  counter samples sent: 1\n  counter samples dropped: 0\n  drop samples sent: 0\n  drop samples dropped: 0'

----------------------------------------------------------------------
Ran 26 tests in 393.864s

FAILED (failures=1, skipped=1)
vyos@r14:~$ 

version:

vyos@r14:~$ show version all | match vpp
ii  libvppinfra                      25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime libraries
ii  libvppinfra-dev                  25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime libraries
ii  python3-vpp-api                  25.10.0-40~vyos20251230173410.7c269200d  amd64        VPP Python3 API bindings
ii  vpp                              25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--executables
ii  vpp-crypto-engines               25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime crypto engines
ii  vpp-dbg                          25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--debug symbols
ii  vpp-dev                          25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--development support
ii  vpp-plugin-core                  25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime core plugins
ii  vpp-plugin-devtools              25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime developer tool plugins
ii  vpp-plugin-dpdk                  25.10.0-40~vyos20251230173410.7c269200d  amd64        Vector Packet Processing--runtime dpdk plugin
vyos@r14:~$ 

@sever-sever
sever-sever self-requested a review January 26, 2026 18:43
@ritika0313

Copy link
Copy Markdown
Contributor Author

The failure comes from the upostream commit: Commit 8d68794 which includes changes around sflow direction API.
FDio/vpp@8d68794

squashed the below :
- linux-cp: Added routing for prefixes with no paths available
- Build: Fixed compatibility with build on Debian 12
         linux-cp - Added build dependency libunwind8 for XFRM
@ritika0313

Copy link
Copy Markdown
Contributor Author

After squashing
a) 5 commits of "linux-cp: Added routing for prefixes with no paths available" into 1 commit and
b) 2 build commits - "build: Fixed compatibility with build on Debian 12" and "linux-cp: Added build dependency libunwind8 for XFRM" into 1:

git range-diff upstream-fd/stable/2506..origin/vyos/2506 upstream-fd/stable/2510..vyos/2510
1: a3240c477 = 1: 2b676ce74 linux-cp: add support for xfrm netlink notifcation
2: e238d4e62 = 2: c730ee0f2 linux-cp: update code to support api proto changes
3: 70286cf59 = 3: b456ab8cd linux-cp: add ipsec interface support for xfrm
4: 0a6768dea = 4: f4b525e43 linux-cp: initialize sw_if_index variable
5: 33348f8e7 = 5: a42d50376 linux-cp: add readme for xfrm implementation
6: adff1ecb8 = 6: 12d6216c1 linux-cp: fix esn and anti-replay issue
7: e5d9989fe = 7: 037b12a33 linux-cp: fix ipsec policy incorrect protocol type
8: 56275b6a0 = 8: d1e5a33fc linux-cp: Added build dependency for XFRM
9: a5f377907 < -: --------- linux-cp: Added routing for prefixes with no paths available
10: d87a33a4d = 9: 176e9de58 Resync ip fib with Linux state.
11: 759521ff0 = 10: 85c01c5c9 LCP: Improved lcp resync CLI and API to wait until Netlink sync is finished.
12: 99f5622c6 < -: --------- build: Fixed compatibility with build on Debian 12
13: 4958c7a45 ! 11: 94582c813 linux-cp: Added build dependency libunwind8 for XFRM
@@
## Metadata ##
-Author: Viacheslav Hletenko v.gletenko@vyos.io
+Author: zdc taras@vyos.io

  ## Commit message ##
-    linux-cp: Added build dependency libunwind8 for XFRM
+    build: Fixed compatibility with build on Debian 12 and XFRM deps
+    - Add llvm on Debian 12
+    - Add libunwind8 for linux-cp XFRM extension
 
-    Added `libunwind8` to build dependencies required by
-    `linux-cp` for XFRM
+    (cherry picked from commit ca7d5bcd381edb68e9d4ae6ffa915bda4d2c1adf)
 
  ## Makefile ##
 @@ Makefile: DEB_DEPENDS += jq # for extracting test summary from .json report (hs-test)
@@ Makefile: DEB_DEPENDS += jq # for extracting test summary from .json report (hs-
  
  LIBFFI=libffi6 # works on all but 20.04 and debian-testing
  ifeq ($(OS_VERSION_ID),24.04)
+@@ Makefile: else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-11)
+ else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-12)
+   DEB_DEPENDS += virtualenv
+   DEB_DEPENDS += clang-14 clang-format-15
++        DEB_DEPENDS += llvm
+   # for extras/scripts/checkstyle.sh
+   # TODO: remove once ubuntu 20.04 is deprecated and extras/scripts/checkstyle.sh is upgraded to -15
+   export CLANG_FORMAT_VER=15

14: 99cda14db < -: --------- Revert "linux-cp: Added routing for prefixes with no paths available"
15: f0fb2180a < -: --------- linux-cp: Added routing for prefixes with no paths available
16: af8cc7936 < -: --------- Revert "linux-cp: Added routing for prefixes with no paths available"
17: 76436e797 ! 12: 55cfe53d4 linux-cp: Added routing for prefixes with no paths available
@@ src/plugins/linux-cp/lcp_router.c: lcp_router_route_add (struct rtnl_route *rr,
- entry_flags);
- return;
- }
-+
++
LCP_ROUTER_DBG ("route %s: %d:%U %U", is_replace ? "replace" : "add",
rtnl_route_get_table (rr), format_fib_prefix, &pfx,
format_fib_entry_flags, entry_flags);
18: 46a6d6136 = 13: 9d04867cf pppoe. Automated session management. (#12)
19: f8c35e9dc = 14: fad81ab6a pppoe: Added option "enable-pass-nd-and-dhcpv6"
20: 9960334b8 < -: --------- linux-cp: fix multicast route updates on address add/del
21: b01e1da6f = 15: a959be6e7 vyos: linux-cp: xfrm: Updated XFRM features for compatibility with VPP 25.06
22: cfb1217a7 < -: --------- ipsec: Improve tunnel mode detection in ESP decrypt post-crypto (#24)
23: a0dd2889d = 16: 904791478 linux-cp: T7775: Add AEAD (RFC4106 AES-GCM) support in xfrm SA handling (#26)
24: c726229ec = 17: e69c65961 linux-cp: T7770: open XFRM netlink socket at config time. (#25)
25: 7b605e618 = 18: 22964e08d policer: Added features for unicast/multicast arc. (#29)
26: d3bf1f023 = 19: 99c0f1a3b linux-cp: T7775: fix AES-GCM-256 misidentification (#30)
27: f44968049 = 20: 222ed3038 version: Implement VyOS-specific versioning format (#31)
28: d1f8e7951 = 21: 66199bea9 DET44: IPFIX support for DET44. (#28)
29: a3e1cc07b = 22: decb90b75 vlib: add optional systemd notify support for service readiness
30: 4190c3098 = 23: fbc87bce7 linux-cp: T8116: skip SA operations for non-VPP interface addresses (#35)
31: e49931414 ! 24: c7920cf9c T7860: IPv6 ICMP RA punt shortcut (#36)
@@ Commit message
---------

     Signed-off-by: Andrii Melnychenko <a.melnychenko@vyos.io>
+    (cherry picked from commit e4993141413b203f17131ea9b80f9bf1449c8411)
 
  ## src/plugins/dhcp/CMakeLists.txt ##
 @@ src/plugins/dhcp/CMakeLists.txt: add_vpp_plugin(dhcp
@@ src/plugins/dhcp/ip6_icmp_ra_punt.c (new)
 + * eval: (c-set-style "gnu")
 + * End:
 + */
+
+ ## src/plugins/pppoe/pppoe_cp.c ##
+@@ src/plugins/pppoe/pppoe_cp.c: pppoe_show_cp_command_fn (vlib_main_t * vm,
+       vlib_cli_output (vm, "No PPPoE control plane interface configured.");
+       return 0;
+     }
+-  
++ 
+   vlib_cli_output (vm, "%-20s%-20s", "Dataplane Interface", "Control Interface");
+   vlib_cli_output (vm, "%-20s%-20s", "-------------------", "-----------------");
+ 
+
+ ## src/vlib/CMakeLists.txt ##
+@@ src/vlib/CMakeLists.txt: if(VPP_ENABLE_SYSTEMD_NOTIFY)
+   # Check for systemd library
+   vpp_find_path(SYSTEMD_INCLUDE_DIR systemd/sd-daemon.h)
+   vpp_find_library(SYSTEMD_LIB NAMES systemd)
+-  
++ 
+   if(SYSTEMD_INCLUDE_DIR AND SYSTEMD_LIB)
+     message(STATUS "systemd found at ${SYSTEMD_LIB}")
+     set(SYSTEMD_NOTIFY_ENABLED 1 CACHE STRING "systemd notify enabled")

@ritika0313

Copy link
Copy Markdown
Contributor Author

@sever-sever sever-sever left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm merging the PR, my tests work fine, and the sFlow smoketest should be changed
Wait some time before backport

@sever-sever sever-sever added the bp/circinus Create automatic backport for circinus label Jan 30, 2026
@sever-sever
sever-sever merged commit c0b15de into vyos:current Jan 30, 2026
1 check passed
@vyosbot vyosbot added mirror-initiated This PR initiated for mirror sync workflow mirror-completed This PR has been mirrored successfully and removed mirror-initiated This PR initiated for mirror sync workflow labels Jan 30, 2026
@andamasov andamasov removed the bp/circinus Create automatic backport for circinus label May 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

mirror-completed This PR has been mirrored successfully

Development

Successfully merging this pull request may close these issues.

4 participants