diff options
author | Vladimir Ratnikov <vratnikov@netgate.com> | 2020-11-11 08:00:48 -0500 |
---|---|---|
committer | Matthew Smith <mgsmith@netgate.com> | 2021-01-11 20:40:23 +0000 |
commit | 9822729742168c877a301ff50a3a1067b90a89ad (patch) | |
tree | 6060722a9b4f72282e78e5076f759a42c9e1d3d7 /src/vlib/vmbus/vmbus.c | |
parent | dcacdc4fd90d6cc71aaafccbca3ea91c7481ddbd (diff) |
dpdk: allow configure individual VMBUS devices
now startup.conf supports confuguration for VMBUS
devices as for PCI devices for whitelisting/blacklisting
dpdk { dev fa5a6e7a-cf3a-4b98-9569-addb479b84bc }
with sub-configuration as for PCI devices
dpdk { blacklist fa5a6e7a-cf3a-4b98-9569-addb479b84bc }
where fa5a6e7a-cf3a-4b98-9569-addb479b84bc - example of UUID
struct vlib_vmbus_addr_t changed to union with UUID described
fields
Added device_config_index_by_vmbus_addr
blacklist_by_vmbus_addr
to enumerate available device configs
hash_key is as_u32[0] field(last 4 bytes of UUID)
Lost of precision against full UUID, but 2^32 is enough
to handle all the devices available
Added is_blacklisted check while creating vnet devices in
order to supress creation of dev if it's blacklisted
Type: feature
Signed-off-by: Vladimir Ratnikov <vratnikov@netgate.com>
Change-Id: Id82611e54fed082190e488c7e5fbe14ecbe5b2ab
Diffstat (limited to 'src/vlib/vmbus/vmbus.c')
-rw-r--r-- | src/vlib/vmbus/vmbus.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/vlib/vmbus/vmbus.c b/src/vlib/vmbus/vmbus.c index eadf5f176d6..045e2dd9503 100644 --- a/src/vlib/vmbus/vmbus.c +++ b/src/vlib/vmbus/vmbus.c @@ -25,11 +25,24 @@ #include <net/if.h> /* this is a stub replaced by the Linux specfic version */ -vlib_vmbus_addr_t * __attribute__ ((weak)) vlib_vmbus_get_all_dev_addrs () +vlib_vmbus_addr_t *__clib_weak +vlib_vmbus_get_all_dev_addrs () { return NULL; } +u8 *__clib_weak +format_vlib_vmbus_addr (u8 *s, va_list *va) +{ + return 0; +} + +uword __clib_weak +unformat_vlib_vmbus_addr (unformat_input_t *input, va_list *args) +{ + return 0; +} + clib_error_t * vmbus_bus_init (vlib_main_t * vm) { |