Jiri / Ido: I am looking at adding user messages for spectrum failures related to RIF and VRF overflow coming from the inetaddr and inet6addr notifier paths. The key is that if the notifiers fail the address add needs to fail and an error reported to the user as to what happened.
Earlier this year 3ad7d2468f79f added in_validator_info and in6_validator_info as a way for the notifiers to fail adding an address. Adding support to spectrum for that notifier is complicated by the fact that the validator notifier and address notifiers will come in back to back for the NETDEV_UP case. Ignoring NETDEV_UP in mlxsw_sp_inetaddr_event seems ok for IPv6 but not clear for IPv4 since the NETDEV_UP case is emitted on an address delete that involves a promotion. Handling the back to back NETDEV_UP is complicated since functions invoked by __mlxsw_sp_inetaddr_event can take multiple references. Specifically, in mlxsw_sp_port_vlan_router_join(): fid = rif->ops->fid_get(rif); Can NETDEV_UP be ignored for the inetaddr notifier if it is handled by the validator notitifer? David