diff options
author | Dinesh Dutt <ddutt@cumulusnetworks.com> | 2013-08-25 03:03:31 +0000 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2013-11-07 18:15:43 -0800 |
commit | 01879114f73adaf1cd4c9f5e7ae1550b72ff9ca9 (patch) | |
tree | 95f60a636ad4e2ebb0c55f31301a897fb6559b24 /ospf6d/ospf6_asbr.c | |
parent | e68a67672ccfabefadac36c66e88af997fb572b2 (diff) | |
download | quagga-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.c | 7 |
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 || |