ethdev: remove some VF functions
remove the following API's: rte_eth_dev_set_vf_rxmode rte_eth_dev_set_vf_rx rte_eth_dev_set_vf_tx rte_eth_dev_set_vf_vlan_filter rte_eth_dev_set_vf_rate_limit Increment LIBABIVER in Makefile Remove deprecation notice for removing rte_eth_dev_set_vf_* API's. Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
This commit is contained in:
parent
7e98b3af9e
commit
5e823a4512
@ -34,19 +34,6 @@ Deprecation Notices
|
||||
``_rte_eth_dev_callback_process``. In 17.02 the function will return an ``int``
|
||||
instead of ``void`` and a fourth parameter ``void *ret_param`` will be added.
|
||||
|
||||
* ethdev: for 17.02 it is planned to deprecate the following five functions
|
||||
and move them in ixgbe:
|
||||
|
||||
``rte_eth_dev_set_vf_rxmode``
|
||||
|
||||
``rte_eth_dev_set_vf_rx``
|
||||
|
||||
``rte_eth_dev_set_vf_tx``
|
||||
|
||||
``rte_eth_dev_set_vf_vlan_filter``
|
||||
|
||||
``rte_eth_set_vf_rate_limit``
|
||||
|
||||
* ABI changes are planned for 17.02 in the ``rte_mbuf`` structure: some fields
|
||||
may be reordered to facilitate the writing of ``data_off``, ``refcnt``, and
|
||||
``nb_segs`` in one operation, because some platforms have an overhead if the
|
||||
|
@ -179,6 +179,26 @@ API Changes
|
||||
Also, make sure to start the actual text at the margin.
|
||||
=========================================================
|
||||
|
||||
* **Moved five APIs for VF management from the ethdev to the ixgbe PMD.**
|
||||
|
||||
The following five APIs for VF management from the PF have been removed from the ethdev,
|
||||
renamed and added to the ixgbe PMD::
|
||||
|
||||
rte_eth_dev_set_vf_rate_limit
|
||||
rte_eth_dev_set_vf_rx
|
||||
rte_eth_dev_set_vf_rxmode
|
||||
rte_eth_dev_set_vf_tx
|
||||
rte_eth_dev_set_vf_vlan_filter
|
||||
|
||||
The API's have been renamed to the following::
|
||||
|
||||
rte_pmd_ixgbe_set_vf_rate_limit
|
||||
rte_pmd_ixgbe_set_vf_rx
|
||||
rte_pmd_ixgbe_set_vf_rxmode
|
||||
rte_pmd_ixgbe_set_vf_tx
|
||||
rte_pmd_ixgbe_set_vf_vlan_filter
|
||||
|
||||
The declarations for the API’s can be found in ``rte_pmd_ixgbe.h``.
|
||||
|
||||
ABI Changes
|
||||
-----------
|
||||
@ -219,7 +239,7 @@ The libraries prepended with a plus sign were incremented in this version.
|
||||
librte_cryptodev.so.2
|
||||
librte_distributor.so.1
|
||||
librte_eal.so.3
|
||||
librte_ethdev.so.5
|
||||
+ librte_ethdev.so.6
|
||||
librte_hash.so.2
|
||||
librte_ip_frag.so.1
|
||||
librte_jobstats.so.1
|
||||
|
@ -1,6 +1,6 @@
|
||||
# BSD LICENSE
|
||||
#
|
||||
# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
|
||||
# Copyright(c) 2010-2016 Intel Corporation. All rights reserved.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -41,7 +41,7 @@ CFLAGS += $(WERROR_FLAGS)
|
||||
|
||||
EXPORT_MAP := rte_ether_version.map
|
||||
|
||||
LIBABIVER := 5
|
||||
LIBABIVER := 6
|
||||
|
||||
SRCS-y += rte_ethdev.c
|
||||
SRCS-y += rte_flow.c
|
||||
|
@ -2240,32 +2240,6 @@ rte_eth_dev_default_mac_addr_set(uint8_t port_id, struct ether_addr *addr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
rte_eth_dev_set_vf_rxmode(uint8_t port_id, uint16_t vf,
|
||||
uint16_t rx_mode, uint8_t on)
|
||||
{
|
||||
uint16_t num_vfs;
|
||||
struct rte_eth_dev *dev;
|
||||
struct rte_eth_dev_info dev_info;
|
||||
|
||||
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
|
||||
|
||||
dev = &rte_eth_devices[port_id];
|
||||
rte_eth_dev_info_get(port_id, &dev_info);
|
||||
|
||||
num_vfs = dev_info.max_vfs;
|
||||
if (vf > num_vfs) {
|
||||
RTE_PMD_DEBUG_TRACE("set VF RX mode:invalid VF id %d\n", vf);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (rx_mode == 0) {
|
||||
RTE_PMD_DEBUG_TRACE("set VF RX mode:mode mask ca not be zero\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_vf_rx_mode, -ENOTSUP);
|
||||
return (*dev->dev_ops->set_vf_rx_mode)(dev, vf, rx_mode, on);
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
|
||||
@ -2355,76 +2329,6 @@ rte_eth_dev_uc_all_hash_table_set(uint8_t port_id, uint8_t on)
|
||||
return (*dev->dev_ops->uc_all_hash_table_set)(dev, on);
|
||||
}
|
||||
|
||||
int
|
||||
rte_eth_dev_set_vf_rx(uint8_t port_id, uint16_t vf, uint8_t on)
|
||||
{
|
||||
uint16_t num_vfs;
|
||||
struct rte_eth_dev *dev;
|
||||
struct rte_eth_dev_info dev_info;
|
||||
|
||||
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
|
||||
|
||||
dev = &rte_eth_devices[port_id];
|
||||
rte_eth_dev_info_get(port_id, &dev_info);
|
||||
|
||||
num_vfs = dev_info.max_vfs;
|
||||
if (vf > num_vfs) {
|
||||
RTE_PMD_DEBUG_TRACE("port %d: invalid vf id\n", port_id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_vf_rx, -ENOTSUP);
|
||||
return (*dev->dev_ops->set_vf_rx)(dev, vf, on);
|
||||
}
|
||||
|
||||
int
|
||||
rte_eth_dev_set_vf_tx(uint8_t port_id, uint16_t vf, uint8_t on)
|
||||
{
|
||||
uint16_t num_vfs;
|
||||
struct rte_eth_dev *dev;
|
||||
struct rte_eth_dev_info dev_info;
|
||||
|
||||
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
|
||||
|
||||
dev = &rte_eth_devices[port_id];
|
||||
rte_eth_dev_info_get(port_id, &dev_info);
|
||||
|
||||
num_vfs = dev_info.max_vfs;
|
||||
if (vf > num_vfs) {
|
||||
RTE_PMD_DEBUG_TRACE("set pool tx:invalid pool id=%d\n", vf);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_vf_tx, -ENOTSUP);
|
||||
return (*dev->dev_ops->set_vf_tx)(dev, vf, on);
|
||||
}
|
||||
|
||||
int
|
||||
rte_eth_dev_set_vf_vlan_filter(uint8_t port_id, uint16_t vlan_id,
|
||||
uint64_t vf_mask, uint8_t vlan_on)
|
||||
{
|
||||
struct rte_eth_dev *dev;
|
||||
|
||||
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
|
||||
|
||||
dev = &rte_eth_devices[port_id];
|
||||
|
||||
if (vlan_id > ETHER_MAX_VLAN_ID) {
|
||||
RTE_PMD_DEBUG_TRACE("VF VLAN filter:invalid VLAN id=%d\n",
|
||||
vlan_id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (vf_mask == 0) {
|
||||
RTE_PMD_DEBUG_TRACE("VF VLAN filter:pool_mask can not be 0\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_vf_vlan_filter, -ENOTSUP);
|
||||
return (*dev->dev_ops->set_vf_vlan_filter)(dev, vlan_id,
|
||||
vf_mask, vlan_on);
|
||||
}
|
||||
|
||||
int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,
|
||||
uint16_t tx_rate)
|
||||
{
|
||||
@ -2455,39 +2359,6 @@ int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,
|
||||
return (*dev->dev_ops->set_queue_rate_limit)(dev, queue_idx, tx_rate);
|
||||
}
|
||||
|
||||
int rte_eth_set_vf_rate_limit(uint8_t port_id, uint16_t vf, uint16_t tx_rate,
|
||||
uint64_t q_msk)
|
||||
{
|
||||
struct rte_eth_dev *dev;
|
||||
struct rte_eth_dev_info dev_info;
|
||||
struct rte_eth_link link;
|
||||
|
||||
if (q_msk == 0)
|
||||
return 0;
|
||||
|
||||
RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
|
||||
|
||||
dev = &rte_eth_devices[port_id];
|
||||
rte_eth_dev_info_get(port_id, &dev_info);
|
||||
link = dev->data->dev_link;
|
||||
|
||||
if (vf > dev_info.max_vfs) {
|
||||
RTE_PMD_DEBUG_TRACE("set VF rate limit:port %d: "
|
||||
"invalid vf id=%d\n", port_id, vf);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (tx_rate > link.link_speed) {
|
||||
RTE_PMD_DEBUG_TRACE("set VF rate limit:invalid tx_rate=%d, "
|
||||
"bigger than link speed= %d\n",
|
||||
tx_rate, link.link_speed);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->set_vf_rate_limit, -ENOTSUP);
|
||||
return (*dev->dev_ops->set_vf_rate_limit)(dev, vf, tx_rate, q_msk);
|
||||
}
|
||||
|
||||
int
|
||||
rte_eth_mirror_rule_set(uint8_t port_id,
|
||||
struct rte_eth_mirror_conf *mirror_conf,
|
||||
|
@ -1287,39 +1287,11 @@ typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
|
||||
uint8_t on);
|
||||
/**< @internal Set all Unicast Hash bitmap */
|
||||
|
||||
typedef int (*eth_set_vf_rx_mode_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vf,
|
||||
uint16_t rx_mode,
|
||||
uint8_t on);
|
||||
/**< @internal Set a VF receive mode */
|
||||
|
||||
typedef int (*eth_set_vf_rx_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vf,
|
||||
uint8_t on);
|
||||
/**< @internal Set a VF receive mode */
|
||||
|
||||
typedef int (*eth_set_vf_tx_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vf,
|
||||
uint8_t on);
|
||||
/**< @internal Enable or disable a VF transmit */
|
||||
|
||||
typedef int (*eth_set_vf_vlan_filter_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vlan,
|
||||
uint64_t vf_mask,
|
||||
uint8_t vlan_on);
|
||||
/**< @internal Set VF VLAN pool filter */
|
||||
|
||||
typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
|
||||
uint16_t queue_idx,
|
||||
uint16_t tx_rate);
|
||||
/**< @internal Set queue TX rate */
|
||||
|
||||
typedef int (*eth_set_vf_rate_limit_t)(struct rte_eth_dev *dev,
|
||||
uint16_t vf,
|
||||
uint16_t tx_rate,
|
||||
uint64_t q_msk);
|
||||
/**< @internal Set VF TX rate */
|
||||
|
||||
typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
|
||||
struct rte_eth_mirror_conf *mirror_conf,
|
||||
uint8_t rule_id,
|
||||
@ -1529,12 +1501,6 @@ struct eth_dev_ops {
|
||||
eth_mirror_rule_set_t mirror_rule_set; /**< Add a traffic mirror rule. */
|
||||
eth_mirror_rule_reset_t mirror_rule_reset; /**< reset a traffic mirror rule. */
|
||||
|
||||
eth_set_vf_rx_mode_t set_vf_rx_mode;/**< Set VF RX mode. */
|
||||
eth_set_vf_rx_t set_vf_rx; /**< enable/disable a VF receive. */
|
||||
eth_set_vf_tx_t set_vf_tx; /**< enable/disable a VF transmit. */
|
||||
eth_set_vf_vlan_filter_t set_vf_vlan_filter; /**< Set VF VLAN filter. */
|
||||
eth_set_vf_rate_limit_t set_vf_rate_limit; /**< Set VF rate limit. */
|
||||
|
||||
eth_udp_tunnel_port_add_t udp_tunnel_port_add; /** Add UDP tunnel port. */
|
||||
eth_udp_tunnel_port_del_t udp_tunnel_port_del; /** Del UDP tunnel port. */
|
||||
eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
|
||||
@ -3586,93 +3552,6 @@ int rte_eth_dev_uc_hash_table_set(uint8_t port,struct ether_addr *addr,
|
||||
*/
|
||||
int rte_eth_dev_uc_all_hash_table_set(uint8_t port,uint8_t on);
|
||||
|
||||
/**
|
||||
* Set RX L2 Filtering mode of a VF of an Ethernet device.
|
||||
*
|
||||
* @param port
|
||||
* The port identifier of the Ethernet device.
|
||||
* @param vf
|
||||
* VF id.
|
||||
* @param rx_mode
|
||||
* The RX mode mask, which is one or more of accepting Untagged Packets,
|
||||
* packets that match the PFUTA table, Broadcast and Multicast Promiscuous.
|
||||
* ETH_VMDQ_ACCEPT_UNTAG,ETH_VMDQ_ACCEPT_HASH_UC,
|
||||
* ETH_VMDQ_ACCEPT_BROADCAST and ETH_VMDQ_ACCEPT_MULTICAST will be used
|
||||
* in rx_mode.
|
||||
* @param on
|
||||
* 1 - Enable a VF RX mode.
|
||||
* 0 - Disable a VF RX mode.
|
||||
* @return
|
||||
* - (0) if successful.
|
||||
* - (-ENOTSUP) if hardware doesn't support.
|
||||
* - (-ENOTSUP) if hardware doesn't support.
|
||||
* - (-EINVAL) if bad parameter.
|
||||
*/
|
||||
int rte_eth_dev_set_vf_rxmode(uint8_t port, uint16_t vf, uint16_t rx_mode,
|
||||
uint8_t on);
|
||||
|
||||
/**
|
||||
* Enable or disable a VF traffic transmit of the Ethernet device.
|
||||
*
|
||||
* @param port
|
||||
* The port identifier of the Ethernet device.
|
||||
* @param vf
|
||||
* VF id.
|
||||
* @param on
|
||||
* 1 - Enable a VF traffic transmit.
|
||||
* 0 - Disable a VF traffic transmit.
|
||||
* @return
|
||||
* - (0) if successful.
|
||||
* - (-ENODEV) if *port_id* invalid.
|
||||
* - (-ENOTSUP) if hardware doesn't support.
|
||||
* - (-EINVAL) if bad parameter.
|
||||
*/
|
||||
int
|
||||
rte_eth_dev_set_vf_tx(uint8_t port,uint16_t vf, uint8_t on);
|
||||
|
||||
/**
|
||||
* Enable or disable a VF traffic receive of an Ethernet device.
|
||||
*
|
||||
* @param port
|
||||
* The port identifier of the Ethernet device.
|
||||
* @param vf
|
||||
* VF id.
|
||||
* @param on
|
||||
* 1 - Enable a VF traffic receive.
|
||||
* 0 - Disable a VF traffic receive.
|
||||
* @return
|
||||
* - (0) if successful.
|
||||
* - (-ENOTSUP) if hardware doesn't support.
|
||||
* - (-ENODEV) if *port_id* invalid.
|
||||
* - (-EINVAL) if bad parameter.
|
||||
*/
|
||||
int
|
||||
rte_eth_dev_set_vf_rx(uint8_t port,uint16_t vf, uint8_t on);
|
||||
|
||||
/**
|
||||
* Enable/Disable hardware VF VLAN filtering by an Ethernet device of
|
||||
* received VLAN packets tagged with a given VLAN Tag Identifier.
|
||||
*
|
||||
* @param port id
|
||||
* The port identifier of the Ethernet device.
|
||||
* @param vlan_id
|
||||
* The VLAN Tag Identifier whose filtering must be enabled or disabled.
|
||||
* @param vf_mask
|
||||
* Bitmap listing which VFs participate in the VLAN filtering.
|
||||
* @param vlan_on
|
||||
* 1 - Enable VFs VLAN filtering.
|
||||
* 0 - Disable VFs VLAN filtering.
|
||||
* @return
|
||||
* - (0) if successful.
|
||||
* - (-ENOTSUP) if hardware doesn't support.
|
||||
* - (-ENODEV) if *port_id* invalid.
|
||||
* - (-EINVAL) if bad parameter.
|
||||
*/
|
||||
int
|
||||
rte_eth_dev_set_vf_vlan_filter(uint8_t port, uint16_t vlan_id,
|
||||
uint64_t vf_mask,
|
||||
uint8_t vlan_on);
|
||||
|
||||
/**
|
||||
* Set a traffic mirroring rule on an Ethernet device
|
||||
*
|
||||
@ -3733,26 +3612,6 @@ int rte_eth_mirror_rule_reset(uint8_t port_id,
|
||||
int rte_eth_set_queue_rate_limit(uint8_t port_id, uint16_t queue_idx,
|
||||
uint16_t tx_rate);
|
||||
|
||||
/**
|
||||
* Set the rate limitation for a vf on an Ethernet device.
|
||||
*
|
||||
* @param port_id
|
||||
* The port identifier of the Ethernet device.
|
||||
* @param vf
|
||||
* VF id.
|
||||
* @param tx_rate
|
||||
* The tx rate allocated from the total link speed for this VF id.
|
||||
* @param q_msk
|
||||
* The queue mask which need to set the rate.
|
||||
* @return
|
||||
* - (0) if successful.
|
||||
* - (-ENOTSUP) if hardware doesn't support this feature.
|
||||
* - (-ENODEV) if *port_id* invalid.
|
||||
* - (-EINVAL) if bad parameter.
|
||||
*/
|
||||
int rte_eth_set_vf_rate_limit(uint8_t port_id, uint16_t vf,
|
||||
uint16_t tx_rate, uint64_t q_msk);
|
||||
|
||||
/**
|
||||
* Initialize bypass logic. This function needs to be called before
|
||||
* executing any other bypass API.
|
||||
|
@ -60,10 +60,6 @@ DPDK_2.2 {
|
||||
rte_eth_dev_set_mtu;
|
||||
rte_eth_dev_set_rx_queue_stats_mapping;
|
||||
rte_eth_dev_set_tx_queue_stats_mapping;
|
||||
rte_eth_dev_set_vf_rx;
|
||||
rte_eth_dev_set_vf_rxmode;
|
||||
rte_eth_dev_set_vf_tx;
|
||||
rte_eth_dev_set_vf_vlan_filter;
|
||||
rte_eth_dev_set_vlan_offload;
|
||||
rte_eth_dev_set_vlan_pvid;
|
||||
rte_eth_dev_set_vlan_strip_on_queue;
|
||||
@ -93,7 +89,6 @@ DPDK_2.2 {
|
||||
rte_eth_rx_queue_info_get;
|
||||
rte_eth_rx_queue_setup;
|
||||
rte_eth_set_queue_rate_limit;
|
||||
rte_eth_set_vf_rate_limit;
|
||||
rte_eth_stats;
|
||||
rte_eth_stats_get;
|
||||
rte_eth_stats_reset;
|
||||
|
Loading…
Reference in New Issue
Block a user