]> git.ipfire.org Git - network.git/commitdiff
ports: ethernet: Allow changing MAC address
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 20 Sep 2018 21:33:07 +0000 (22:33 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 20 Sep 2018 21:33:07 +0000 (22:33 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/hooks/ports/ethernet

index f33777a7d1c098ac6d4ea9b04e452cebd312f3d3..6f4ac68afc8f7b977e6bf354422568ca2647e0b9 100644 (file)
@@ -34,6 +34,26 @@ hook_check_settings() {
        fi
 }
 
+hook_parse_cmdline() {
+       while [ $# -gt 0 ]; do
+               case "${1}" in
+                       --address=*)
+                               ADDRESS="$(cli_get_val "${1}")"
+
+                               if ! mac_is_valid "${ADDRESS}"; then
+                                       error "Invalid MAC address: ${ADDRESS}"
+                                       return ${EXIT_ERROR}
+                               fi
+                               ;;
+                       *)
+                               error "Unknown argument: ${1}"
+                               return ${EXIT_ERROR}
+                               ;;
+               esac
+               shift
+       done
+}
+
 hook_new() {
        local port=${1}
        assert isset port