summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_asbr.c
diff options
context:
space:
mode:
authorDinesh Dutt <ddutt@cumulusnetworks.com>2013-08-25 03:03:31 +0000
committerDavid Lamparter <equinox@opensourcerouting.org>2013-11-07 18:15:43 -0800
commit01879114f73adaf1cd4c9f5e7ae1550b72ff9ca9 (patch)
tree95f60a636ad4e2ebb0c55f31301a897fb6559b24 /ospf6d/ospf6_asbr.c
parente68a67672ccfabefadac36c66e88af997fb572b2 (diff)
downloadquagga-01879114f73adaf1cd4c9f5e7ae1550b72ff9ca9.tar.bz2
quagga-01879114f73adaf1cd4c9f5e7ae1550b72ff9ca9.tar.xz
ospf6d: handle Prefix and Router Options bits correctly
Ensure that prefixes with the NU/LA bit set do not get added to the routing table. Ensure that routers with the V6/R bit set do not get added as transit routes. Signed-off-by: Dinesh Dutt <ddutt at cumulusnetworks.com> [DL: adjust to rebase] Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'ospf6d/ospf6_asbr.c')
-rw-r--r--ospf6d/ospf6_asbr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c
index 27726c67..60df6e6c 100644
--- a/ospf6d/ospf6_asbr.c
+++ b/ospf6d/ospf6_asbr.c
@@ -181,6 +181,13 @@ ospf6_asbr_lsa_add (struct ospf6_lsa *lsa)
return;
}
+ if (CHECK_FLAG(external->prefix.prefix_options, OSPF6_PREFIX_OPTION_NU))
+ {
+ if (IS_OSPF6_DEBUG_EXAMIN (AS_EXTERNAL))
+ zlog_debug ("Ignore LSA with NU bit set Metric");
+ return;
+ }
+
ospf6_linkstate_prefix (lsa->header->adv_router, htonl (0), &asbr_id);
asbr_entry = ospf6_route_lookup (&asbr_id, ospf6->brouter_table);
if (asbr_entry == NULL ||