code: def remove_reserved_binding(vlan_id, switch_ip, instance_id,
                              port_id):
      
      if not port_id:
          LOG.warning("remove_reserved_binding called with no state")
          return
      LOG.debug("remove_reserved_binding called")
      session = bc.get_writer_session()
      binding = _lookup_one_nexus_binding(session=session,
                                          vlan_id=vlan_id,
                                          switch_ip=switch_ip,
                                          instance_id=instance_id,
                                          port_id=port_id)
      for bind in binding:
          session.delete(bind)
      session.flush()
      return binding
docs: Removes reserved binding.
  
      This overloads port bindings to support reserved Switch binding
      used to maintain the state of a switch so it can be viewed by
      all other neutron processes. There's also the case of
      a reserved port binding to keep switch information on a given
      interface.
      The values of these arguments is as follows:
      :param vlan_id: 0
      :param switch_ip: ip address of the switch
      :param instance_id: fixed string RESERVED_NEXUS_SWITCH_DEVICE_ID_R1
      :param port_id: switch-state of ACTIVE, RESTORE_S1, RESTORE_S2, INACTIVE
      :               port-expected port_id