numam-dpdk/lib/librte_vhost/rte_vhost_version.map

78 lines
1.3 KiB
Plaintext
Raw Normal View History

DPDK_2.0 {
global:
rte_vhost_dequeue_burst;
rte_vhost_driver_callback_register;
rte_vhost_driver_register;
rte_vhost_enable_guest_notification;
rte_vhost_enqueue_burst;
local: *;
};
DPDK_2.1 {
global:
rte_vhost_driver_unregister;
} DPDK_2.0;
DPDK_16.07 {
global:
rte_vhost_avail_entries;
rte_vhost_get_ifname;
rte_vhost_get_numa_node;
rte_vhost_get_queue_num;
} DPDK_2.1;
DPDK_17.05 {
global:
rte_vhost_driver_disable_features;
rte_vhost_driver_enable_features;
rte_vhost_driver_get_features;
rte_vhost_driver_set_features;
vhost: introduce API to start a specific driver We used to use rte_vhost_driver_session_start() to trigger the vhost-user session. It takes no argument, thus it's a global trigger. And it could be problematic. The issue is, currently, rte_vhost_driver_register(path, flags) actually tries to put it into the session loop (by fdset_add). However, it needs a set of APIs to set a vhost-user driver properly: * rte_vhost_driver_register(path, flags); * rte_vhost_driver_set_features(path, features); * rte_vhost_driver_callback_register(path, vhost_device_ops); If a new vhost-user driver is registered after the trigger (think OVS-DPDK that could add a port dynamically from cmdline), the current code will effectively starts the session for the new driver just after the first API rte_vhost_driver_register() is invoked, leaving later calls taking no effect at all. To handle the case properly, this patch introduce a new API, rte_vhost_driver_start(path), to trigger a specific vhost-user driver. To do that, the rte_vhost_driver_register(path, flags) is simplified to create the socket only and let rte_vhost_driver_start(path) to actually put it into the session loop. Meanwhile, the rte_vhost_driver_session_start is removed: we could hide the session thread internally (create the thread if it has not been created). This would also simplify the application. NOTE: the API order in prog guide is slightly adjusted for showing the correct invoke order. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
2017-04-01 07:22:56 +00:00
rte_vhost_driver_start;
rte_vhost_get_mem_table;
rte_vhost_get_mtu;
rte_vhost_get_negotiated_features;
rte_vhost_get_vhost_vring;
rte_vhost_get_vring_num;
rte_vhost_gpa_to_vva;
rte_vhost_log_used_vring;
rte_vhost_log_write;
} DPDK_16.07;
DPDK_17.08 {
global:
rte_vhost_rx_queue_count;
} DPDK_17.05;
DPDK_18.02 {
global:
rte_vhost_vring_call;
} DPDK_17.08;
EXPERIMENTAL {
rte_vdpa_register_device;
rte_vdpa_unregister_device;
rte_vdpa_find_device_id;
rte_vdpa_get_device;
rte_vhost_driver_attach_vdpa_device;
rte_vhost_driver_detach_vdpa_device;
rte_vhost_driver_get_vdpa_device_id;
rte_vhost_get_vdpa_device_id;
rte_vhost_driver_get_protocol_features;
rte_vhost_driver_get_queue_num;
rte_vhost_get_log_base;
rte_vhost_get_vring_base;
rte_vhost_set_vring_base;
} DPDK_18.02;