openwrt/package/ppp/patches/340-populate_default_gateway.patch

22 lines
639 B
Diff
Raw Normal View History

--- a/pppd/sys-linux.c
+++ b/pppd/sys-linux.c
@@ -1673,6 +1673,9 @@ int sifdefaultroute (int unit, u_int32_t
memset (&rt, 0, sizeof (rt));
SET_SA_FAMILY (rt.rt_dst, AF_INET);
+ SET_SA_FAMILY(rt.rt_gateway, AF_INET);
+ SIN_ADDR(rt.rt_gateway) = gateway;
+
rt.rt_dev = ifname;
if (kernel_version > KVERSION(2,1,0)) {
@@ -1680,7 +1683,7 @@ int sifdefaultroute (int unit, u_int32_t
SIN_ADDR(rt.rt_genmask) = 0L;
}
- rt.rt_flags = RTF_UP;
+ rt.rt_flags = RTF_UP | RTF_GATEWAY;
if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
if (!ok_error(errno))
error("default route ioctl(SIOCADDRT): %m");