<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <br>
    <br>
    <div class="moz-cite-prefix">Baldur Norddahl wrote on 5/17/2019
      11:05 AM:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAPkb-7Apaqg6dqPs+MY6wGBXYvkjrf7vA22Y4n6xZVd0riZEzg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Fri, May 17, 2019 at 3:28
            PM Blake Hudson <<a href="mailto:blake@ispn.net"
              moz-do-not-send="true">blake@ispn.net</a>> wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex"> From my perspective
            one's ability to intelligently route IP traffic is <br>
            directly correlated to the data they have available (their
            routing <br>
            protocol and table)<br>
          </blockquote>
          <div><br>
          </div>
          <div>One point perhaps being missed by some is that routing
            decisions are not always best made in the very last moment
            when you have a packet and need to decide on the
            destination. The culling of routing table I wanted to do is
            on a full feed from my upstream providers. I am not taking a
            default, but I may add a default manually.</div>
          <div><br>
          </div>
          <div>Think about this way to save at least half the size of
            the FIB with two transit providers: Find out which provider
            has the most prefixes going their way. Make a default to
            them and a route-map that drops every route. For the other
            provider, keep only the routes where they have better
            routing. This way you only use FIB space for the smaller
            provider. Everything else goes by default through the larger
            provider.</div>
          <div><br>
          </div>
          <div>Now doing that in practice is hard because router vendors
            did generally not make route-map or similar constructs
            flexible enough for the needed logic.</div>
          <div><br>
          </div>
          <div>But we can do other things, some of which have already
            been proposed in this thread. Like before have a default to
            the "best" of your transit providers and using culling to
            drop routes. Are we not all doing something like that
            already, with route maps to give some routes higher priority
            instead of always going strict shortest AS-path? Only
            difference is that you can fully drop the routes from FIB if
            you install defaults to handle it instead.</div>
          <div><br>
          </div>
          <div>Or what if I know that one of my transit providers are
            really good with Asia? I just want traffic to Asia by
            default go to them. I can install my own covering routes
            from the APNIC address space and then save a ton of FIB
            space by dropping routes within that space. I can have
            exceptions if needed.</div>
          <div><br>
          </div>
          <div>The above does not give you poorer routing decisions and
            may give you better.</div>
          <div><br>
          </div>
          <div>Regards,</div>
          <div><br>
          </div>
          <div>Baldur</div>
          <div><br>
          </div>
          <div> </div>
        </div>
      </div>
    </blockquote>
    <br>
    Baldur, I believe most routing platforms already make use of clever
    shortcuts or techniques to reduce their FIB usage, but I don't think
    anyone has found a good, reliable method of reducing their RIB at
    zero cost. For example, what happens in your above configuration
    when your "better/default" transit provider is down due to
    maintenance or outage and your equipment continues to use its
    default route to direct traffic that direction? What happens if the
    transit provider that you normally only retain the best paths for
    becomes the best path for all destinations (for example if your
    connection to the better/default transit provider is down for
    maintenance or there is an upsteam peering change) and your router
    that normally only has a few thousand routes in RIB suddenly gets
    tasked with a 768k-1M route RIB? <br>
    <br>
    I would argue that one can generally safely add information to his
    or her router's RIB (such as adding a local preference, weight, or
    advertising with prepends to direct traffic toward a better
    performing, less utilized, or lower cost peer), but that removing
    information from a router's RIB always comes at some cost (and some
    may find this cost perfectly acceptable).<br>
    <br>
  </body>
</html>