<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>They are obviously not running full tables on their 3640. I'd
      imagine a raspberry pi would have more BGP capability and
      throughput than a 3640, though I don't recommend doing that even
      as a joke. But an ERR would be fine if they're expecting nothing
      more than a slightly faster 3640 with maybe some extra features.<br>
    </p>
    <div class="moz-cite-prefix">On 9/3/19 3:54 PM, Florian Brandstetter
      via NANOG wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:69414933-770B-464C-B9DA-A8F7A61566A1@getmailspring.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Ubiquiti's EdgeRouter Lite is equipped with 512 MiB of DDR2
        memory, of which after startup, roughly 491 MiB can be utilized.
        119 MiB of the remaining memory are allocated by the base of the
        router already, which leaves you with a remainder of 372 MiB
        memory. Memory usage depends on the architecture for objects,
        for example there's a large difference between x86 and x86_64,
        since on x86_64, the compiler will generally use 64bit
        boundaries to be faster; the ERL runs on a MIPS64 architecture,
        which will have a similar trade-off. To get to the point, let's
        have a quick look at the components using memory: bgpd, zebra,
        kernel. Roughly 180 MiB of memory are required to keep a single
        full table in bgpd alone, leaving you with 192 MiB of free
        memory. Accounting further, zebra will eat at least another 100
        MiB for exporting the BGP RIB to the Kernel (FIB), leaving you
        with 100 MiB. At this point, you have a mere 92 MiB left for
        fitting the routes into the kernel, and to leave room for RX
        buffers on sockets.</div>
      <br>
      <div>I don't see full tables happening from a memory perspective
        on the EdgeRouter Lite, you would want to look at something with
        at least 2 GiB of memory to keep the whole system running
        smoothly, and when using Quagga and Zebra, that's still aimed
        rather low. FRRouting at this point uses 2 GiB for 4 full tables
        on an x86 system, without any magic attached.</div>
      <br>
      <div>Having kept it unmentioned, the EdgeRouter Lite has a
        dual-core with 500 MHz, and surely your BGP updates processing
        isn't offloaded, hence you will pretty quickly kill the whole
        router when you flood it with a full table, unless you set very
        low queue sizes, which isn't really reliable though since you
        generally want BGP to converge fast - not after a period of 15
        minutes with the CPU sitting on 100%.</div>
      <br>
      <div>You might want to install something like OpenWRT (which I
        don't know the possibility of on an ERL), and run BIRD if you're
        tied to a low memory footprint, however, in a base
        vendor-generic setup of the ERL, it's beyond my understanding
        why one would even suggest running a full table on it.</div>
      <img class="mailspring-open" alt="Sent from Mailspring"
        style="border:0; width:0; height:0;"
src="https://link.getmailspring.com/open/69414933-770B-464C-B9DA-A8F7A61566A1@getmailspring.com?me=06695157&recipient=bmFub2dAbmFub2cub3Jn"
        moz-do-not-send="true" width="0" height="0">
    </blockquote>
  </body>
</html>