From cd6d94b59bcc67567c4d8b09969da4fab95a04bf Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 5 Aug 2017 19:38:12 +0000 Subject: [PATCH] dummy: Cleanup hook No functional changes Signed-off-by: Michael Tremer --- src/header-port | 16 ++++++++++++++++ src/hooks/ports/dummy | 42 +++++++++++++++--------------------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/src/header-port b/src/header-port index 56551d1..50e26d2 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 aa313c0..7e6f5d2 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 -- 2.47.3