summaryrefslogtreecommitdiffhomepage
path: root/system-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'system-linux.c')
-rw-r--r--system-linux.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/system-linux.c b/system-linux.c
index 9d2e92f..4401f78 100644
--- a/system-linux.c
+++ b/system-linux.c
@@ -965,7 +965,8 @@ static int system_rt(struct device *dev, struct device_route *route, int cmd)
unsigned char scope = (cmd == RTM_DELROUTE) ? RT_SCOPE_NOWHERE :
(have_gw) ? RT_SCOPE_UNIVERSE : RT_SCOPE_LINK;
- unsigned int table = (route->flags & DEVROUTE_TABLE) ? route->table : RT_TABLE_MAIN;
+ unsigned int table = (route->flags & (DEVROUTE_TABLE | DEVROUTE_SRCTABLE))
+ ? route->table : RT_TABLE_MAIN;
struct rtmsg rtm = {
.rtm_family = (alen == 4) ? AF_INET : AF_INET6,