. /usr/lib/network/header-port
-# DEVICE equals the actual MAC address of the device.
-# If ADDRESS is set, the device will get ADDRESS set for its MAC address.
-
-HOOK_SETTINGS="ADDRESS ADVERTISED_LINK_SPEEDS DEVICE OFFLOADING MTU"
+HOOK_SETTINGS=(
+ "ADDRESS"
+ "ADVERTISED_LINK_SPEEDS"
+ "DEVICE"
+ "OFFLOADING"
+ "MTU"
+)
hook_check_settings() {
assert ismac DEVICE
local DEVICE="$(device_get_address "${device}")"
- if ! port_settings_write "${port}" ${HOOK_SETTINGS}; then
+ if ! port_settings_write "${port}"; then
log ERROR "Could not write settings for port ${port}"
return ${EXIT_ERROR}
fi
hook_up() {
local port="${1}"
- local ${HOOK_SETTINGS}
- if ! port_settings_read "${port}" ${HOOK_SETTINGS}; then
+ local ${HOOK_SETTINGS[*]}
+ if ! port_settings_read "${port}"; then
log ERROR "Could not read settings for port ${port}"
return ${EXIT_ERROR}
fi
}
hook_hotplug_rename() {
- local port=${1}
- assert isset port
-
- local device=${2}
- assert isset device
-
- # Read in the conifguration file.
- port_settings_read "${port}" ${HOOK_SETTINGS}
-
- # Get the current MAC address of the device.
- local address=$(device_get_address ${device})
- assert isset address
-
- # Check if the address matches with the configuration.
- if list_match "${address}" ${DEVICE} ${ADDRESS}; then
- log DEBUG "Device '${device}' equals port '${port}'."
- exit ${EXIT_OK}
- fi
-
- log DEBUG "Device '${device}' does not equal port '${port}'."
- exit ${EXIT_ERROR}
+ hook_hotplug_rename_by_address "$@"
}