aboutsummaryrefslogtreecommitdiffstats
path: root/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c')
-rw-r--r--src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
index e7e6da3d2..21bbf1ac2 100644
--- a/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
+++ b/src/libhydra/plugins/kernel_pfroute/kernel_pfroute_net.c
@@ -1153,6 +1153,12 @@ static host_t *get_route(private_kernel_pfroute_net_t *this, bool nexthop,
host = host_create_from_sockaddr(addr);
break;
}
+ if (nexthop && type == RTAX_DST &&
+ this->reply->rtm_flags & RTF_HOST)
+ { /* probably a cloned direct route */
+ host = host_create_from_sockaddr(addr);
+ break;
+ }
if (!nexthop && type == RTAX_IFA)
{
host = host_create_from_sockaddr(addr);