Commit bff74c7a authored by Ondřej Zajíček's avatar Ondřej Zajíček
Browse files

Allows importing 'onlink' routes.

parent 4cdd0784
......@@ -682,6 +682,21 @@ nl_parse_route(struct nlmsghdr *h, int scan)
ra.dest = RTD_ROUTER;
memcpy(&ra.gw, RTA_DATA(a[RTA_GATEWAY]), sizeof(ra.gw));
ipa_ntoh(ra.gw);
if (i->rtm_flags & RTNH_F_ONLINK)
{
/* route with 'onlink' attribute */
ra.iface = if_find_by_index(oif);
if (ra.iface == NULL)
{
log(L_WARN "Kernel told us to use unknown interface %u for %I/%d",
oif, net->n.prefix, net->n.pxlen);
return;
}
}
else
{
/* standard route */
ng = neigh_find(&p->p, &ra.gw, 0);
if (ng && ng->scope)
ra.iface = ng->iface;
......@@ -691,6 +706,7 @@ nl_parse_route(struct nlmsghdr *h, int scan)
return;
}
}
}
else
{
ra.dest = RTD_DEVICE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment