containers: add interfaces config option.

It uses systemd-nspawn's --network-interface to move
existing interfaces into the container.
This commit is contained in:
Boris Sukholitko 2015-08-22 13:01:09 +03:00
parent a1d85fc261
commit 77c49d9333

View File

@ -120,6 +120,15 @@ in
'';
};
interfaces = mkOption {
type = types.listOf types.string;
default = null;
example = [ "eth1" "eth2" ];
description = ''
The list of interfaces to be moved into the container.
'';
};
autoStart = mkOption {
type = types.bool;
default = false;
@ -218,6 +227,10 @@ in
extraFlags+=" --network-veth"
fi
for iface in $INTERFACES; do
extraFlags+=" --network-interface=$iface"
done
for iface in $MACVLANS; do
extraFlags+=" --network-macvlan=$iface"
done
@ -331,6 +344,9 @@ in
LOCAL_ADDRESS=${cfg.localAddress}
''}
''}
${optionalString (cfg.interfaces != null) ''
INTERFACES="${toString cfg.interfaces}"
''}
${optionalString cfg.autoStart ''
AUTO_START=1
''}