]> git.ipfire.org Git - people/stevee/network.git/commitdiff
vlan: Validate and always set MAC address
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Jun 2019 10:00:02 +0000 (12:00 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 3 Jun 2019 10:00:02 +0000 (12:00 +0200)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/hooks/ports/vlan

index 69f5144cbcbdf5c33fb862d4ac3239af398fbfb3..0147e54e914c3456f52cf14f73a35038731298b3 100644 (file)
@@ -66,6 +66,12 @@ hook_parse_cmdline() {
                                ;;
                        --address=*)
                                ADDRESS=$(cli_get_val "${1}")
+
+                               # Validate address
+                               if ! mac_is_valid "${ADDRESS}"; then
+                                       error "Invalid MAC address given: ${ADDRESS}"
+                                       return ${EXIT_CONF_ERROR}
+                               fi
                                ;;
                        --tag=*)
                                TAG=$(cli_get_val "${1}")
@@ -73,6 +79,11 @@ hook_parse_cmdline() {
                esac
                shift
        done
+
+       # Generate a random MAC address if none given
+       if ! isset ADDRESS; then
+               ADDRESS="$(mac_generate)"
+       fi
 }
 
 hook_create() {