Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib, ripnd: Isolate aggreagate pointer to using protocol #2715

Closed
wants to merge 1 commit into from

Commits on Jul 26, 2018

  1. bgpd, lib, ripnd: Isolate aggreagate pointer to using protocol

    The `void *aggregate` pointer in ROUTE_NODE_FIELDS is only used by ripngd
    and the bgp rfapi code.  As such every single route_node in the system is
    paying the cost of keeping this pointer around and never using it.
    Follow the table.h design pattern in bgp_table.h and create a
    `struct ripng_node` and `struct rfapi_node` pointers that actually have
    this aggregate pointer and then provide rfapi and ripng specific
    struct route_node <-> struct rfapi/ripng_node translator functions.
    
    On a 64 bit system this should account for 8 bytes of data per route_node
    which is not insignificant considering a full bgp feed in both bgp and
    zebra, or evpn routes which make signficant usage of tables.
    
    Signed-off-by: Donald Sharp <[email protected]>
    donaldsharp committed Jul 26, 2018
    Configuration menu
    Copy the full SHA
    5c8f5bf View commit details
    Browse the repository at this point in the history