From b39d88e69d43eb4b146765bbc52354c16c7ae413 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Mon, 16 Sep 2024 11:14:43 +0200 Subject: [PATCH 1/2] frr: 10.0.1 -> 10.1 Some important fixes: * bgpd: Fix route leaking from the default l3vrf * isisd: Fix crash when deactivating ISIS adjacency on the interface * ospfd: Fix crash in OSPF TE parsing Full changelog: https://github.com/FRRouting/frr/releases/tag/frr-10.1 * Add zeromq as new dependency * Remove datacenter option, which is now deprecated and enabeld by default Signed-off-by: Markus Theil --- pkgs/servers/frr/default.nix | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pkgs/servers/frr/default.nix b/pkgs/servers/frr/default.nix index d1f8272bd2f8..76d0dc8b2a8f 100644 --- a/pkgs/servers/frr/default.nix +++ b/pkgs/servers/frr/default.nix @@ -27,6 +27,7 @@ , readline , rtrlib , protobufc +, zeromq # tests , nettools @@ -45,7 +46,6 @@ , numMultipath ? 64 , watchfrrSupport ? true , cumulusSupport ? false -, datacenterSupport ? true , rtadvSupport ? true , irdpSupport ? true , routeReplacementSupport ? true @@ -84,15 +84,15 @@ lib.warnIf (!(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) "cannot enable SNMP support due to cross-compilation issues with net-snmp-config" -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "frr"; - version = "10.0.1"; + version = "10.1"; src = fetchFromGitHub { owner = "FRRouting"; - repo = pname; - rev = "${pname}-${version}"; - hash = "sha256-bY5SSF/fmKQc8ECPik0v/ZlUiFsbZhwG2C5pbmoMzwQ="; + repo = finalAttrs.pname; + rev = "${finalAttrs.pname}-${finalAttrs.version}"; + hash = "sha256-pmFdxL8QpyXvpX2YiSOZ+KIoNaj1OOH6/qnVAWZLE9s="; }; patches = [ @@ -122,10 +122,11 @@ stdenv.mkDerivation rec { openssl pam pcre2 + protobufc python3 readline rtrlib - protobufc + zeromq ] ++ lib.optionals stdenv.isLinux [ libcap ] ++ lib.optionals snmpSupport [ @@ -141,7 +142,7 @@ stdenv.mkDerivation rec { # cross-compiling: clippy is compiled with the build host toolchain, split it out to ease # navigation in dependency hell - clippy-helper = buildPackages.callPackage ./clippy-helper.nix { frrVersion = version; frrSource = src; }; + clippy-helper = buildPackages.callPackage ./clippy-helper.nix { frrVersion = finalAttrs.version; frrSource = finalAttrs.src; }; configureFlags = [ "--disable-silent-rules" @@ -155,7 +156,7 @@ stdenv.mkDerivation rec { "--localstatedir=/run/frr" "--sbindir=$(out)/libexec/frr" "--sysconfdir=/etc/frr" - "--with-clippy=${clippy-helper}/bin/clippy" + "--with-clippy=${finalAttrs.clippy-helper}/bin/clippy" # general options (lib.strings.enableFeature snmpSupport "snmp") (lib.strings.enableFeature rpkiSupport "rpki") @@ -193,8 +194,6 @@ stdenv.mkDerivation rec { (lib.strings.enableFeature ospfApi "ospfapi") # Cumulus options (lib.strings.enableFeature cumulusSupport "cumulus") - # Datacenter options - (lib.strings.enableFeature datacenterSupport "datacenter") ]; postPatch = '' @@ -243,4 +242,4 @@ stdenv.mkDerivation rec { }; passthru.tests = { inherit (nixosTests) frr; }; -} +}) From 83cdec2e165cc20610f5fae569bd499a002c5175 Mon Sep 17 00:00:00 2001 From: Markus Theil Date: Mon, 16 Sep 2024 11:31:35 +0200 Subject: [PATCH 2/2] nixos/tests/frr: fix ping command Signed-off-by: Markus Theil --- nixos/tests/frr.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/tests/frr.nix b/nixos/tests/frr.nix index 0d1a6a694a82..edd702dc60e6 100644 --- a/nixos/tests/frr.nix +++ b/nixos/tests/frr.nix @@ -99,6 +99,6 @@ import ./make-test-python.nix ({ pkgs, ... }: gw.wait_until_succeeds("vtysh -c 'show ip route' | grep '^O>'") with subtest("Test ICMP"): - client.wait_until_succeeds("ping -c 3 server >&2") + client.wait_until_succeeds("ping -4 -c 3 server >&2") ''; })