diff --git a/patches/vpp/0001-linux-cp-add-support-for-xfrm-netlink-notifcation.patch b/patches/vpp/0001-linux-cp-add-support-for-xfrm-netlink-notifcation.patch index 0b72e2a..e087854 100644 --- a/patches/vpp/0001-linux-cp-add-support-for-xfrm-netlink-notifcation.patch +++ b/patches/vpp/0001-linux-cp-add-support-for-xfrm-netlink-notifcation.patch @@ -1,7 +1,7 @@ From a3240c47714ae9ed447581c3557983630bb5f825 Mon Sep 17 00:00:00 2001 From: Aakash Date: Mon, 1 Aug 2022 04:59:02 -0400 -Subject: [PATCH 01/26] linux-cp: add support for xfrm netlink notifcation +Subject: [PATCH 01/27] linux-cp: add support for xfrm netlink notifcation This patch contains changes to add support for handlng xfrm notifications in linux-cp plugin. diff --git a/patches/vpp/0002-linux-cp-update-code-to-support-api-proto-changes.patch b/patches/vpp/0002-linux-cp-update-code-to-support-api-proto-changes.patch index 5fafc8f..6a7d45b 100644 --- a/patches/vpp/0002-linux-cp-update-code-to-support-api-proto-changes.patch +++ b/patches/vpp/0002-linux-cp-update-code-to-support-api-proto-changes.patch @@ -1,7 +1,7 @@ From e238d4e62e66ed9a9e01425a844d57cc33ec316e Mon Sep 17 00:00:00 2001 From: Kommula Shiva Shankar Date: Tue, 6 Feb 2024 23:23:14 +0530 -Subject: [PATCH 02/26] linux-cp: update code to support api proto changes +Subject: [PATCH 02/27] linux-cp: update code to support api proto changes Type: fix diff --git a/patches/vpp/0003-linux-cp-add-ipsec-interface-support-for-xfrm.patch b/patches/vpp/0003-linux-cp-add-ipsec-interface-support-for-xfrm.patch index 0030bdf..0dace73 100644 --- a/patches/vpp/0003-linux-cp-add-ipsec-interface-support-for-xfrm.patch +++ b/patches/vpp/0003-linux-cp-add-ipsec-interface-support-for-xfrm.patch @@ -1,7 +1,7 @@ From 70286cf59119cc1c122d449ee3fd678646ae1b40 Mon Sep 17 00:00:00 2001 From: Bheemappa Agasimundin Date: Tue, 5 Dec 2023 18:25:33 +0000 -Subject: [PATCH 03/26] linux-cp: add ipsec interface support for xfrm +Subject: [PATCH 03/27] linux-cp: add ipsec interface support for xfrm This patch adds ipsec interface support for strongswan based SA configuration. diff --git a/patches/vpp/0004-linux-cp-initialize-sw_if_index-variable.patch b/patches/vpp/0004-linux-cp-initialize-sw_if_index-variable.patch index 3efe967..1d2d870 100644 --- a/patches/vpp/0004-linux-cp-initialize-sw_if_index-variable.patch +++ b/patches/vpp/0004-linux-cp-initialize-sw_if_index-variable.patch @@ -1,7 +1,7 @@ From 0a6768dea23e4bf4621dac89b166b869f54cc53f Mon Sep 17 00:00:00 2001 From: Kommula Shiva Shankar Date: Wed, 7 Feb 2024 11:58:17 +0530 -Subject: [PATCH 04/26] linux-cp: initialize sw_if_index variable +Subject: [PATCH 04/27] linux-cp: initialize sw_if_index variable Type: fix diff --git a/patches/vpp/0005-linux-cp-add-readme-for-xfrm-implementation.patch b/patches/vpp/0005-linux-cp-add-readme-for-xfrm-implementation.patch index c2f899e..132e304 100644 --- a/patches/vpp/0005-linux-cp-add-readme-for-xfrm-implementation.patch +++ b/patches/vpp/0005-linux-cp-add-readme-for-xfrm-implementation.patch @@ -1,7 +1,7 @@ From 33348f8e70e26c3fa93ca921cafef5e9af85337c Mon Sep 17 00:00:00 2001 From: Bheemappa Agasimundin Date: Sun, 24 Mar 2024 08:36:48 +0000 -Subject: [PATCH 05/26] linux-cp: add readme for xfrm implementation +Subject: [PATCH 05/27] linux-cp: add readme for xfrm implementation This patch adds REAMDE for XFRM changes design and startup.conf configuration details. diff --git a/patches/vpp/0006-linux-cp-fix-esn-and-anti-replay-issue.patch b/patches/vpp/0006-linux-cp-fix-esn-and-anti-replay-issue.patch index 9949d15..ba444c2 100644 --- a/patches/vpp/0006-linux-cp-fix-esn-and-anti-replay-issue.patch +++ b/patches/vpp/0006-linux-cp-fix-esn-and-anti-replay-issue.patch @@ -1,7 +1,7 @@ From adff1ecb857315e7d3e735efe31dc9b322183732 Mon Sep 17 00:00:00 2001 From: Bheemappa Agasimundin Date: Tue, 27 Aug 2024 17:29:30 +0000 -Subject: [PATCH 06/26] linux-cp: fix esn and anti-replay issue +Subject: [PATCH 06/27] linux-cp: fix esn and anti-replay issue This patch enables anti-replay when ESN is enabled on a Security Association (SA) configured via strongSwan. diff --git a/patches/vpp/0007-linux-cp-fix-ipsec-policy-incorrect-protocol-type.patch b/patches/vpp/0007-linux-cp-fix-ipsec-policy-incorrect-protocol-type.patch index 6eaf9e9..ccb3bf5 100644 --- a/patches/vpp/0007-linux-cp-fix-ipsec-policy-incorrect-protocol-type.patch +++ b/patches/vpp/0007-linux-cp-fix-ipsec-policy-incorrect-protocol-type.patch @@ -1,7 +1,7 @@ From e5d9989fe860fd394d131c791c3e74bd8952c230 Mon Sep 17 00:00:00 2001 From: Bheemappa Agasimundin Date: Tue, 1 Oct 2024 15:06:41 +0000 -Subject: [PATCH 07/26] linux-cp: fix ipsec policy incorrect protocol type +Subject: [PATCH 07/27] linux-cp: fix ipsec policy incorrect protocol type This patch changes protocol type 0 to IPSEC_POLICY_PROTOCOL_ANY to allow any transport protocol for protect/bypass. diff --git a/patches/vpp/0008-linux-cp-Added-build-dependency-for-XFRM.patch b/patches/vpp/0008-linux-cp-Added-build-dependency-for-XFRM.patch index 669b50e..58dfec8 100644 --- a/patches/vpp/0008-linux-cp-Added-build-dependency-for-XFRM.patch +++ b/patches/vpp/0008-linux-cp-Added-build-dependency-for-XFRM.patch @@ -1,7 +1,7 @@ From 56275b6a0dbe20b8eb77a16b6525a34ab71b33ca Mon Sep 17 00:00:00 2001 From: zdc Date: Wed, 12 Feb 2025 12:29:57 +0200 -Subject: [PATCH 08/26] linux-cp: Added build dependency for XFRM +Subject: [PATCH 08/27] linux-cp: Added build dependency for XFRM Added `libnl-xfrm-3-200` to build dependencies to make build `linux-cp` with XFRM possible. diff --git a/patches/vpp/0009-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch b/patches/vpp/0009-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch index 62d52a9..e7bb8c2 100644 --- a/patches/vpp/0009-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch +++ b/patches/vpp/0009-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch @@ -1,7 +1,7 @@ From a5f3779078cd93cfc821a23c681af68d1a3a39cf Mon Sep 17 00:00:00 2001 From: zsdc Date: Tue, 23 Jul 2024 20:06:41 +0300 -Subject: [PATCH 09/26] linux-cp: Added routing for prefixes with no paths +Subject: [PATCH 09/27] linux-cp: Added routing for prefixes with no paths available A new CLI and configuration file option is available: diff --git a/patches/vpp/0010-Resync-ip-fib-with-Linux-state.patch b/patches/vpp/0010-Resync-ip-fib-with-Linux-state.patch index c9d4ec4..79cba0f 100644 --- a/patches/vpp/0010-Resync-ip-fib-with-Linux-state.patch +++ b/patches/vpp/0010-Resync-ip-fib-with-Linux-state.patch @@ -1,7 +1,7 @@ From d87a33a4dd33f04dce319a1e410bc811808fb7b1 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Wed, 24 Jul 2024 08:35:25 +0000 -Subject: [PATCH 10/26] Resync ip fib with Linux state. +Subject: [PATCH 10/27] Resync ip fib with Linux state. A new CLI and API file option is available: diff --git a/patches/vpp/0011-LCP-Improved-lcp-resync-CLI-and-API-to-wait-until-Ne.patch b/patches/vpp/0011-LCP-Improved-lcp-resync-CLI-and-API-to-wait-until-Ne.patch index 8d83c3c..244d135 100644 --- a/patches/vpp/0011-LCP-Improved-lcp-resync-CLI-and-API-to-wait-until-Ne.patch +++ b/patches/vpp/0011-LCP-Improved-lcp-resync-CLI-and-API-to-wait-until-Ne.patch @@ -1,7 +1,7 @@ From 759521ff07dcfb69a09d432e943319a8422ee47c Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Wed, 29 Jan 2025 11:57:01 +0200 -Subject: [PATCH 11/26] LCP: Improved lcp resync CLI and API to wait until +Subject: [PATCH 11/27] LCP: Improved lcp resync CLI and API to wait until Netlink sync is finished. (cherry picked from commit b19375e7e42023a5cdca84f259036574ccd9da77) diff --git a/patches/vpp/0012-build-Fixed-compatibility-with-build-on-Debian-12.patch b/patches/vpp/0012-build-Fixed-compatibility-with-build-on-Debian-12.patch index 5e30f5b..7d7f0c8 100644 --- a/patches/vpp/0012-build-Fixed-compatibility-with-build-on-Debian-12.patch +++ b/patches/vpp/0012-build-Fixed-compatibility-with-build-on-Debian-12.patch @@ -1,7 +1,7 @@ From 99f5622c6945c0055e1a3dea4cd925bee1fecf31 Mon Sep 17 00:00:00 2001 From: zdc Date: Tue, 11 Feb 2025 20:33:46 +0200 -Subject: [PATCH 12/26] build: Fixed compatibility with build on Debian 12 +Subject: [PATCH 12/27] build: Fixed compatibility with build on Debian 12 (cherry picked from commit ca7d5bcd381edb68e9d4ae6ffa915bda4d2c1adf) --- diff --git a/patches/vpp/0013-linux-cp-Added-build-dependency-libunwind8-for-XFRM.patch b/patches/vpp/0013-linux-cp-Added-build-dependency-libunwind8-for-XFRM.patch index 69e142e..79814fe 100644 --- a/patches/vpp/0013-linux-cp-Added-build-dependency-libunwind8-for-XFRM.patch +++ b/patches/vpp/0013-linux-cp-Added-build-dependency-libunwind8-for-XFRM.patch @@ -1,7 +1,7 @@ From 4958c7a4553d03532032c20932f5ab5905bff904 Mon Sep 17 00:00:00 2001 From: Viacheslav Hletenko Date: Thu, 13 Feb 2025 11:37:36 +0000 -Subject: [PATCH 13/26] linux-cp: Added build dependency libunwind8 for XFRM +Subject: [PATCH 13/27] linux-cp: Added build dependency libunwind8 for XFRM Added `libunwind8` to build dependencies required by `linux-cp` for XFRM diff --git a/patches/vpp/0014-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch b/patches/vpp/0014-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch index e5f2734..63c17e9 100644 --- a/patches/vpp/0014-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch +++ b/patches/vpp/0014-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch @@ -1,7 +1,7 @@ From 99cda14db43cc67345bb970ecb78891c1073580e Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 6 Mar 2025 16:27:51 +0200 -Subject: [PATCH 14/26] Revert "linux-cp: Added routing for prefixes with no +Subject: [PATCH 14/27] Revert "linux-cp: Added routing for prefixes with no paths available" This reverts commit c784244ca4092210ea74fcff1ec7c1a7d633e2ff. diff --git a/patches/vpp/0015-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch b/patches/vpp/0015-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch index 4299beb..c0b780b 100644 --- a/patches/vpp/0015-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch +++ b/patches/vpp/0015-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch @@ -1,7 +1,7 @@ From f0fb2180a6ede48a3ef83c951e8c4e321eabd079 Mon Sep 17 00:00:00 2001 From: zsdc Date: Tue, 23 Jul 2024 20:06:41 +0300 -Subject: [PATCH 15/26] linux-cp: Added routing for prefixes with no paths +Subject: [PATCH 15/27] linux-cp: Added routing for prefixes with no paths available A new CLI and configuration file option is available: diff --git a/patches/vpp/0016-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch b/patches/vpp/0016-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch index 05e40b4..1241c2a 100644 --- a/patches/vpp/0016-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch +++ b/patches/vpp/0016-Revert-linux-cp-Added-routing-for-prefixes-with-no-p.patch @@ -1,7 +1,7 @@ From af8cc793670b14b177a13e9fb7f305ac9cce0ec7 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Tue, 18 Mar 2025 21:32:51 +0200 -Subject: [PATCH 16/26] Revert "linux-cp: Added routing for prefixes with no +Subject: [PATCH 16/27] Revert "linux-cp: Added routing for prefixes with no paths available" This reverts commit 5583626fe1a9d11cffb8f759c996e341b7e54a7b. diff --git a/patches/vpp/0017-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch b/patches/vpp/0017-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch index 4d9f5eb..6ce96d9 100644 --- a/patches/vpp/0017-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch +++ b/patches/vpp/0017-linux-cp-Added-routing-for-prefixes-with-no-paths-av.patch @@ -1,7 +1,7 @@ From 76436e797f22e2e3160d044bdd18ff83154fec3e Mon Sep 17 00:00:00 2001 From: zsdc Date: Tue, 23 Jul 2024 20:06:41 +0300 -Subject: [PATCH 17/26] linux-cp: Added routing for prefixes with no paths +Subject: [PATCH 17/27] linux-cp: Added routing for prefixes with no paths available Fixed GRE crashes in IPv4 and IPv6 FIB. diff --git a/patches/vpp/0018-pppoe.-Automated-session-management.-12.patch b/patches/vpp/0018-pppoe.-Automated-session-management.-12.patch index 3e3d58f..c5cb1bc 100644 --- a/patches/vpp/0018-pppoe.-Automated-session-management.-12.patch +++ b/patches/vpp/0018-pppoe.-Automated-session-management.-12.patch @@ -1,7 +1,7 @@ From 46a6d61368157eb7fb7bf382e3fda9776c5a9a42 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 15 May 2025 17:18:48 +0300 -Subject: [PATCH 18/26] pppoe. Automated session management. (#12) +Subject: [PATCH 18/27] pppoe. Automated session management. (#12) Purpose of Changes: Automate PPPoE session management by sniffing LCP, IPCP and PADT control frames. diff --git a/patches/vpp/0019-pppoe-Added-option-enable-pass-nd-and-dhcpv6.patch b/patches/vpp/0019-pppoe-Added-option-enable-pass-nd-and-dhcpv6.patch index a18e1f9..e2e4a03 100644 --- a/patches/vpp/0019-pppoe-Added-option-enable-pass-nd-and-dhcpv6.patch +++ b/patches/vpp/0019-pppoe-Added-option-enable-pass-nd-and-dhcpv6.patch @@ -1,7 +1,7 @@ From f8c35e9dc43b36c4469a7586675e74a922af3d58 Mon Sep 17 00:00:00 2001 From: Andrii Melnychenko Date: Thu, 10 Jul 2025 17:42:44 +0200 -Subject: [PATCH 19/26] pppoe: Added option "enable-pass-nd-and-dhcpv6" +Subject: [PATCH 19/27] pppoe: Added option "enable-pass-nd-and-dhcpv6" This option would allow to pass ICMPv6 sl & ra and UDP-DHCPv6 packets to the PPPoE control plane. diff --git a/patches/vpp/0020-linux-cp-fix-multicast-route-updates-on-address-add-.patch b/patches/vpp/0020-linux-cp-fix-multicast-route-updates-on-address-add-.patch index b7e90a3..5c9f094 100644 --- a/patches/vpp/0020-linux-cp-fix-multicast-route-updates-on-address-add-.patch +++ b/patches/vpp/0020-linux-cp-fix-multicast-route-updates-on-address-add-.patch @@ -1,7 +1,7 @@ From 9960334b856d1d88ee66ad7a4f7b2949f20ae93a Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Tue, 29 Jul 2025 17:39:29 +0300 -Subject: [PATCH 20/26] linux-cp: fix multicast route updates on address +Subject: [PATCH 20/27] linux-cp: fix multicast route updates on address add/del Ensure multicast routes are only added when the first IPv4 address is configured on an interface, diff --git a/patches/vpp/0021-vyos-linux-cp-xfrm-Updated-XFRM-features-for-compati.patch b/patches/vpp/0021-vyos-linux-cp-xfrm-Updated-XFRM-features-for-compati.patch index bc95608..63d1380 100644 --- a/patches/vpp/0021-vyos-linux-cp-xfrm-Updated-XFRM-features-for-compati.patch +++ b/patches/vpp/0021-vyos-linux-cp-xfrm-Updated-XFRM-features-for-compati.patch @@ -1,7 +1,7 @@ From b01e1da6fc46a1ccda873b8ca3603ac81fdffd63 Mon Sep 17 00:00:00 2001 From: zdc Date: Fri, 1 Aug 2025 17:16:28 +0300 -Subject: [PATCH 21/26] vyos: linux-cp: xfrm: Updated XFRM features for +Subject: [PATCH 21/27] vyos: linux-cp: xfrm: Updated XFRM features for compatibility with VPP 25.06 - Updated headers for `file_main` (as per 2fa70d66482adb21178bad9ebf0d748358cd416e) diff --git a/patches/vpp/0022-ipsec-Improve-tunnel-mode-detection-in-ESP-decrypt-p.patch b/patches/vpp/0022-ipsec-Improve-tunnel-mode-detection-in-ESP-decrypt-p.patch index a08a1da..8bd5ada 100644 --- a/patches/vpp/0022-ipsec-Improve-tunnel-mode-detection-in-ESP-decrypt-p.patch +++ b/patches/vpp/0022-ipsec-Improve-tunnel-mode-detection-in-ESP-decrypt-p.patch @@ -1,7 +1,7 @@ From cfb1217a7954404891fe53c8aaa411ef9b142034 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 28 Aug 2025 12:34:32 +0300 -Subject: [PATCH 22/26] ipsec: Improve tunnel mode detection in ESP decrypt +Subject: [PATCH 22/27] ipsec: Improve tunnel mode detection in ESP decrypt post-crypto (#24) Type: fix diff --git a/patches/vpp/0023-linux-cp-T7775-Add-AEAD-RFC4106-AES-GCM-support-in-x.patch b/patches/vpp/0023-linux-cp-T7775-Add-AEAD-RFC4106-AES-GCM-support-in-x.patch index d387545..966e9dc 100644 --- a/patches/vpp/0023-linux-cp-T7775-Add-AEAD-RFC4106-AES-GCM-support-in-x.patch +++ b/patches/vpp/0023-linux-cp-T7775-Add-AEAD-RFC4106-AES-GCM-support-in-x.patch @@ -1,7 +1,7 @@ From a0dd2889dd2554c4ebb83b92abaf23f768aa4621 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 18 Sep 2025 13:53:42 +0300 -Subject: [PATCH 23/26] linux-cp: T7775: Add AEAD (RFC4106 AES-GCM) support in +Subject: [PATCH 23/27] linux-cp: T7775: Add AEAD (RFC4106 AES-GCM) support in xfrm SA handling (#26) Type: fix diff --git a/patches/vpp/0024-linux-cp-T7770-open-XFRM-netlink-socket-at-config-ti.patch b/patches/vpp/0024-linux-cp-T7770-open-XFRM-netlink-socket-at-config-ti.patch index b1499f9..bda569e 100644 --- a/patches/vpp/0024-linux-cp-T7770-open-XFRM-netlink-socket-at-config-ti.patch +++ b/patches/vpp/0024-linux-cp-T7770-open-XFRM-netlink-socket-at-config-ti.patch @@ -1,7 +1,7 @@ From c726229ecb073a456dcee38116909b01b47456ae Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 18 Sep 2025 17:11:11 +0300 -Subject: [PATCH 24/26] linux-cp: T7770: open XFRM netlink socket at config +Subject: [PATCH 24/27] linux-cp: T7770: open XFRM netlink socket at config time. (#25) Type: fix diff --git a/patches/vpp/0025-policer-Added-features-for-unicast-multicast-arc.-29.patch b/patches/vpp/0025-policer-Added-features-for-unicast-multicast-arc.-29.patch index abd9eab..7ff165b 100644 --- a/patches/vpp/0025-policer-Added-features-for-unicast-multicast-arc.-29.patch +++ b/patches/vpp/0025-policer-Added-features-for-unicast-multicast-arc.-29.patch @@ -1,7 +1,7 @@ From 7b605e618d34710680d0c46d93c3b1824398a1f0 Mon Sep 17 00:00:00 2001 From: Fullroot <51375681+AndriiFullroot@users.noreply.github.com> Date: Thu, 9 Oct 2025 16:19:38 +0200 -Subject: [PATCH 25/26] policer: Added features for unicast/multicast arc. +Subject: [PATCH 25/27] policer: Added features for unicast/multicast arc. (#29) For the PPPoE session, the input policer would not work diff --git a/patches/vpp/0026-linux-cp-T7775-fix-AES-GCM-256-misidentification-30.patch b/patches/vpp/0026-linux-cp-T7775-fix-AES-GCM-256-misidentification-30.patch index 5d0c239..b58b486 100644 --- a/patches/vpp/0026-linux-cp-T7775-fix-AES-GCM-256-misidentification-30.patch +++ b/patches/vpp/0026-linux-cp-T7775-fix-AES-GCM-256-misidentification-30.patch @@ -1,7 +1,7 @@ From d3bf1f02365d9b6d7680a2366927d421a66bb2e5 Mon Sep 17 00:00:00 2001 From: Denys Haryachyy Date: Thu, 23 Oct 2025 17:25:11 +0300 -Subject: [PATCH 26/26] linux-cp: T7775: fix AES-GCM-256 misidentification +Subject: [PATCH 26/27] linux-cp: T7775: fix AES-GCM-256 misidentification (#30) VPP was incorrectly identifying AES-GCM-256 IPsec SAs as AES-GCM-128, diff --git a/patches/vpp/0027-version-Implement-VyOS-specific-versioning-format-31.patch b/patches/vpp/0027-version-Implement-VyOS-specific-versioning-format-31.patch new file mode 100644 index 0000000..6be8f49 --- /dev/null +++ b/patches/vpp/0027-version-Implement-VyOS-specific-versioning-format-31.patch @@ -0,0 +1,49 @@ +From f449680494d7851af849c68bdc4f75cd6d1b9e6d Mon Sep 17 00:00:00 2001 +From: zdc +Date: Fri, 31 Oct 2025 16:47:41 +0200 +Subject: [PATCH 27/27] version: Implement VyOS-specific versioning format + (#31) + +Modify the version script to generate VyOS-specific version strings that include UTC +timestamp of a latest commit, commit hash, and dirty status indicator. + +New format: `vyos.[.dirty]` + +Example version string: `24.06.0-123+vyos20251030143522.a1b2c3d.dirty` + +Justification: + +* Timestamp ensures proper version ordering: builds with the same number of commits after a +tag will be correctly ordered by time, guaranteeing that newer commits always supersede older +ones in package managers. +* The '-dirty' suffix in debian_revision violates Debian policy and breaks dpkg logic. Debian +uses '-' as the separator between upstream_version and debian_revision. Using '-dirty' causes +dpkg to misinterpret the version string. Switching to '.dirty' follows Debian conventions +where '.' is a valid separator within the revision field. + +This versioning scheme follows Debian policy and provides precise build identification with +a commit timestamp, commit hash, and repository state. +--- + src/scripts/version | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/scripts/version b/src/scripts/version +index b8748af15..4e517da21 100755 +--- a/src/scripts/version ++++ b/src/scripts/version +@@ -43,7 +43,11 @@ fi + + git rev-parse 2> /dev/null + if [ $? == 0 ]; then +- CMT=$(git describe --dirty --long --match 'v*'| cut -s -d- -f3,4) ++ # Additional variables for VyOS versioning ++ COMMIT_HASH=$(git rev-parse --short HEAD) ++ COMMIT_DATE=$(TZ=UTC git --no-pager log -1 --format=%ad --date=format:%Y%m%d%H%M%S) ++ DIRTY=$(git diff-index --quiet HEAD -- && echo "" || echo ".dirty") ++ CMT="vyos${COMMIT_DATE}.${COMMIT_HASH}${DIRTY}" + else + CMT=$(echo ${vstring} | cut -s -d- -f3,4) + fi +-- +2.39.5 +