The delete_router_interface_on_host() function deletes the external network's loopback/BVI interface when there are existing references to it from other tenant routers. This causes the subsequent invocations of ip_route_add_del to fail with retcode -54.
2020-10-10 14:43:05.483 23003 CRITICAL networking_vpp.agent.server [-] Failed VPP call to ip_route_add_del(, {'is_add': 1, 'is_multipath': 0, 'route': {'table_id': 1, 'prefix': IPv4Network('0.0.0.0/0'), 'n_paths': 1, 'paths': [{'table_id': 1, 'n_labels': 0, 'label_stack': [{'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}, {'is_uniform': 0, 'label': 0, 'ttl': 0, 'exp': 0}], 'type': 0, 'proto': 0, 'nh': {'address': {'ip4': b'\n\xc3\x83^'}}, 'sw_if_index': 6}]}}): retval is -54