network-interfaces: Bonding fixes
This commit is contained in:
parent
93eb325004
commit
f1572d37c3
@ -778,7 +778,9 @@ in
|
|||||||
path = [ pkgs.ifenslave pkgs.iproute ];
|
path = [ pkgs.ifenslave pkgs.iproute ];
|
||||||
script = ''
|
script = ''
|
||||||
# Remove Dead Interfaces
|
# Remove Dead Interfaces
|
||||||
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
|
ip link set "${n}" down >/dev/null 2>&1 || true
|
||||||
|
ifenslave -d "${n}" >/dev/null 2>&1 || true
|
||||||
|
ip link del "${n}" >/dev/null 2>&1 || true
|
||||||
|
|
||||||
ip link add name "${n}" type bond
|
ip link add name "${n}" type bond
|
||||||
|
|
||||||
@ -786,25 +788,25 @@ in
|
|||||||
while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
|
while [ ! -d /sys/class/net/${n} ]; do sleep 0.1; done;
|
||||||
|
|
||||||
# Set the miimon and mode options
|
# Set the miimon and mode options
|
||||||
${optionalString (v.lacp_rate != null)
|
|
||||||
"echo \"${v.lacp_rate}\" > /sys/class/net/${n}/bonding/lacp_rate"}
|
|
||||||
${optionalString (v.miimon != null)
|
${optionalString (v.miimon != null)
|
||||||
"echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
|
"echo ${toString v.miimon} > /sys/class/net/${n}/bonding/miimon"}
|
||||||
${optionalString (v.mode != null)
|
${optionalString (v.mode != null)
|
||||||
"echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
|
"echo \"${v.mode}\" > /sys/class/net/${n}/bonding/mode"}
|
||||||
|
${optionalString (v.lacp_rate != null)
|
||||||
|
"echo \"${v.lacp_rate}\" > /sys/class/net/${n}/bonding/lacp_rate"}
|
||||||
${optionalString (v.xmit_hash_policy != null)
|
${optionalString (v.xmit_hash_policy != null)
|
||||||
"echo \"${v.xmit_hash_policy}\" > /sys/class/net/${n}/bonding/xmit_hash_policy"}
|
"echo \"${v.xmit_hash_policy}\" > /sys/class/net/${n}/bonding/xmit_hash_policy"}
|
||||||
|
|
||||||
# Bring up the bridge and enslave the specified interfaces
|
# Bring up the bond and enslave the specified interfaces
|
||||||
ip link set "${n}" up
|
ip link set "${n}" up
|
||||||
${flip concatMapStrings v.interfaces (i: ''
|
${flip concatMapStrings v.interfaces (i: ''
|
||||||
ifenslave "${n}" "${i}"
|
ifenslave "${n}" "${i}"
|
||||||
'')}
|
'')}
|
||||||
'';
|
'';
|
||||||
postStop = ''
|
postStop = ''
|
||||||
ip link set "${n}" down
|
ip link set "${n}" down >dev/null 2>&1 || true
|
||||||
ifenslave -d "${n}"
|
ifenslave -d "${n}" >/dev/null 2>&1 || true
|
||||||
ip link delete "${n}"
|
ip link del "${n}" >/dev/null 2>&1 || true
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user