From: Michael Tremer Date: Sat, 5 Aug 2017 19:38:12 +0000 (+0000) Subject: dummy: Cleanup hook X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd6d94b59bcc67567c4d8b09969da4fab95a04bf;p=people%2Fstevee%2Fnetwork.git dummy: Cleanup hook No functional changes Signed-off-by: Michael Tremer --- diff --git a/src/header-port b/src/header-port index 56551d14..50e26d21 100644 --- a/src/header-port +++ b/src/header-port @@ -44,6 +44,22 @@ hook_add() { cmd_not_implemented } +hook_edit() { + local port=${1} + assert isset port + shift + + port_settings_read "${port}" ${HOOK_SETTINGS} + + if ! hook_parse_cmdline $@; then + return ${EXIT_ERROR} + fi + + port_settings_write "${port}" ${HOOK_SETTINGS} + + exit ${EXIT_OK} +} + hook_info() { local port="${1}" assert isset port diff --git a/src/hooks/ports/dummy b/src/hooks/ports/dummy index aa313c01..7e6f5d24 100644 --- a/src/hooks/ports/dummy +++ b/src/hooks/ports/dummy @@ -27,7 +27,7 @@ hook_check_settings() { assert ismac ADDRESS } -hook_new() { +hook_parse_cmdline() { while [ $# -gt 0 ]; do case "${1}" in --address=*) @@ -40,10 +40,22 @@ hook_new() { shift done - # Generate a random MAC address if non was set. - if ! isset ADDRESS; then + if isset ADDRESS; then + if ! ismac ADDRESS; then + error "Invalid MAC address given: ${ADDRESS}" + return ${EXIT_ERROR} + fi + + # Generate a random but static MAC address if none was set + else ADDRESS=$(mac_generate) fi +} + +hook_new() { + if ! hook_parse_cmdline $@; then + return ${EXIT_ERROR} + fi local port=$(port_find_free ${DUMMY_PORT_PATTERN}) assert isset port @@ -55,30 +67,6 @@ hook_new() { exit ${EXIT_OK} } -hook_edit() { - local port=${1} - assert isset port - shift - - port_settings_read "${port}" ${HOOK_SETTINGS} - - while [ $# -gt 0 ]; do - case "${1}" in - --address=*) - ADDRESS=$(cli_get_val ${1}) - ;; - *) - warning "Unknown argument '${1}'" - ;; - esac - shift - done - - port_settings_write "${port}" ${HOOK_SETTINGS} - - exit ${EXIT_OK} -} - hook_create() { local port="${1}" assert isset port