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_intra.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_intra.c')
-rw-r--r-- | ospf6d/ospf6_intra.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ospf6d/ospf6_intra.c b/ospf6d/ospf6_intra.c index 9c84e657..e86e46bf 100644 --- a/ospf6d/ospf6_intra.c +++ b/ospf6d/ospf6_intra.c @@ -1562,6 +1562,10 @@ ospf6_intra_brouter_calculation (struct ospf6_area *oa) ! CHECK_FLAG (brouter->path.router_bits, OSPF6_ROUTER_BIT_B)) continue; + if (! OSPF6_OPT_ISSET (brouter->path.options, OSPF6_OPT_V6) || + ! OSPF6_OPT_ISSET (brouter->path.options, OSPF6_OPT_R)) + continue; + copy = ospf6_route_copy (brouter); copy->type = OSPF6_DEST_TYPE_ROUTER; copy->path.area_id = oa->area_id; |