nixos/rxe: use iproute instead of rdma-core
The rdma-core packages dropped rxe_cfg in favour of iproute's rdma utility (see https://github.com/linux-rdma/rdma-core/pull/678/files)
This commit is contained in:
parent
505bccfdc7
commit
2c7f8d56dc
2 changed files with 10 additions and 21 deletions
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
Loading…
Reference in a new issue