]> git.ozlabs.org Git - ppp.git/commitdiff
Specify the device name on the default route deletion
authorPaul Mackerras <paulus@samba.org>
Sun, 15 Nov 2009 06:08:20 +0000 (17:08 +1100)
committerPaul Mackerras <paulus@samba.org>
Sun, 15 Nov 2009 06:08:20 +0000 (17:08 +1100)
Some users have reported that pppd will delete a default route
through another device, for example if they bring up a ppp connection
with default route, then bring up an ethernet interface and set a
default route through that, then take down the ppp connection.

This fixes it, for Linux at least, by specifying the device name on
the default route deletion ioctl, which means that the kernel will
only delete default routes through that device.

Signed-off-by: Paul Mackerras <paulus@samba.org>
pppd/sys-linux.c

index 67b50cb663fa827051dc4480116f72e259dfd516..b675c9765718c26ef9d547ac9d1f5f4cb9dca0ae 100644 (file)
@@ -1658,6 +1658,8 @@ int cifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
     SET_SA_FAMILY (rt.rt_dst,     AF_INET);
     SET_SA_FAMILY (rt.rt_gateway, AF_INET);
 
+    rt.rt_dev = ifname;
+
     if (kernel_version > KVERSION(2,1,0)) {
        SET_SA_FAMILY (rt.rt_genmask, AF_INET);
        SIN_ADDR(rt.rt_genmask) = 0L;