• Robert Shearman's avatar
    net: AF-specific RTM_GETSTATS attributes · aefb4d4a
    Robert Shearman authored
    Add the functionality for including address-family-specific per-link
    stats in RTM_GETSTATS messages. This is done through adding a new
    IFLA_STATS_AF_SPEC attribute under which address family attributes are
    nested and then the AF-specific attributes can be further nested. This
    follows the model of IFLA_AF_SPEC on RTM_*LINK messages and it has the
    advantage of presenting an easily extended hierarchy. The rtnl_af_ops
    structure is extended to provide AFs with the opportunity to fill and
    provide the size of their stats attributes.
    
    One alternative would have been to provide AFs with the ability to add
    attributes directly into the RTM_GETSTATS message without a nested
    hierarchy. I discounted this approach as it increases the rate at
    which the 32 attribute number space is used up and it makes
    implementation a little more tricky for stats dump resuming (at the
    moment the order in which attributes are added to the message has to
    match the numeric order of the attributes).
    
    Another alternative would have been to register per-AF RTM_GETSTATS
    handlers. I discounted this approach as I perceived a common use-case
    to be getting all the stats for an interface and this approach would
    necessitate multiple requests/dumps to retrieve them all.
    Signed-off-by: default avatarRobert Shearman <rshearma@brocade.com>
    Acked-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    aefb4d4a
rtnetlink.h 5.91 KB