X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface-ip.c;h=fa84fc76ed0a63f13dabb09f8e53fcb20b9932d2;hp=d8d8606799e969a54b19db3cb48ef5844d8ed877;hb=55c7d8f55b6bdb264a52410467a7e8cff3bec3a9;hpb=88ae5a835d1c3184410f3023fc637d02bd58611e diff --git a/interface-ip.c b/interface-ip.c index d8d8606..fa84fc7 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -220,7 +220,7 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6) } if ((cur = tb[ROUTE_TARGET]) != NULL) { - if (!inet_pton(af, blobmsg_data(cur), &route->addr)) { + if (!parse_ip_and_netmask(af, blobmsg_data(cur), &route->addr, &route->mask)) { DPRINTF("Failed to parse route target: %s\n", (char *) blobmsg_data(cur)); goto error; } @@ -238,8 +238,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6) route->flags |= DEVROUTE_METRIC; } - if ((cur = tb[ROUTE_MTU]) != NULL) + if ((cur = tb[ROUTE_MTU]) != NULL) { route->mtu = blobmsg_get_u32(cur); + route->flags |= DEVROUTE_MTU; + } vlist_add(&ip->route, &route->node, &route->flags); return;