summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorDaniel Walton <dwalton@cumulusnetworks.com>2015-10-20 21:51:31 +0000
committerDaniel Walton <dwalton@cumulusnetworks.com>2015-10-20 21:51:31 +0000
commitdb07cdc49847e2f99d27d0e6ba0f199fba0ddf44 (patch)
tree693b82b63a1d3593ba7ec329362bdc11ac51bd83 /zebra/zebra_rib.c
parent12179ba3be86f23f37571554e2cebc13a6612717 (diff)
parent141973cbd8807908e742029aa297bf9950a2bcf8 (diff)
Merge branch 'cmaster' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index 261aed156f..8e873211a0 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -1268,7 +1268,9 @@ nexthop_active_check (struct route_node *rn, struct rib *rib,
UNSET_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE);
break;
case NEXTHOP_TYPE_IPV6_IFINDEX:
- family = AFI_IP6;
+ /* RFC 5549, v4 prefix with v6 NH */
+ if (rn->p.family != AF_INET)
+ family = AFI_IP6;
if (IN6_IS_ADDR_LINKLOCAL (&nexthop->gate.ipv6))
{
ifp = if_lookup_by_index (nexthop->ifindex);