• Ido Schimmel's avatar
    bridge: mcast: Allow user space to add (*, G) with a source list and filter mode · 6afaae6d
    Ido Schimmel authored
    
    
    Add new netlink attributes to the RTM_NEWMDB request that allow user
    space to add (*, G) with a source list and filter mode.
    
    The RTM_NEWMDB message can already dump such entries (created by the
    kernel) so there is no need to add dump support. However, the message
    contains a different set of attributes depending if it is a request or a
    response. The naming and structure of the new attributes try to follow
    the existing ones used in the response.
    
    Request:
    
    [ struct nlmsghdr ]
    [ struct br_port_msg ]
    [ MDBA_SET_ENTRY ]
    	struct br_mdb_entry
    [ MDBA_SET_ENTRY_ATTRS ]
    	[ MDBE_ATTR_SOURCE ]
    		struct in_addr / struct in6_addr
    	[ MDBE_ATTR_SRC_LIST ]		// new
    		[ MDBE_SRC_LIST_ENTRY ]
    			[ MDBE_SRCATTR_ADDRESS ]
    				struct in_addr / struct in6_addr
    		[ ...]
    	[ MDBE_ATTR_GROUP_MODE ]	// new
    		u8
    
    Response:
    
    [ struct nlmsghdr ]
    [ struct br_port_msg ]
    [ MDBA_MDB ]
    	[ MDBA_MDB_ENTRY ]
    		[ MDBA_MDB_ENTRY_INFO ]
    			struct br_mdb_entry
    		[ MDBA_MDB_EATTR_TIMER ]
    			u32
    		[ MDBA_MDB_EATTR_SOURCE ]
    			struct in_addr / struct in6_addr
    		[ MDBA_MDB_EATTR_RTPROT ]
    			u8
    		[ MDBA_MDB_EATTR_SRC_LIST ]
    			[ MDBA_MDB_SRCLIST_ENTRY ]
    				[ MDBA_MDB_SRCATTR_ADDRESS ]
    					struct in_addr / struct in6_addr
    				[ MDBA_MDB_SRCATTR_TIMER ]
    					u8
    			[...]
    		[ MDBA_MDB_EATTR_GROUP_MODE ]
    			u8
    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>
    6afaae6d
br_mdb.c 35.4 KB