]> git.ipfire.org Git - people/ms/network.git/blobdiff - src/header-port
man: Convert network-performance-tuning(8) to asciidoc
[people/ms/network.git] / src / header-port
index 141228ae89a22fe0eed7d90edc92ced11be39ba2..d75fdd86240b7bc344202c1ab794288951c56cf9 100644 (file)
@@ -42,8 +42,34 @@ hook_hotplug_rename() {
        exit ${EXIT_FALSE}
 }
 
+hook_hotplug_rename_by_address() {
+       local port="${1}"
+       assert isset port
+
+       local device="${2}"
+       assert isset device
+
+       # Read in the conifguration file.
+       if ! port_settings_read "${port}"; then
+               return ${EXIT_ERROR}
+       fi
+
+       # 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}" "${ADDRESS}" "${DEVICE}"; then
+               log DEBUG "Device '${device}' is port '${port}'"
+               return ${EXIT_OK}
+       fi
+
+       log DEBUG "Device '${device}' is not port '${port}'"
+       return ${EXIT_ERROR}
+}
+
 hook_default_new() {
-       local ${HOOK_SETTINGS}
+       local ${HOOK_SETTINGS[*]}
 
        # Import all default variables
        hook_set_defaults
@@ -57,7 +83,7 @@ hook_default_new() {
        local port=$(port_find_free ${HOOK_PORT_PATTERN})
        assert isset port
 
-       port_settings_write "${port}" ${HOOK_SETTINGS}
+       port_settings_write "${port}" ${HOOK_SETTINGS[*]}
 
        exit ${EXIT_OK}
 }
@@ -72,7 +98,7 @@ hook_default_edit() {
        shift
 
        # Read settings
-       if ! port_settings_read "${port}" ${HOOK_SETTINGS}; then
+       if ! port_settings_read "${port}" ${HOOK_SETTINGS[*]}; then
                error "Could not read settings for port ${port}"
                return ${EXIT_ERROR}
        fi
@@ -83,7 +109,7 @@ hook_default_edit() {
        fi
 
        # Save settings
-       if ! port_settings_write "${port}" ${HOOK_SETTINGS}; then
+       if ! port_settings_write "${port}" ${HOOK_SETTINGS[*]}; then
                error "Could not write settings for port ${port}"
                return ${EXIT_ERROR}
        fi
@@ -102,7 +128,7 @@ hook_edit() {
 hook_children() {
        local port="${1}"
 
-       if ! port_settings_read "${port}" ${HOOK_SETTINGS}; then
+       if ! port_settings_read "${port}" ${HOOK_SETTINGS[*]}; then
                log ERROR "Could not read port settings: ${port}"
                return ${EXIT_OK}
        fi