From 3c570d03d747f6835bfecbf8a43e0b7092015fad Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Tue, 25 Nov 2014 23:56:39 +0100 Subject: [PATCH] Fix setting blackhole-routes to kernel Signed-off-by: Steven Barth --- system-linux.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/system-linux.c b/system-linux.c index 83827d5..8518f0f 100644 --- a/system-linux.c +++ b/system-linux.c @@ -1412,11 +1412,16 @@ static int system_rt(struct device *dev, struct device_route *route, int cmd) rtm.rtm_table = RT_TABLE_LOCAL; } - if (rtm.rtm_type == RTN_LOCAL || rtm.rtm_type == RTN_NAT) + if (rtm.rtm_type == RTN_LOCAL || rtm.rtm_type == RTN_NAT) { rtm.rtm_scope = RT_SCOPE_HOST; - else if (rtm.rtm_type == RTN_BROADCAST || rtm.rtm_type == RTN_MULTICAST || - rtm.rtm_type == RTN_ANYCAST) + } else if (rtm.rtm_type == RTN_BROADCAST || rtm.rtm_type == RTN_MULTICAST || + rtm.rtm_type == RTN_ANYCAST) { rtm.rtm_scope = RT_SCOPE_LINK; + } else if (rtm.rtm_type == RTN_BLACKHOLE || rtm.rtm_type == RTN_UNREACHABLE || + rtm.rtm_type == RTN_PROHIBIT || rtm.rtm_type == RTN_FAILED_POLICY) { + rtm.rtm_scope = RT_SCOPE_UNIVERSE; + dev = NULL; + } } msg = nlmsg_alloc_simple(cmd, flags); -- 2.25.1