net/mlx5: unify operations for all OS
There are three types of eth_dev_ops: primary, secondary and isolate
represented in three callback tables per OS. In this commit the OS
specific eth dev tables are unified into shared tables in file mlx5.c.
Starting from this commit all operating systems must implement the same
eth dev APIs. In case an OS does not support an API - it can return in
its implementation an error ENOTSUP.
Fixes: 042f5c94fd
("net/mlx5: refactor device operations for Linux")
Cc: stable@dpdk.org
Signed-off-by: Ophir Munk <ophirmu@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
parent
f1ae0b3590
commit
b012b4ce72
@ -757,7 +757,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
|
||||
rte_eth_devices[priv->sh->bond_dev].device;
|
||||
else
|
||||
eth_dev->device = dpdk_dev;
|
||||
eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
|
||||
eth_dev->dev_ops = &mlx5_dev_sec_ops;
|
||||
eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
|
||||
eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
|
||||
err = mlx5_proc_priv_init(eth_dev);
|
||||
@ -1432,7 +1432,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
|
||||
/* Initialize burst functions to prevent crashes before link-up. */
|
||||
eth_dev->rx_pkt_burst = removed_rx_burst;
|
||||
eth_dev->tx_pkt_burst = removed_tx_burst;
|
||||
eth_dev->dev_ops = &mlx5_os_dev_ops;
|
||||
eth_dev->dev_ops = &mlx5_dev_ops;
|
||||
eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
|
||||
eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
|
||||
eth_dev->rx_queue_count = mlx5_rx_queue_count;
|
||||
@ -2611,153 +2611,3 @@ mlx5_os_mac_addr_flush(struct rte_eth_dev *dev)
|
||||
dev->data->mac_addrs,
|
||||
MLX5_MAX_MAC_ADDRESSES, priv->mac_own);
|
||||
}
|
||||
|
||||
const struct eth_dev_ops mlx5_os_dev_ops = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_set_link_down = mlx5_set_link_down,
|
||||
.dev_set_link_up = mlx5_set_link_up,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.reta_update = mlx5_dev_rss_reta_update,
|
||||
.reta_query = mlx5_dev_rss_reta_query,
|
||||
.rss_hash_update = mlx5_rss_hash_update,
|
||||
.rss_hash_conf_get = mlx5_rss_hash_conf_get,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.udp_tunnel_port_add = mlx5_udp_tunnel_port_add,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
.hairpin_bind = mlx5_hairpin_bind,
|
||||
.hairpin_unbind = mlx5_hairpin_unbind,
|
||||
.hairpin_get_peer_ports = mlx5_hairpin_get_peer_ports,
|
||||
.hairpin_queue_peer_update = mlx5_hairpin_queue_peer_update,
|
||||
.hairpin_queue_peer_bind = mlx5_hairpin_queue_peer_bind,
|
||||
.hairpin_queue_peer_unbind = mlx5_hairpin_queue_peer_unbind,
|
||||
};
|
||||
|
||||
/* Available operations from secondary process. */
|
||||
const struct eth_dev_ops mlx5_os_dev_sec_ops = {
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
};
|
||||
|
||||
/* Available operations in flow isolated mode. */
|
||||
const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_set_link_down = mlx5_set_link_down,
|
||||
.dev_set_link_up = mlx5_set_link_up,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
.hairpin_bind = mlx5_hairpin_bind,
|
||||
.hairpin_unbind = mlx5_hairpin_unbind,
|
||||
.hairpin_get_peer_ports = mlx5_hairpin_get_peer_ports,
|
||||
.hairpin_queue_peer_update = mlx5_hairpin_queue_peer_update,
|
||||
.hairpin_queue_peer_bind = mlx5_hairpin_queue_peer_bind,
|
||||
.hairpin_queue_peer_unbind = mlx5_hairpin_queue_peer_unbind,
|
||||
};
|
||||
|
@ -1430,6 +1430,156 @@ mlx5_dev_close(struct rte_eth_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
const struct eth_dev_ops mlx5_dev_ops = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_set_link_down = mlx5_set_link_down,
|
||||
.dev_set_link_up = mlx5_set_link_up,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.reta_update = mlx5_dev_rss_reta_update,
|
||||
.reta_query = mlx5_dev_rss_reta_query,
|
||||
.rss_hash_update = mlx5_rss_hash_update,
|
||||
.rss_hash_conf_get = mlx5_rss_hash_conf_get,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.udp_tunnel_port_add = mlx5_udp_tunnel_port_add,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
.hairpin_bind = mlx5_hairpin_bind,
|
||||
.hairpin_unbind = mlx5_hairpin_unbind,
|
||||
.hairpin_get_peer_ports = mlx5_hairpin_get_peer_ports,
|
||||
.hairpin_queue_peer_update = mlx5_hairpin_queue_peer_update,
|
||||
.hairpin_queue_peer_bind = mlx5_hairpin_queue_peer_bind,
|
||||
.hairpin_queue_peer_unbind = mlx5_hairpin_queue_peer_unbind,
|
||||
};
|
||||
|
||||
/* Available operations from secondary process. */
|
||||
const struct eth_dev_ops mlx5_dev_sec_ops = {
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
};
|
||||
|
||||
/* Available operations in flow isolated mode. */
|
||||
const struct eth_dev_ops mlx5_dev_ops_isolate = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_set_link_down = mlx5_set_link_down,
|
||||
.dev_set_link_up = mlx5_set_link_up,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.read_clock = mlx5_txpp_read_clock,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.rx_queue_start = mlx5_rx_queue_start,
|
||||
.rx_queue_stop = mlx5_rx_queue_stop,
|
||||
.tx_queue_start = mlx5_tx_queue_start,
|
||||
.tx_queue_stop = mlx5_tx_queue_stop,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
.hairpin_bind = mlx5_hairpin_bind,
|
||||
.hairpin_unbind = mlx5_hairpin_unbind,
|
||||
.hairpin_get_peer_ports = mlx5_hairpin_get_peer_ports,
|
||||
.hairpin_queue_peer_update = mlx5_hairpin_queue_peer_update,
|
||||
.hairpin_queue_peer_bind = mlx5_hairpin_queue_peer_bind,
|
||||
.hairpin_queue_peer_unbind = mlx5_hairpin_queue_peer_unbind,
|
||||
};
|
||||
|
||||
/**
|
||||
* Verify and store value for device argument.
|
||||
*
|
||||
|
@ -140,9 +140,9 @@ struct mlx5_local_data {
|
||||
extern struct mlx5_shared_data *mlx5_shared_data;
|
||||
|
||||
/* Dev ops structs */
|
||||
extern const struct eth_dev_ops mlx5_os_dev_ops;
|
||||
extern const struct eth_dev_ops mlx5_os_dev_sec_ops;
|
||||
extern const struct eth_dev_ops mlx5_os_dev_ops_isolate;
|
||||
extern const struct eth_dev_ops mlx5_dev_ops;
|
||||
extern const struct eth_dev_ops mlx5_dev_sec_ops;
|
||||
extern const struct eth_dev_ops mlx5_dev_ops_isolate;
|
||||
|
||||
struct mlx5_counter_ctrl {
|
||||
/* Name of the counter. */
|
||||
|
@ -6135,9 +6135,9 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
|
||||
}
|
||||
priv->isolated = !!enable;
|
||||
if (enable)
|
||||
dev->dev_ops = &mlx5_os_dev_ops_isolate;
|
||||
dev->dev_ops = &mlx5_dev_ops_isolate;
|
||||
else
|
||||
dev->dev_ops = &mlx5_os_dev_ops;
|
||||
dev->dev_ops = &mlx5_dev_ops;
|
||||
|
||||
dev->rx_descriptor_status = mlx5_rx_descriptor_status;
|
||||
dev->tx_descriptor_status = mlx5_tx_descriptor_status;
|
||||
|
@ -571,7 +571,7 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
|
||||
/* Initialize burst functions to prevent crashes before link-up. */
|
||||
eth_dev->rx_pkt_burst = removed_rx_burst;
|
||||
eth_dev->tx_pkt_burst = removed_tx_burst;
|
||||
eth_dev->dev_ops = &mlx5_os_dev_ops;
|
||||
eth_dev->dev_ops = &mlx5_dev_ops;
|
||||
eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
|
||||
eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
|
||||
eth_dev->rx_queue_count = mlx5_rx_queue_count;
|
||||
@ -1156,111 +1156,3 @@ mlx5_os_get_pdn(void *pd, uint32_t *pdn)
|
||||
}
|
||||
|
||||
const struct mlx5_flow_driver_ops mlx5_flow_verbs_drv_ops = {0};
|
||||
|
||||
const struct eth_dev_ops mlx5_os_dev_ops = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.read_clock = mlx5_read_clock,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.reta_update = mlx5_dev_rss_reta_update,
|
||||
.reta_query = mlx5_dev_rss_reta_query,
|
||||
.rss_hash_update = mlx5_rss_hash_update,
|
||||
.rss_hash_conf_get = mlx5_rss_hash_conf_get,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.udp_tunnel_port_add = mlx5_udp_tunnel_port_add,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
};
|
||||
|
||||
/* Available operations from secondary process. */
|
||||
const struct eth_dev_ops mlx5_os_dev_sec_ops = {0};
|
||||
|
||||
/* Available operations in flow isolated mode. */
|
||||
const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
|
||||
.dev_configure = mlx5_dev_configure,
|
||||
.dev_start = mlx5_dev_start,
|
||||
.dev_stop = mlx5_dev_stop,
|
||||
.dev_close = mlx5_dev_close,
|
||||
.mtu_set = mlx5_dev_set_mtu,
|
||||
.link_update = mlx5_link_update,
|
||||
.stats_get = mlx5_stats_get,
|
||||
.stats_reset = mlx5_stats_reset,
|
||||
.dev_infos_get = mlx5_dev_infos_get,
|
||||
.dev_set_link_down = mlx5_set_link_down,
|
||||
.dev_set_link_up = mlx5_set_link_up,
|
||||
.promiscuous_enable = mlx5_promiscuous_enable,
|
||||
.promiscuous_disable = mlx5_promiscuous_disable,
|
||||
.allmulticast_enable = mlx5_allmulticast_enable,
|
||||
.allmulticast_disable = mlx5_allmulticast_disable,
|
||||
.xstats_get = mlx5_xstats_get,
|
||||
.xstats_reset = mlx5_xstats_reset,
|
||||
.xstats_get_names = mlx5_xstats_get_names,
|
||||
.fw_version_get = mlx5_fw_version_get,
|
||||
.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,
|
||||
.vlan_filter_set = mlx5_vlan_filter_set,
|
||||
.rx_queue_setup = mlx5_rx_queue_setup,
|
||||
.rx_hairpin_queue_setup = mlx5_rx_hairpin_queue_setup,
|
||||
.tx_queue_setup = mlx5_tx_queue_setup,
|
||||
.tx_hairpin_queue_setup = mlx5_tx_hairpin_queue_setup,
|
||||
.rx_queue_release = mlx5_rx_queue_release,
|
||||
.tx_queue_release = mlx5_tx_queue_release,
|
||||
.flow_ctrl_get = mlx5_dev_get_flow_ctrl,
|
||||
.flow_ctrl_set = mlx5_dev_set_flow_ctrl,
|
||||
.mac_addr_remove = mlx5_mac_addr_remove,
|
||||
.mac_addr_add = mlx5_mac_addr_add,
|
||||
.mac_addr_set = mlx5_mac_addr_set,
|
||||
.set_mc_addr_list = mlx5_set_mc_addr_list,
|
||||
.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
|
||||
.vlan_offload_set = mlx5_vlan_offload_set,
|
||||
.filter_ctrl = mlx5_dev_filter_ctrl,
|
||||
.rxq_info_get = mlx5_rxq_info_get,
|
||||
.txq_info_get = mlx5_txq_info_get,
|
||||
.rx_burst_mode_get = mlx5_rx_burst_mode_get,
|
||||
.tx_burst_mode_get = mlx5_tx_burst_mode_get,
|
||||
.rx_queue_intr_enable = mlx5_rx_intr_enable,
|
||||
.rx_queue_intr_disable = mlx5_rx_intr_disable,
|
||||
.is_removed = mlx5_is_removed,
|
||||
.get_module_info = mlx5_get_module_info,
|
||||
.get_module_eeprom = mlx5_get_module_eeprom,
|
||||
.hairpin_cap_get = mlx5_hairpin_cap_get,
|
||||
.mtr_ops_get = mlx5_flow_meter_ops_get,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user