From: Steven Barth Date: Tue, 25 Nov 2014 22:56:39 +0000 (+0100) Subject: Fix setting blackhole-routes to kernel X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=3c570d03d747f6835bfecbf8a43e0b7092015fad Fix setting blackhole-routes to kernel Signed-off-by: Steven Barth --- 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);