Applied. Thanks! Cheers,
Tom On Tue, Apr 1, 2014 at 10:55 PM, Umut Tezduyar Lindskog <umut.tezdu...@axis.com> wrote: > --- > src/network/networkd-link.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c > index 973755a..4e0fe0a 100644 > --- a/src/network/networkd-link.c > +++ b/src/network/networkd-link.c > @@ -579,8 +579,11 @@ static int link_set_mtu(Link *link, uint32_t mtu) { > > static int dhcp_lease_lost(Link *link) { > _cleanup_address_free_ Address *address = NULL; > + _cleanup_route_free_ Route *route_gw = NULL; > + _cleanup_route_free_ Route *route = NULL; > struct in_addr addr; > struct in_addr netmask; > + struct in_addr gateway; > unsigned prefixlen; > int r; > > @@ -593,8 +596,27 @@ static int dhcp_lease_lost(Link *link) { > if (r >= 0) { > sd_dhcp_lease_get_address(link->dhcp_lease, &addr); > sd_dhcp_lease_get_netmask(link->dhcp_lease, &netmask); > + sd_dhcp_lease_get_router(link->dhcp_lease, &gateway); > prefixlen = net_netmask_to_prefixlen(&netmask); > > + r = route_new_dynamic(&route_gw); > + if (r >= 0) { > + route_gw->family = AF_INET; > + route_gw->dst_addr.in = gateway; > + route_gw->dst_prefixlen = 32; > + route_gw->scope = RT_SCOPE_LINK; > + > + route_drop(route_gw, link, &route_drop_handler); > + } > + > + r = route_new_dynamic(&route); > + if (r >= 0) { > + route->family = AF_INET; > + route->in_addr.in = gateway; > + > + route_drop(route, link, &route_drop_handler); > + } > + > address->family = AF_INET; > address->in_addr.in = addr; > address->prefixlen = prefixlen; > -- > 1.7.10.4 > > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel