On 08/12/2022 17:28, Ido Schimmel wrote: > 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: Ido Schimmel <idosch@xxxxxxxxxx> > --- > > Notes: > v1: > * Use an array instead of list to store source entries. > * Drop br_mdb_config_attrs_fini(). > > include/uapi/linux/if_bridge.h | 20 +++++ > net/bridge/br_mdb.c | 130 +++++++++++++++++++++++++++++++++ > 2 files changed, 150 insertions(+) > Acked-by: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx>