diff --git a/pkg/dhcpd/dhcpd.go b/pkg/dhcpd/dhcpd.go index 8d2392e..c26ee68 100644 --- a/pkg/dhcpd/dhcpd.go +++ b/pkg/dhcpd/dhcpd.go @@ -9,6 +9,7 @@ import ( "github.com/vinted/rest-dhcpd/pkg/rest" "log" "net" + "reflect" "strconv" "time" ) @@ -55,7 +56,13 @@ func BuildOptions(options interface{}) dhcp.Options { var val []byte id, _ := strconv.Atoi(key) if data_type[id] == "IP" { - val = []byte(net.ParseIP(fmt.Sprint(value)).To4()) + if reflect.ValueOf(value).Kind() == reflect.Slice { + for _, ip := range value.([]interface{}) { + val = append(val, []byte(net.ParseIP(fmt.Sprint(ip)).To4())...) + } + } else { + val = []byte(net.ParseIP(fmt.Sprint(value)).To4()) + } } else { val = []byte(fmt.Sprint(value)) } diff --git a/pkg/rest/rest.go b/pkg/rest/rest.go index f34b0c0..6fe382f 100644 --- a/pkg/rest/rest.go +++ b/pkg/rest/rest.go @@ -7,7 +7,6 @@ import ( "github.com/vinted/rest-dhcpd/pkg/configdb" "log" "net/http" - //"sync" ) func index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { diff --git a/rest-dhcpd-config.json b/rest-dhcpd-config.json index 061cd25..ffb8728 100644 --- a/rest-dhcpd-config.json +++ b/rest-dhcpd-config.json @@ -10,6 +10,6 @@ "Options": { "1": "255.255.255.0", "3": "192.168.100.1", - "6": "10.32.0.3" + "6": ["1.1.1.1", "8.8.8.8"] } }