code: def update_floatingip_statuses_cfg(self, context, router_id, fip_statuses):
          
          with context.session.begin(subtransactions=True):
              for (floatingip_id, status) in six.iteritems(fip_statuses):
                  LOG.debug("New status for floating IP %(floatingip_id)s: "
                            "%(status)s", {'floatingip_id': floatingip_id,
                                           'status': status})
                  try:
                      self._l3plugin.update_floatingip_status(
                          context, floatingip_id, status)
                  except l3_exceptions.FloatingIPNotFound:
                      LOG.debug("Floating IP: %s no longer present.",
                                floatingip_id)
              # Find all floating IPs known to have been the given router
              # for which an update was not received. Set them DOWN mercilessly
              # This situation might occur for some asynchronous backends if
              # notifications were missed
              known_router_fips = self._l3plugin.get_floatingips(
                  context, {'last_known_router_id': [router_id]})
              # Consider only floating ips which were disassociated in the API
              fips_to_disable = (fip['id'] for fip in known_router_fips
                                 if not fip['router_id'])
              for fip_id in fips_to_disable:
                  LOG.debug("update_fip_statuses: disable: %s", fip_id)
                  self._l3plugin.update_floatingip_status(
                      context, fip_id, bc.constants.FLOATINGIP_STATUS_DOWN)
docs: Update operational status for one or several floating IPs.
  
          This is called by Cisco cfg agent to update the status of one or
          several floatingips.
  
          :param context: contains user information
          :param router_id: id of router associated with the floatingips
          :param router_id: dict with floatingip_id as key and status as value