For the 'by-mac', only remove the structure when it is ready for API view without changing internal view. For the 'by-switch', do the update per switch and after it's done. Provide ability to check scan status through reading /networking/macs/rescan