mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-16 05:53:00 +02:00
udev: Fix renaming bridged interfaces
Since using random interface names is always trouble, we will order all slave interfaces and number them in order as they appear in the SLAVES variable. Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
committed by
Michael Tremer
parent
341ad69f0e
commit
087a20011b
@@ -58,18 +58,25 @@ for zone in ${ZONES}; do
|
||||
address="${zone}_MACADDR"
|
||||
device="${zone}_DEV"
|
||||
mode="${zone}_MODE"
|
||||
slaves="${zone}_SLAVES"
|
||||
|
||||
# Skip if address or device is unset
|
||||
[ -n "${!address}" -a -n "${!device}" ] || continue
|
||||
|
||||
# Compare MAC addresses
|
||||
[ "${ADDRESS}" = "${!address,,}" ] || continue
|
||||
# Return DEV when the address matches
|
||||
if [ "${!address,,}" = "${ADDRESS,,}" ]; then
|
||||
echo "${!device}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# If a matching interface has been found we will
|
||||
# print the name to which udev will rename it.
|
||||
case "${!mode}" in
|
||||
bridge)
|
||||
echo "${!device%0}phys0"
|
||||
counter=0
|
||||
for slave in ${!slaves}; do
|
||||
if [ "${slave,,}" = "${ADDRESS,,}" ]; then
|
||||
echo "${!device}p${counter}"
|
||||
fi
|
||||
(( counter += 1 ))
|
||||
done
|
||||
;;
|
||||
|
||||
macvtap)
|
||||
@@ -81,13 +88,7 @@ for zone in ${ZONES}; do
|
||||
echo "${!device%0}phys0"
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "${!device}"
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
done
|
||||
|
||||
# If we get here we have not found a matching device,
|
||||
|
||||
Reference in New Issue
Block a user