fix ipv6 routes
[project/netifd.git] / interface-ip.c
index 612fd5f..170b03b 100644 (file)
@@ -64,6 +64,7 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
        if (!route)
                return;
 
+       route->flags = v6 ? DEVADDR_INET6 : DEVADDR_INET4;
        route->mask = v6 ? 128 : 32;
        if ((cur = tb[ROUTE_MASK]) != NULL) {
                route->mask = parse_netmask_string(blobmsg_data(cur), v6);
@@ -83,14 +84,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
                        DPRINTF("Failed to parse route gateway: %s\n", (char *) blobmsg_data(cur));
                        goto error;
                }
-       } else {
-               route->flags |= DEVADDR_DEVICE;
        }
 
        if ((cur = tb[ROUTE_METRIC]) != NULL)
                route->metric = blobmsg_get_u32(cur);
-       else
-               route->metric = -1;
 
        if ((cur = tb[ROUTE_MTU]) != NULL)
                route->mtu = blobmsg_get_u32(cur);