Can non-recursive BGP route be used to determine next-hop for recursive BGP route?












6















In BGP recursive scenario, the recursive route is taking an unexpected next-hop. Here is the routing table:



S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

B 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS, 2d18h20m

B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 10.10.10.1), 1d1h10m


The next-hop of the recursive route should be the second route in the table which is another BGP route. However, it's taking the default route on top.



When adding a static route which is exactly the same as the second BGP route, next-hop is determined correctly:



S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

S 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS

B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 172.80.80.1), 1d1h10m


Is this an expected behavior?










share|improve this question









New contributor




onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    6















    In BGP recursive scenario, the recursive route is taking an unexpected next-hop. Here is the routing table:



    S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

    B 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS, 2d18h20m

    B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 10.10.10.1), 1d1h10m


    The next-hop of the recursive route should be the second route in the table which is another BGP route. However, it's taking the default route on top.



    When adding a static route which is exactly the same as the second BGP route, next-hop is determined correctly:



    S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

    S 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS

    B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 172.80.80.1), 1d1h10m


    Is this an expected behavior?










    share|improve this question









    New contributor




    onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      6












      6








      6








      In BGP recursive scenario, the recursive route is taking an unexpected next-hop. Here is the routing table:



      S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

      B 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS, 2d18h20m

      B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 10.10.10.1), 1d1h10m


      The next-hop of the recursive route should be the second route in the table which is another BGP route. However, it's taking the default route on top.



      When adding a static route which is exactly the same as the second BGP route, next-hop is determined correctly:



      S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

      S 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS

      B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 172.80.80.1), 1d1h10m


      Is this an expected behavior?










      share|improve this question









      New contributor




      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      In BGP recursive scenario, the recursive route is taking an unexpected next-hop. Here is the routing table:



      S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

      B 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS, 2d18h20m

      B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 10.10.10.1), 1d1h10m


      The next-hop of the recursive route should be the second route in the table which is another BGP route. However, it's taking the default route on top.



      When adding a static route which is exactly the same as the second BGP route, next-hop is determined correctly:



      S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

      S 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS

      B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 172.80.80.1), 1d1h10m


      Is this an expected behavior?







      routing router bgp next-hop






      share|improve this question









      New contributor




      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited yesterday







      onlyforthis













      New contributor




      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked yesterday









      onlyforthisonlyforthis

      1313




      1313




      New contributor




      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      onlyforthis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          5














          IOS will not use another BGP route for recursive lookup for a BGP route. This is somewhat hinted at in the "Why Routers Ignore Paths" section of the "BGP Best Path Selection Algorithm" documentation:




          [Routers ignore] paths for which the NEXT_HOP is inaccessible.



          Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated with the path.




          So yes, this is expected behavior on IOS. Other routing platforms may behave differently. There is also an article describing further how the lookup works.






          share|improve this answer
























          • Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

            – onlyforthis
            yesterday











          • @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

            – grawity
            yesterday











          • @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

            – Sebastian
            yesterday













          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "496"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          onlyforthis is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f57835%2fcan-non-recursive-bgp-route-be-used-to-determine-next-hop-for-recursive-bgp-rout%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          IOS will not use another BGP route for recursive lookup for a BGP route. This is somewhat hinted at in the "Why Routers Ignore Paths" section of the "BGP Best Path Selection Algorithm" documentation:




          [Routers ignore] paths for which the NEXT_HOP is inaccessible.



          Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated with the path.




          So yes, this is expected behavior on IOS. Other routing platforms may behave differently. There is also an article describing further how the lookup works.






          share|improve this answer
























          • Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

            – onlyforthis
            yesterday











          • @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

            – grawity
            yesterday











          • @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

            – Sebastian
            yesterday


















          5














          IOS will not use another BGP route for recursive lookup for a BGP route. This is somewhat hinted at in the "Why Routers Ignore Paths" section of the "BGP Best Path Selection Algorithm" documentation:




          [Routers ignore] paths for which the NEXT_HOP is inaccessible.



          Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated with the path.




          So yes, this is expected behavior on IOS. Other routing platforms may behave differently. There is also an article describing further how the lookup works.






          share|improve this answer
























          • Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

            – onlyforthis
            yesterday











          • @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

            – grawity
            yesterday











          • @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

            – Sebastian
            yesterday
















          5












          5








          5







          IOS will not use another BGP route for recursive lookup for a BGP route. This is somewhat hinted at in the "Why Routers Ignore Paths" section of the "BGP Best Path Selection Algorithm" documentation:




          [Routers ignore] paths for which the NEXT_HOP is inaccessible.



          Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated with the path.




          So yes, this is expected behavior on IOS. Other routing platforms may behave differently. There is also an article describing further how the lookup works.






          share|improve this answer













          IOS will not use another BGP route for recursive lookup for a BGP route. This is somewhat hinted at in the "Why Routers Ignore Paths" section of the "BGP Best Path Selection Algorithm" documentation:




          [Routers ignore] paths for which the NEXT_HOP is inaccessible.



          Be sure that there is an Interior Gateway Protocol (IGP) route to the NEXT_HOP that is associated with the path.




          So yes, this is expected behavior on IOS. Other routing platforms may behave differently. There is also an article describing further how the lookup works.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered yesterday









          SebastianSebastian

          5,91822251




          5,91822251













          • Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

            – onlyforthis
            yesterday











          • @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

            – grawity
            yesterday











          • @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

            – Sebastian
            yesterday





















          • Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

            – onlyforthis
            yesterday











          • @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

            – grawity
            yesterday











          • @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

            – Sebastian
            yesterday



















          Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

          – onlyforthis
          yesterday





          Thanks. This was useful. I wonder if this is a standard BGP behavior or vendor specific.

          – onlyforthis
          yesterday













          @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

          – grawity
          yesterday





          @onlyforthis: I suspect it's mostly standard. For example, RouterOS requires the nexthop scope to be lower than the route's own.

          – grawity
          yesterday













          @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

          – Sebastian
          yesterday







          @onlyforthis It depends on the vendor, Juniper can use BGP routes for recursive lookup. If this answers you question please accept it as answer.

          – Sebastian
          yesterday












          onlyforthis is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          onlyforthis is a new contributor. Be nice, and check out our Code of Conduct.













          onlyforthis is a new contributor. Be nice, and check out our Code of Conduct.












          onlyforthis is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Network Engineering Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fnetworkengineering.stackexchange.com%2fquestions%2f57835%2fcan-non-recursive-bgp-route-be-used-to-determine-next-hop-for-recursive-bgp-rout%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Category:香港粉麵

          List *all* the tuples!

          Channel [V]