I was trying to understand one behavior when deploying hardware VxLAN gateways with VMWare's NSX as controller. I understand that the hardware switch will push the locally learned macs(Ucast_macs_local table of ovsdb-server's DB) to the NSX controller via OVSDB.
Suppose the switch has rebooted and the VTEP DB is not persistent across reload, then how would the switch can convey the controller that to withdraw the macs it has pushed to the controller??
Details of my question with an example:
- Say HW-VTEP1 is connected to NSX controller. OVSDB is the protocol used between them.
- Now HW-VTEP1 learns mac1 and adds it in Ucast_macs_local table of ovsdb-server's DB(kept within the switch). I guess NSX is monitoring this table and hence NSX gets notification about mac1.
- Now HW-VTEP1 reloads and say the ovsdb-server's DB is not persistent. This means the Ucast_macs_local table in ovsdb would become empty. So the switch won't be able to convey that "delete mac1" to NSX. As a result, NSX would be having this mac1 entry in its mac-table, which is stale.
Here it says that the ovsdb-server's DB could be made persistent. But in the latest version, this section has been removed. So wondering how we would be able to handle the scenario I described above.