diff options
| author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2026-03-19 13:36:34 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-19 13:36:34 +0200 |
| commit | a7fef643d90105d3a099fe3fd4124a9e7df40bae (patch) | |
| tree | 7a47c17ef4b338e8a066cebd5afdc8db46ad63de /scripts/package-build | |
| parent | cf9583252173f15138c0e196efadc2bc4512b23c (diff) | |
| parent | fca6d1e606ca2f708d6de78a48c6a76eea591f0c (diff) | |
| download | vyos-build-a7fef643d90105d3a099fe3fd4124a9e7df40bae.tar.gz vyos-build-a7fef643d90105d3a099fe3fd4124a9e7df40bae.zip | |
Merge pull request #1139 from sarthurdev/kea_multiaddr
kea: T7853: Offer subnet for any interface address
Diffstat (limited to 'scripts/package-build')
| -rw-r--r-- | scripts/package-build/isc-kea/.gitignore | 4 | ||||
| -rw-r--r-- | scripts/package-build/isc-kea/package.toml | 2 | ||||
| -rw-r--r-- | scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch | 59 | ||||
| -rwxr-xr-x | scripts/package-build/isc-kea/prebuild.sh (renamed from scripts/package-build/isc-kea/build.sh) | 3 |
4 files changed, 62 insertions, 6 deletions
diff --git a/scripts/package-build/isc-kea/.gitignore b/scripts/package-build/isc-kea/.gitignore index 14a6344c..39caf968 100644 --- a/scripts/package-build/isc-kea/.gitignore +++ b/scripts/package-build/isc-kea/.gitignore @@ -1,2 +1,2 @@ -isc-kea/ -kea-packaging/ +/isc-kea/ +/kea-packaging/ diff --git a/scripts/package-build/isc-kea/package.toml b/scripts/package-build/isc-kea/package.toml index 19924493..57bf393a 100644 --- a/scripts/package-build/isc-kea/package.toml +++ b/scripts/package-build/isc-kea/package.toml @@ -2,4 +2,4 @@ name = "isc-kea" commit_id = "Kea-3.0.2" scm_url = "https://gitlab.isc.org/isc-projects/kea.git" -build_cmd = "cd ..; ./build.sh" +pre_build_hook = "cd ..; ./prebuild.sh" diff --git a/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch b/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch new file mode 100644 index 00000000..57d700c3 --- /dev/null +++ b/scripts/package-build/isc-kea/patches/isc-kea/0001-3162-Check-all-interface-addresses-for-matching-subn.patch @@ -0,0 +1,59 @@ +From 7d4662a0e26fae27583883a8c8138b62792fc3cf Mon Sep 17 00:00:00 2001 +From: sarthurdev <965089+sarthurdev@users.noreply.github.com> +Date: Sat, 20 Sep 2025 23:00:20 +0200 +Subject: [PATCH] [#3162] Check all interface addresses for matching subnet + +--- + src/lib/dhcpsrv/cfg_subnets4.cc | 31 +++++++++++++++++++------------ + 1 file changed, 19 insertions(+), 12 deletions(-) + +diff --git a/src/lib/dhcpsrv/cfg_subnets4.cc b/src/lib/dhcpsrv/cfg_subnets4.cc +index 13286bb6d4..f25349f63a 100644 +--- a/src/lib/dhcpsrv/cfg_subnets4.cc ++++ b/src/lib/dhcpsrv/cfg_subnets4.cc +@@ -393,23 +393,30 @@ CfgSubnets4::selectSubnet(const SubnetSelector& selector) const { + if (subnet) { + return (subnet); + } else { +- // Let's try to get an address from the local interface and +- // try to match it to defined subnet. +- iface->getAddress4(address); ++ // Let's try to get addresses from the local interface and ++ // try to match one to a defined subnet. ++ for (auto const& addr : iface->getAddresses()) { ++ ++ // We only care about IPv4 here ++ if (!addr.get().isV4()) { ++ continue; ++ } ++ ++ address = addr.get(); ++ subnet = selectSubnet(address, selector.client_classes_); ++ ++ if (subnet) { ++ return (subnet); ++ } ++ } + } + } + + // Unable to find a suitable address to use for subnet selection. +- if (address.isV4Zero()) { +- LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE, +- DHCPSRV_SUBNET4_SELECT_NO_USABLE_ADDRESS); +- +- return (ConstSubnet4Ptr()); +- } ++ LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE, ++ DHCPSRV_SUBNET4_SELECT_NO_USABLE_ADDRESS); + +- // We have identified an address in the client's packet that can be +- // used for subnet selection. Match this packet with the subnets. +- return (selectSubnet(address, selector.client_classes_)); ++ return (ConstSubnet4Ptr()); + } + + ConstSubnet4Ptr +-- +2.50.1 (Apple Git-155) + diff --git a/scripts/package-build/isc-kea/build.sh b/scripts/package-build/isc-kea/prebuild.sh index b30804f5..7bd6d5b6 100755 --- a/scripts/package-build/isc-kea/build.sh +++ b/scripts/package-build/isc-kea/prebuild.sh @@ -25,6 +25,3 @@ sed -i '/usr\/share\/doc\/kea/d' debian/*.install echo "usr/share/doc/kea/*" >> debian/not-installed echo "usr/share/kea/meson-info/*" >> debian/not-installed rm -rf debian/isc-kea-doc.install debian/isc-kea-subscriber* debian/isc-kea-premium* - -sudo mk-build-deps --install --tool 'apt-get --yes --no-install-recommends' -dpkg-buildpackage -uc -us -tc -b |
