diff options
Diffstat (limited to 'src/vnet/dev/dev_funcs.h')
-rw-r--r-- | src/vnet/dev/dev_funcs.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/vnet/dev/dev_funcs.h b/src/vnet/dev/dev_funcs.h index b805698ea3c..0531b17a009 100644 --- a/src/vnet/dev/dev_funcs.h +++ b/src/vnet/dev/dev_funcs.h @@ -51,13 +51,21 @@ vnet_dev_get_port_by_index (vnet_dev_t *dev, u32 index) return pool_elt_at_index (dev->ports, index)[0]; } -static_always_inline vnet_dev_port_t * -vnet_dev_get_port_from_dev_instance (u32 dev_instance) +static_always_inline vnet_dev_instance_t * +vnet_dev_get_dev_instance (u32 dev_instance) { vnet_dev_main_t *dm = &vnet_dev_main; - if (pool_is_free_index (dm->ports_by_dev_instance, dev_instance)) + if (pool_is_free_index (dm->dev_instances, dev_instance)) return 0; - return pool_elt_at_index (dm->ports_by_dev_instance, dev_instance)[0]; + return pool_elt_at_index (dm->dev_instances, dev_instance); +} + +static_always_inline vnet_dev_port_t * +vnet_dev_get_port_from_dev_instance (u32 dev_instance) +{ + vnet_dev_instance_t *di = vnet_dev_get_dev_instance (dev_instance); + + return di ? di->port : 0; } static_always_inline vnet_dev_port_t * |