move route interface assignment to the vlist update
[project/netifd.git] / proto.c
diff --git a/proto.c b/proto.c
index 56870b1..e77b54f 100644 (file)
--- a/proto.c
+++ b/proto.c
@@ -142,7 +142,7 @@ parse_addr(struct interface *iface, const char *str, bool v6, int mask,
        if (ext)
                addr->flags |= DEVADDR_EXTERNAL;
 
-       vlist_add(&iface->proto_ip.addr, &addr->node, &addr->mask);
+       vlist_add(&iface->proto_ip.addr, &addr->node, &addr->flags);
        return true;
 }
 
@@ -183,8 +183,8 @@ parse_gateway_option(struct interface *iface, struct blob_attr *attr, bool v6)
        }
 
        route->mask = 0;
-       route->flags = DEVADDR_DEVICE | (v6 ? DEVADDR_INET6 : DEVADDR_INET4);
-       vlist_add(&iface->proto_ip.route, &route->node, &route->mask);
+       route->flags = (v6 ? DEVADDR_INET6 : DEVADDR_INET4);
+       vlist_add(&iface->proto_ip.route, &route->node, &route->flags);
 
        return true;
 }