• Ido Schimmel's avatar
    bridge: mcast: Allow user space to specify MDB entry routing protocol · 1d7b66a7
    Ido Schimmel authored
    
    
    Add the 'MDBE_ATTR_RTPORT' attribute to allow user space to specify the
    routing protocol of the MDB port group entry. Enforce a minimum value of
    'RTPROT_STATIC' to prevent user space from using protocol values that
    should only be set by the kernel (e.g., 'RTPROT_KERNEL'). Maintain
    backward compatibility by defaulting to 'RTPROT_STATIC'.
    
    The protocol is already visible to user space in RTM_NEWMDB responses
    and notifications via the 'MDBA_MDB_EATTR_RTPROT' attribute.
    
    The routing protocol allows a routing daemon to distinguish between
    entries configured by it and those configured by the administrator. Once
    MDB flush is supported, the protocol can be used as a criterion
    according to which the flush is performed.
    
    Examples:
    
     # bridge mdb add dev br0 port dummy10 grp 239.1.1.1 permanent proto kernel
     Error: integer out of range.
    
     # bridge mdb add dev br0 port dummy10 grp 239.1.1.1 permanent proto static
    
     # bridge mdb add dev br0 port dummy10 grp 239.1.1.1 src 192.0.2.1 permanent proto zebra
    
     # bridge mdb add dev br0 port dummy10 grp 239.1.1.2 permanent source_list 198.51.100.1,198.51.100.2 filter_mode include proto 250
    
     # bridge -d mdb show
     dev br0 port dummy10 grp 239.1.1.2 src 198.51.100.2 permanent filter_mode include proto 250
     dev br0 port dummy10 grp 239.1.1.2 src 198.51.100.1 permanent filter_mode include proto 250
     dev br0 port dummy10 grp 239.1.1.2 permanent filter_mode include source_list 198.51.100.2/0.00,198.51.100.1/0.00 proto 250
     dev br0 port dummy10 grp 239.1.1.1 src 192.0.2.1 permanent filter_mode include proto zebra
     dev br0 port dummy10 grp 239.1.1.1 permanent filter_mode exclude proto static
    Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
    Acked-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    1d7b66a7
br_mdb.c 35.8 KB