You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
918 B

  1. --- a/zebra/zebra_nhg.c 2019-10-18 01:59:17.582282539 +0300
  2. +++ b/zebra/zebra_nhg.c 2019-10-18 02:00:17.501997253 +0300
  3. @@ -1456,20 +1456,9 @@
  4. while (rn) {
  5. route_unlock_node(rn);
  6. - /* Lookup should halt if we've matched against ourselves ('top',
  7. - * if specified) - i.e., we cannot have a nexthop NH1 is
  8. - * resolved by a route NH1. The exception is if the route is a
  9. - * host route.
  10. - */
  11. - if (top && rn == top)
  12. - if (((afi == AFI_IP) && (rn->p.prefixlen != 32))
  13. - || ((afi == AFI_IP6) && (rn->p.prefixlen != 128))) {
  14. - if (IS_ZEBRA_DEBUG_RIB_DETAILED)
  15. - zlog_debug(
  16. - "\t%s: Matched against ourself and prefix length is not max bit length",
  17. - __PRETTY_FUNCTION__);
  18. - return 0;
  19. - }
  20. + /* If lookup self prefix return immediately. */
  21. + if (rn == top)
  22. + return 0;
  23. /* Pick up selected route. */
  24. /* However, do not resolve over default route unless explicitly