• Richard Alpe's avatar
    tipc: add bearer disable/enable to new netlink api · 0655f6a8
    Richard Alpe authored
    A new netlink API for tipc that can disable or enable a tipc bearer.
    
    The new API is separated from the old API because of a bug in the
    user space client (tipc-config). The problem is that older versions
    of tipc-config has a very low receive limit and adding commands to
    the legacy genl_opts struct causes the ctrl_getfamily() response
    message to grow, subsequently breaking the tool.
    
    The new API utilizes netlink policies for input validation. Where the
    top-level netlink attributes are tipc-logical entities, like bearer.
    The top level entities then contain nested attributes. In this case
    a name, nested link properties and a domain.
    
    Netlink commands implemented in this patch:
    TIPC_NL_BEARER_ENABLE
    TIPC_NL_BEARER_DISABLE
    
    Netlink logical layout of bearer enable message:
    -> bearer
        -> name
        [ -> domain ]
        [
        -> properties
            -> priority
        ]
    
    Netlink logical layout of bearer disable message:
    -> bearer
        -> name
    Signed-off-by: default avatarRichard Alpe <richard.alpe@ericsson.com>
    Reviewed-by: default avatarErik Hugne <erik.hugne@ericsson.com>
    Reviewed-by: default avatarJon Maloy <jon.maloy@ericsson.com>
    Acked-by: default avatarYing Xue <ying.xue@windriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0655f6a8
bearer.c 17.9 KB