mirror of
https://github.com/samba-team/samba.git
synced 2025-01-26 10:04:02 +03:00
Bond devices can have any name the user configures, so
when checking link status for an interface, first check if this interface is in fact a bond device (by the precense of a /proc/net/bonding/IFACE file) and use that file for checking status. Othervise assume ib* is an infiniband interface which we donnt know how to check, or otherwise it is an ethernet interface and ethtool should hopefully work. (This used to be ctdb commit 8cc6c5de3d7abb0b72eaa6e769e70963b02d84cb)
This commit is contained in:
parent
3ca3f4c771
commit
50820f9e18
@ -142,18 +142,23 @@ case "$1" in
|
||||
INTERFACES=`for IFACE in $INTERFACES ; do echo $IFACE ; done | sort | uniq`
|
||||
|
||||
for IFACE in $INTERFACES ; do
|
||||
# These interfaces are sometimes bond devices
|
||||
# When we use VLANs for bond interfaces, there will only
|
||||
# be an entry in /proc for the underlying real interface
|
||||
REALIFACE=`echo $IFACE |sed -e 's/\..*$//'`
|
||||
[ -f /proc/net/bonding/$REALIFACE ] && {
|
||||
grep -q 'Currently Active Slave: None' /proc/net/bonding/$REALIFACE && {
|
||||
echo "ERROR: No active slaves for bond device $REALIFACE"
|
||||
exit 1
|
||||
}
|
||||
grep -q '^MII Status: up' /proc/net/bonding/$REALIFACE || {
|
||||
echo "ERROR: public network interface $REALIFACE is down"
|
||||
exit 1
|
||||
}
|
||||
exit 0;
|
||||
}
|
||||
|
||||
case $IFACE in
|
||||
ethX*|bond*)
|
||||
IFACE=`echo $IFACE |sed -e 's/\....$//'`
|
||||
grep -q 'Currently Active Slave: None' /proc/net/bonding/$IFACE && {
|
||||
echo "ERROR: No active slaves for bond device $IFACE"
|
||||
exit 1
|
||||
}
|
||||
grep -q '^MII Status: up' /proc/net/bonding/$IFACE || {
|
||||
echo "ERROR: public network interface $IFACE is down"
|
||||
exit 1
|
||||
}
|
||||
;;
|
||||
ib*)
|
||||
# we dont know how to test ib links
|
||||
;;
|
||||
|
Loading…
x
Reference in New Issue
Block a user