From: Jingjing Wu Date: Mon, 12 Jan 2015 07:16:13 +0000 (+0800) Subject: ethdev: remove old ethertype filter X-Git-Tag: spdx-start~9837 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=75db20648e47860b538038d6763b4b403ac10729;p=dpdk.git ethdev: remove old ethertype filter Structure rte_ethertype_filter is removed. Following APIs are removed: - rte_eth_dev_add_ethertype_filter - rte_eth_dev_remove_ethertype_filter - rte_eth_dev_get_ethertype_filter It is replaced by filter_ctrl API. Signed-off-by: Jingjing Wu Acked-by: Helin Zhang --- diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 077d43001d..ea3a1fbfd9 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -3055,63 +3055,6 @@ rte_eth_dev_get_syn_filter(uint8_t port_id, return (*dev->dev_ops->get_syn_filter)(dev, filter, rx_queue); } -int -rte_eth_dev_add_ethertype_filter(uint8_t port_id, uint16_t index, - struct rte_ethertype_filter *filter, uint16_t rx_queue) -{ - struct rte_eth_dev *dev; - - if (port_id >= nb_ports) { - PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); - return -ENODEV; - } - if (filter->ethertype == ETHER_TYPE_IPv4 || - filter->ethertype == ETHER_TYPE_IPv6){ - PMD_DEBUG_TRACE("IP and IPv6 are not supported" - " in ethertype filter\n"); - return -EINVAL; - } - dev = &rte_eth_devices[port_id]; - FUNC_PTR_OR_ERR_RET(*dev->dev_ops->add_ethertype_filter, -ENOTSUP); - return (*dev->dev_ops->add_ethertype_filter)(dev, index, - filter, rx_queue); -} - -int -rte_eth_dev_remove_ethertype_filter(uint8_t port_id, uint16_t index) -{ - struct rte_eth_dev *dev; - - if (port_id >= nb_ports) { - PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); - return -ENODEV; - } - - dev = &rte_eth_devices[port_id]; - FUNC_PTR_OR_ERR_RET(*dev->dev_ops->remove_ethertype_filter, -ENOTSUP); - return (*dev->dev_ops->remove_ethertype_filter)(dev, index); -} - -int -rte_eth_dev_get_ethertype_filter(uint8_t port_id, uint16_t index, - struct rte_ethertype_filter *filter, uint16_t *rx_queue) -{ - struct rte_eth_dev *dev; - - if (filter == NULL || rx_queue == NULL) - return -EINVAL; - - if (port_id >= nb_ports) { - PMD_DEBUG_TRACE("Invalid port_id=%d\n", port_id); - return -ENODEV; - } - - dev = &rte_eth_devices[port_id]; - FUNC_PTR_OR_ERR_RET(*dev->dev_ops->get_ethertype_filter, -ENOTSUP); - return (*dev->dev_ops->get_ethertype_filter)(dev, index, - filter, rx_queue); -} - int rte_eth_dev_add_2tuple_filter(uint8_t port_id, uint16_t index, struct rte_2tuple_filter *filter, uint16_t rx_queue) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index ce0528f591..1200c1ced5 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -971,15 +971,6 @@ TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback); #define TCP_FIN_FLAG 0x01 #define TCP_FLAG_ALL 0x3F -/** - * A structure used to define an ethertype filter. - */ -struct rte_ethertype_filter { - uint16_t ethertype; /**< little endian. */ - uint8_t priority_en; /**< compare priority enable. */ - uint8_t priority; -}; - /** * A structure used to define an syn filter. */ @@ -1372,20 +1363,6 @@ typedef int (*eth_get_syn_filter_t)(struct rte_eth_dev *dev, struct rte_syn_filter *filter, uint16_t *rx_queue); /**< @internal Get syn filter rule on an Ethernet device */ -typedef int (*eth_add_ethertype_filter_t)(struct rte_eth_dev *dev, - uint16_t index, struct rte_ethertype_filter *filter, - uint16_t rx_queue); -/**< @internal Setup a new ethertype filter rule on an Ethernet device */ - -typedef int (*eth_remove_ethertype_filter_t)(struct rte_eth_dev *dev, - uint16_t index); -/**< @internal Remove an ethertype filter rule on an Ethernet device */ - -typedef int (*eth_get_ethertype_filter_t)(struct rte_eth_dev *dev, - uint16_t index, struct rte_ethertype_filter *filter, - uint16_t *rx_queue); -/**< @internal Get an ethertype filter rule on an Ethernet device */ - typedef int (*eth_add_2tuple_filter_t)(struct rte_eth_dev *dev, uint16_t index, struct rte_2tuple_filter *filter, uint16_t rx_queue); @@ -1532,9 +1509,6 @@ struct eth_dev_ops { eth_add_syn_filter_t add_syn_filter; /**< add syn filter. */ eth_remove_syn_filter_t remove_syn_filter; /**< remove syn filter. */ eth_get_syn_filter_t get_syn_filter; /**< get syn filter. */ - eth_add_ethertype_filter_t add_ethertype_filter; /**< add ethertype filter. */ - eth_remove_ethertype_filter_t remove_ethertype_filter; /**< remove ethertype filter. */ - eth_get_ethertype_filter_t get_ethertype_filter; /**< get ethertype filter. */ eth_add_2tuple_filter_t add_2tuple_filter; /**< add 2tuple filter. */ eth_remove_2tuple_filter_t remove_2tuple_filter; /**< remove 2tuple filter. */ eth_get_2tuple_filter_t get_2tuple_filter; /**< get 2tuple filter. */ @@ -3473,68 +3447,6 @@ int rte_eth_dev_remove_syn_filter(uint8_t port_id); int rte_eth_dev_get_syn_filter(uint8_t port_id, struct rte_syn_filter *filter, uint16_t *rx_queue); -/** - * Add a new ethertype filter rule on an Ethernet device. - * - * @param port_id - * The port identifier of the Ethernet device. - * @param index - * The identifier of ethertype filter. - * @param filter - * The pointer to the structure describing the ethertype filter rule. - * The *rte_ethertype_filter* structure includes the values of the different - * fields to match: ethertype and priority in vlan tag. - * priority in vlan tag is not supported for E1000 dev. - * @param rx_queue - * The index of the RX queue where to store RX packets matching the added - * ethertype filter. - * @return - * - (0) if successful. - * - (-ENOTSUP) if hardware doesn't support ethertype filter. - * - (-ENODEV) if *port_id* invalid. - * - (-EINVAL) if the filter information is not correct. - */ -int rte_eth_dev_add_ethertype_filter(uint8_t port_id, uint16_t index, - struct rte_ethertype_filter *filter, uint16_t rx_queue); - -/** - * remove an ethertype filter rule on an Ethernet device. - * - * @param port_id - * The port identifier of the Ethernet device. - * @param index - * The identifier of ethertype filter. - * @return - * - (0) if successful. - * - (-ENOTSUP) if hardware doesn't support ethertype filter. - * - (-ENODEV) if *port_id* invalid. - * - (-EINVAL) if the filter information is not correct. - */ -int rte_eth_dev_remove_ethertype_filter(uint8_t port_id, - uint16_t index); - -/** - * Get an ethertype filter rule on an Ethernet device. - * - * @param port_id - * The port identifier of the Ethernet device. - * @param index - * The identifier of ethertype filter. - * @param filter - * A pointer to a structure of type *rte_ethertype_filter* to be filled with - * the information of the Ethertype filter. - * @param rx_queue - * A pointer to get the queue index. - * @return - * - (0) if successful. - * - (-ENOTSUP) if hardware doesn't support ethertype filter. - * - (-ENODEV) if *port_id* invalid. - * - (-EINVAL) if the filter information is not correct. - * - (-ENOENT) if no enabled filter in this index. - */ -int rte_eth_dev_get_ethertype_filter(uint8_t port_id, uint16_t index, - struct rte_ethertype_filter *filter, uint16_t *rx_queue); - /** * Add a new 2tuple filter rule on an Ethernet device. *