X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fvmm_dev_mgr.h;h=9e019b5b092e933e05603d8533f79bc7b2c1b62a;hb=ee8666572bea1a9628d96ebc3e4d97f84b357134;hp=7e4708f6975f0438262b9fd1849fd1f687fb8356;hpb=3e5e5a12e64630d7a37ed32b8d7e2d993c79f7e0;p=palacios.git diff --git a/palacios/include/palacios/vmm_dev_mgr.h b/palacios/include/palacios/vmm_dev_mgr.h index 7e4708f..9e019b5 100644 --- a/palacios/include/palacios/vmm_dev_mgr.h +++ b/palacios/include/palacios/vmm_dev_mgr.h @@ -158,9 +158,19 @@ struct v3_dev_blk_ops { }; struct v3_dev_net_ops { + /* below functions are called by frontend device + * These will be filled in by the backend when a backend is initiated. --Lei*/ int (*send)(uint8_t * buf, uint32_t count, void * private_data, struct vm_device *dest_dev); - int (*receive)(uint8_t * buf, uint32_t count, void * private_data, struct vm_device *src_dev); - + void (*start_rx)(void *back_data); + void (*stop_rx)(void *back_data); + + /* below functions are called by Backend device + * These will be filled in by the frontend when a backend is connected. -- Lei*/ + int (*recv)(uint8_t * buf, uint32_t count, void * frnt_data); + void (*poll)(struct v3_vm_info *vm, void* frnt_data); + void (*start_tx)(void * frnt_data); + void (*stop_tx)(void * frnt_data); + void * frontend_data; }; struct v3_dev_console_ops { @@ -175,6 +185,7 @@ int v3_dev_add_blk_frontend(struct v3_vm_info * vm, v3_cfg_tree_t * cfg, void * private_data), void * priv_data); + int v3_dev_connect_blk(struct v3_vm_info * vm, char * frontend_name, struct v3_dev_blk_ops * ops,