}
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;
}
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;