Allow interrogating device internals through HMP interface. The exposed indicators can be used for troubleshooting by developers or sysadmin. There is no need to expose these attributes to a management system (e.x. libvirt) because (1) most of them are not "device-management' related info and (2) there is no guarantee the interface is stable. Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Message-Id: <1552300155-25216-6-git-send-email-yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
		
			
				
	
	
		
			41 lines
		
	
	
		
			987 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			987 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * RDMA device interface
 | 
						|
 *
 | 
						|
 * Copyright (C) 2019 Oracle
 | 
						|
 * Copyright (C) 2019 Red Hat Inc
 | 
						|
 *
 | 
						|
 * Authors:
 | 
						|
 *     Yuval Shaia <yuval.shaia@oracle.com>
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | 
						|
 * See the COPYING file in the top-level directory.
 | 
						|
 *
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef RDMA_H
 | 
						|
#define RDMA_H
 | 
						|
 | 
						|
#include "qom/object.h"
 | 
						|
 | 
						|
#define INTERFACE_RDMA_PROVIDER "rdma"
 | 
						|
 | 
						|
#define INTERFACE_RDMA_PROVIDER_CLASS(klass) \
 | 
						|
    OBJECT_CLASS_CHECK(RdmaProviderClass, (klass), \
 | 
						|
                       INTERFACE_RDMA_PROVIDER)
 | 
						|
#define RDMA_PROVIDER_GET_CLASS(obj) \
 | 
						|
    OBJECT_GET_CLASS(RdmaProviderClass, (obj), \
 | 
						|
                     INTERFACE_RDMA_PROVIDER)
 | 
						|
#define RDMA_PROVIDER(obj) \
 | 
						|
    INTERFACE_CHECK(RdmaProvider, (obj), \
 | 
						|
                    INTERFACE_RDMA_PROVIDER)
 | 
						|
 | 
						|
typedef struct RdmaProvider RdmaProvider;
 | 
						|
 | 
						|
typedef struct RdmaProviderClass {
 | 
						|
    InterfaceClass parent;
 | 
						|
 | 
						|
    void (*print_statistics)(Monitor *mon, RdmaProvider *obj);
 | 
						|
} RdmaProviderClass;
 | 
						|
 | 
						|
#endif
 |