diff options
author | markuskowa <markus.kowalewski@gmail.com> | 2020-03-22 18:01:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-22 18:01:09 +0100 |
commit | a9d7a1ee5b5ade61560611c386a35f5226c388f6 (patch) | |
tree | 1af9d2b692d2029b4d4b8f1d600948662dfed13f /nixos | |
parent | 4e6a21dbec4f1da256979bbb19ab5c25f0996d7e (diff) | |
parent | 2c7f8d56dce12ae9f890d627766764c36f371b06 (diff) | |
download | nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar.gz nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar.bz2 nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar.lz nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar.xz nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.tar.zst nixpkgs-a9d7a1ee5b5ade61560611c386a35f5226c388f6.zip |
Merge pull request #81277 from markuskowa/upd-rdma-core
nixos/rdma-core: 27.0 -> 28.0, update RXE module
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/networking/rxe.nix | 29 | ||||
-rw-r--r-- | nixos/tests/rxe.nix | 2 |
2 files changed, 10 insertions, 21 deletions
diff --git a/nixos/modules/services/networking/rxe.nix b/nixos/modules/services/networking/rxe.nix index a6a069ec50c..fbec62728c0 100644 --- a/nixos/modules/services/networking/rxe.nix +++ b/nixos/modules/services/networking/rxe.nix @@ -5,20 +5,6 @@ with lib; let cfg = config.networking.rxe; - runRxeCmd = cmd: ifcs: - concatStrings ( map (x: "${pkgs.rdma-core}/bin/rxe_cfg -n ${cmd} ${x};") ifcs); - - startScript = pkgs.writeShellScriptBin "rxe-start" '' - ${pkgs.rdma-core}/bin/rxe_cfg -n start - ${runRxeCmd "add" cfg.interfaces} - ${pkgs.rdma-core}/bin/rxe_cfg - ''; - - stopScript = pkgs.writeShellScriptBin "rxe-stop" '' - ${runRxeCmd "remove" cfg.interfaces } - ${pkgs.rdma-core}/bin/rxe_cfg -n stop - ''; - in { ###### interface @@ -31,9 +17,8 @@ in { example = [ "eth0" ]; description = '' Enable RDMA on the listed interfaces. The corresponding virtual - RDMA interfaces will be named rxe0 ... rxeN where the ordering - will be as they are named in the list. UDP port 4791 must be - open on the respective ethernet interfaces. + RDMA interfaces will be named rxe_<interface>. + UDP port 4791 must be open on the respective ethernet interfaces. ''; }; }; @@ -44,7 +29,6 @@ in { config = mkIf cfg.enable { systemd.services.rxe = { - path = with pkgs; [ kmod rdma-core ]; description = "RoCE interfaces"; wantedBy = [ "multi-user.target" ]; @@ -54,8 +38,13 @@ in { serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - ExecStart = "${startScript}/bin/rxe-start"; - ExecStop = "${stopScript}/bin/rxe-stop"; + ExecStart = map ( x: + "${pkgs.iproute}/bin/rdma link add rxe_${x} type rxe netdev ${x}" + ) cfg.interfaces; + + ExecStop = map ( x: + "${pkgs.iproute}/bin/rdma link delete rxe_${x}" + ) cfg.interfaces; }; }; }; diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix index 194a2e3d2b9..10753c4ed0c 100644 --- a/nixos/tests/rxe.nix +++ b/nixos/tests/rxe.nix @@ -28,7 +28,7 @@ in { # Test if rxe interface comes up server.wait_for_unit("default.target") server.succeed("systemctl status rxe.service") - server.succeed("ibv_devices | grep rxe0") + server.succeed("ibv_devices | grep rxe_eth1") client.wait_for_unit("default.target") |