aboutsummaryrefslogtreecommitdiffstats
path: root/package/ppp/patches/340-populate_default_gateway.patch
blob: ae495ee6415ba6694784a74e3334bd7fdfc69420 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--- a/pppd/sys-linux.c
+++ b/pppd/sys-linux.c
@@ -1697,6 +1697,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)) {
@@ -1704,7 +1707,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");