[BUG] BMP memory leak

Macek, Dawid dmacek at akamai.com
Wed Apr 14 12:56:14 CEST 2021


Hello,

We’ve built Bird from origin/bmp branch and found out that BMP most likely introduces memory leak.

In the experiment, the device has 4 BGP peers (see attached bird.conf).
The device is flooded with massive number of routes from each peer.
Memory-usage snapshots are taken: before flooding with routes, after flooding with routes,
after dropping BGP sessions and waiting for routes to be removed for Linux.
The experiment was performed twice: with and without BMP configured.

Case 1: With BMP configured:
  Before flooding:

   BIRD memory usage

   Routing tables:     20 kB

   Route attributes: 6224  B

   Protocols:          33 kB

   Total:             123 kB

After flooding (about 1150000 routes in Linux):

  BIRD memory usage

   Routing tables:    412 MB

   Route attributes:   11 kB

   Protocols:        1473 MB

   Total:            1885 MB

After dropping BGP sessions and waiting for routes to be removed from kernel:

   BIRD memory usage

   Routing tables:    284 kB

   Route attributes:   10 kB

   Protocols:        1018 MB

   Total:            1019 MB



Case 2: Same config, but without protocol bmp {…}:
  Before flooding:

    BIRD memory usage

    Routing tables:     20 kB

    Route attributes: 6224  B

    Protocols:          26 kB

    Total:             112 kB

  After flooding (about 1130000 routes in Linux):

    BIRD memory usage

    Routing tables:    381 MB

    Route attributes:   11 kB

    Protocols:         163 MB

    Total:             544 MB

  After dropping BGP sessions and waiting for routes to be removed from kernel:

    BIRD memory usage

    Routing tables:    284 kB

    Route attributes:   10 kB

    Protocols:         795 kB

    Total:            1153 kB



We would like to ask about code examination and pointing us towards probable cause of the issue,

because we are unable to find it ourselves.



Thanks in advance and regards,

Dawid Macek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20210414/27708994/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bird.conf
Type: application/octet-stream
Size: 1138 bytes
Desc: bird.conf
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20210414/27708994/attachment.obj>


More information about the Bird-users mailing list