DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH 2/3] app/test: use ethdev helper functions
Date: Wed, 17 Feb 2016 14:20:16 +0000	[thread overview]
Message-ID: <1455718817-14171-3-git-send-email-ferruh.yigit@intel.com> (raw)
In-Reply-To: <1455718817-14171-1-git-send-email-ferruh.yigit@intel.com>

Use rte_eth_by_port(), rte_eth_private_by_port(),
rte_eth_private_by_dev() helper functions.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 app/test/test_link_bonding.c | 35 +++++++++++++++++-------------
 app/test/virtual_pmd.c       | 51 +++++++++++++++++++-------------------------
 2 files changed, 42 insertions(+), 44 deletions(-)

diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 7cbc289..f2e364b 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -4567,6 +4567,8 @@ test_alb_change_mac_in_reply_sent(void)
 	struct ether_addr bond_mac, client_mac;
 	struct ether_addr *slave_mac1, *slave_mac2;
 
+	struct rte_eth_dev *dev;
+
 	TEST_ASSERT_SUCCESS(
 			initialize_bonded_device_with_slaves(BONDING_MODE_ALB,
 					0, TEST_ALB_SLAVE_COUNT, 1),
@@ -4581,9 +4583,8 @@ test_alb_change_mac_in_reply_sent(void)
 				MAX_PKT_BURST);
 	}
 
-	ether_addr_copy(
-			rte_eth_devices[test_params->bonded_port_id].data->mac_addrs,
-			&bond_mac);
+	dev = rte_eth_by_port(test_params->bonded_port_id);
+	ether_addr_copy(dev->data->mac_addrs, &bond_mac);
 
 	/*
 	 * Generating four packets with different mac and ip addresses and sending
@@ -4629,10 +4630,10 @@ test_alb_change_mac_in_reply_sent(void)
 			ARP_OP_REPLY);
 	rte_eth_tx_burst(test_params->bonded_port_id, 0, &pkt, 1);
 
-	slave_mac1 =
-			rte_eth_devices[test_params->slave_port_ids[0]].data->mac_addrs;
-	slave_mac2 =
-			rte_eth_devices[test_params->slave_port_ids[1]].data->mac_addrs;
+	dev = rte_eth_by_port(test_params->slave_port_ids[0]);
+	slave_mac1 = dev->data->mac_addrs;
+	dev = rte_eth_by_port(test_params->slave_port_ids[1]);
+	slave_mac2 = dev->data->mac_addrs;
 
 	/*
 	 * Checking if packets are properly distributed on bonding ports. Packets
@@ -4681,6 +4682,8 @@ test_alb_reply_from_client(void)
 	struct ether_addr bond_mac, client_mac;
 	struct ether_addr *slave_mac1, *slave_mac2;
 
+	struct rte_eth_dev *dev;
+
 	TEST_ASSERT_SUCCESS(
 			initialize_bonded_device_with_slaves(BONDING_MODE_ALB,
 					0, TEST_ALB_SLAVE_COUNT, 1),
@@ -4694,9 +4697,8 @@ test_alb_reply_from_client(void)
 				MAX_PKT_BURST);
 	}
 
-	ether_addr_copy(
-			rte_eth_devices[test_params->bonded_port_id].data->mac_addrs,
-			&bond_mac);
+	dev = rte_eth_by_port(test_params->bonded_port_id);
+	ether_addr_copy(dev->data->mac_addrs, &bond_mac);
 
 	/*
 	 * Generating four packets with different mac and ip addresses and placing
@@ -4753,8 +4755,10 @@ test_alb_reply_from_client(void)
 	rte_eth_rx_burst(test_params->bonded_port_id, 0, pkts_sent, MAX_PKT_BURST);
 	rte_eth_tx_burst(test_params->bonded_port_id, 0, NULL, 0);
 
-	slave_mac1 = rte_eth_devices[test_params->slave_port_ids[0]].data->mac_addrs;
-	slave_mac2 = rte_eth_devices[test_params->slave_port_ids[1]].data->mac_addrs;
+	dev = rte_eth_by_port(test_params->slave_port_ids[0]);
+	slave_mac1 = dev->data->mac_addrs;
+	dev = rte_eth_by_port(test_params->slave_port_ids[1]);
+	slave_mac2 = dev->data->mac_addrs;
 
 	/*
 	 * Checking if update ARP packets were properly send on slave ports.
@@ -4808,6 +4812,8 @@ test_alb_receive_vlan_reply(void)
 
 	struct ether_addr bond_mac, client_mac;
 
+	struct rte_eth_dev *dev;
+
 	TEST_ASSERT_SUCCESS(
 			initialize_bonded_device_with_slaves(BONDING_MODE_ALB,
 					0, TEST_ALB_SLAVE_COUNT, 1),
@@ -4821,9 +4827,8 @@ test_alb_receive_vlan_reply(void)
 				MAX_PKT_BURST);
 	}
 
-	ether_addr_copy(
-			rte_eth_devices[test_params->bonded_port_id].data->mac_addrs,
-			&bond_mac);
+	dev = rte_eth_by_port(test_params->bonded_port_id);
+	ether_addr_copy(dev->data->mac_addrs, &bond_mac);
 
 	/*
 	 * Generating packet with double VLAN header and placing it in the rx queue.
diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
index a538c8a..b1af805 100644
--- a/app/test/virtual_pmd.c
+++ b/app/test/virtual_pmd.c
@@ -263,8 +263,8 @@ static const struct eth_dev_ops virtual_ethdev_default_dev_ops = {
 void
 virtual_ethdev_start_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	struct virtual_ethdev_private *dev_private = dev->data->dev_private;
+	struct virtual_ethdev_private *dev_private =
+		rte_eth_private_by_port(port_id);
 	struct eth_dev_ops *dev_ops = &dev_private->dev_ops;
 
 	if (success)
@@ -277,8 +277,8 @@ virtual_ethdev_start_fn_set_success(uint8_t port_id, uint8_t success)
 void
 virtual_ethdev_configure_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	struct virtual_ethdev_private *dev_private = dev->data->dev_private;
+	struct virtual_ethdev_private *dev_private =
+		rte_eth_private_by_port(port_id);
 	struct eth_dev_ops *dev_ops = &dev_private->dev_ops;
 
 	if (success)
@@ -290,8 +290,8 @@ virtual_ethdev_configure_fn_set_success(uint8_t port_id, uint8_t success)
 void
 virtual_ethdev_rx_queue_setup_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	struct virtual_ethdev_private *dev_private = dev->data->dev_private;
+	struct virtual_ethdev_private *dev_private =
+		rte_eth_private_by_port(port_id);
 	struct eth_dev_ops *dev_ops = &dev_private->dev_ops;
 
 	if (success)
@@ -303,8 +303,8 @@ virtual_ethdev_rx_queue_setup_fn_set_success(uint8_t port_id, uint8_t success)
 void
 virtual_ethdev_tx_queue_setup_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	struct virtual_ethdev_private *dev_private = dev->data->dev_private;
+	struct virtual_ethdev_private *dev_private =
+		rte_eth_private_by_port(port_id);
 	struct eth_dev_ops *dev_ops = &dev_private->dev_ops;
 
 	if (success)
@@ -316,8 +316,8 @@ virtual_ethdev_tx_queue_setup_fn_set_success(uint8_t port_id, uint8_t success)
 void
 virtual_ethdev_link_update_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	struct virtual_ethdev_private *dev_private = dev->data->dev_private;
+	struct virtual_ethdev_private *dev_private =
+		rte_eth_private_by_port(port_id);
 	struct eth_dev_ops *dev_ops = &dev_private->dev_ops;
 
 	if (success)
@@ -332,15 +332,13 @@ virtual_ethdev_rx_burst_success(void *queue __rte_unused,
 							 struct rte_mbuf **bufs,
 							 uint16_t nb_pkts)
 {
-	struct rte_eth_dev *vrtl_eth_dev;
 	struct virtual_ethdev_queue *pq_map;
 	struct virtual_ethdev_private *dev_private;
 
 	int rx_count, i;
 
 	pq_map = (struct virtual_ethdev_queue *)queue;
-	vrtl_eth_dev = &rte_eth_devices[pq_map->port_id];
-	dev_private = vrtl_eth_dev->data->dev_private;
+	dev_private = rte_eth_private_by_port(pq_map->port_id);
 
 	rx_count = rte_ring_dequeue_burst(dev_private->rx_queue, (void **) bufs,
 			nb_pkts);
@@ -374,7 +372,7 @@ virtual_ethdev_tx_burst_success(void *queue, struct rte_mbuf **bufs,
 
 	int i;
 
-	vrtl_eth_dev = &rte_eth_devices[tx_q->port_id];
+	vrtl_eth_dev = rte_eth_by_port(tx_q->port_id);
 	dev_private = vrtl_eth_dev->data->dev_private;
 
 	if (!vrtl_eth_dev->data->dev_link.link_status)
@@ -397,15 +395,13 @@ static uint16_t
 virtual_ethdev_tx_burst_fail(void *queue, struct rte_mbuf **bufs,
 		uint16_t nb_pkts)
 {
-	struct rte_eth_dev *vrtl_eth_dev = NULL;
 	struct virtual_ethdev_queue *tx_q = NULL;
 	struct virtual_ethdev_private *dev_private = NULL;
 
 	int i;
 
 	tx_q = (struct virtual_ethdev_queue *)queue;
-	vrtl_eth_dev = &rte_eth_devices[tx_q->port_id];
-	dev_private = vrtl_eth_dev->data->dev_private;
+	dev_private = rte_eth_private_by_port(tx_q->port_id);
 
 	if (dev_private->tx_burst_fail_count < nb_pkts) {
 		int successfully_txd = nb_pkts - dev_private->tx_burst_fail_count;
@@ -432,7 +428,7 @@ virtual_ethdev_tx_burst_fail(void *queue, struct rte_mbuf **bufs,
 void
 virtual_ethdev_rx_burst_fn_set_success(uint8_t port_id, uint8_t success)
 {
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct rte_eth_dev *vrtl_eth_dev = rte_eth_by_port(port_id);
 
 	if (success)
 		vrtl_eth_dev->rx_pkt_burst = virtual_ethdev_rx_burst_success;
@@ -445,7 +441,7 @@ void
 virtual_ethdev_tx_burst_fn_set_success(uint8_t port_id, uint8_t success)
 {
 	struct virtual_ethdev_private *dev_private = NULL;
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct rte_eth_dev *vrtl_eth_dev = rte_eth_by_port(port_id);
 
 	dev_private = vrtl_eth_dev->data->dev_private;
 
@@ -461,18 +457,17 @@ void
 virtual_ethdev_tx_burst_fn_set_tx_pkt_fail_count(uint8_t port_id,
 		uint8_t packet_fail_count)
 {
-	struct virtual_ethdev_private *dev_private = NULL;
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct virtual_ethdev_private *dev_private;
 
 
-	dev_private = vrtl_eth_dev->data->dev_private;
+	dev_private = rte_eth_private_by_port(port_id);
 	dev_private->tx_burst_fail_count = packet_fail_count;
 }
 
 void
 virtual_ethdev_set_link_status(uint8_t port_id, uint8_t link_status)
 {
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct rte_eth_dev *vrtl_eth_dev = rte_eth_by_port(port_id);
 
 	vrtl_eth_dev->data->dev_link.link_status = link_status;
 }
@@ -481,7 +476,7 @@ void
 virtual_ethdev_simulate_link_status_interrupt(uint8_t port_id,
 		uint8_t link_status)
 {
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct rte_eth_dev *vrtl_eth_dev = rte_eth_by_port(port_id);
 
 	vrtl_eth_dev->data->dev_link.link_status = link_status;
 
@@ -492,9 +487,8 @@ int
 virtual_ethdev_add_mbufs_to_rx_queue(uint8_t port_id,
 		struct rte_mbuf **pkt_burst, int burst_length)
 {
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
 	struct virtual_ethdev_private *dev_private =
-			vrtl_eth_dev->data->dev_private;
+			rte_eth_private_by_port(port_id);
 
 	return rte_ring_enqueue_burst(dev_private->rx_queue, (void **)pkt_burst,
 			burst_length);
@@ -504,10 +498,9 @@ int
 virtual_ethdev_get_mbufs_from_tx_queue(uint8_t port_id,
 		struct rte_mbuf **pkt_burst, int burst_length)
 {
-	struct virtual_ethdev_private *dev_private;
-	struct rte_eth_dev *vrtl_eth_dev = &rte_eth_devices[port_id];
+	struct virtual_ethdev_private *dev_private =
+			rte_eth_private_by_port(port_id);
 
-	dev_private = vrtl_eth_dev->data->dev_private;
 	return rte_ring_dequeue_burst(dev_private->tx_queue, (void **)pkt_burst,
 		burst_length);
 }
-- 
2.5.0

  parent reply	other threads:[~2016-02-17 14:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-17 14:20 [dpdk-dev] [PATCH 0/3] ethdev: add helper functions to get eth_dev and dev private data Ferruh Yigit
2016-02-17 14:20 ` [dpdk-dev] [PATCH 1/3] " Ferruh Yigit
2016-02-17 14:20 ` Ferruh Yigit [this message]
2016-02-17 14:20 ` [dpdk-dev] [PATCH 3/3] bonding: use ethdev helper functions Ferruh Yigit
2016-03-10  0:00 ` [dpdk-dev] [PATCH 0/3] ethdev: add helper functions to get eth_dev and dev private data Thomas Monjalon
2016-03-10 13:37   ` Ferruh Yigit
2016-06-22 21:47 ` Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1455718817-14171-3-git-send-email-ferruh.yigit@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).