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:
Bernard Iremonger 2016-12-13 11:40:40 +00:00 committed by Ferruh Yigit
parent 7e98b3af9e
commit 5e823a4512
6 changed files with 23 additions and 291 deletions

View File

@ -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

View File

@ -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 APIs 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

View File

@ -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

View File

@ -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,

View File

@ -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.

View File

@ -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;