git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
examples: add flush after stats printing
[dpdk.git]
/
examples
/
tep_termination
/
main.c
diff --git
a/examples/tep_termination/main.c
b/examples/tep_termination/main.c
index
2707391
..
b9fffca
100644
(file)
--- a/
examples/tep_termination/main.c
+++ b/
examples/tep_termination/main.c
@@
-52,11
+52,6
@@
#define JUMBO_FRAME_MAX_SIZE 0x2600
#define JUMBO_FRAME_MAX_SIZE 0x2600
-/* State of virtio device. */
-#define DEVICE_MAC_LEARNING 0
-#define DEVICE_RX 1
-#define DEVICE_SAFE_REMOVE 2
-
/* Config_core_flag status definitions. */
#define REQUEST_DEV_REMOVAL 1
#define ACK_DEV_REMOVAL 0
/* Config_core_flag status definitions. */
#define REQUEST_DEV_REMOVAL 1
#define ACK_DEV_REMOVAL 0
@@
-71,9
+66,6
@@
#define INVALID_PORT_ID 0xFFFF
#define INVALID_PORT_ID 0xFFFF
-/* Size of buffers used for snprintfs. */
-#define MAX_PRINT_BUFF 6072
-
/* Maximum character device basename size. */
#define MAX_BASENAME_SZ 20
/* Maximum character device basename size. */
#define MAX_BASENAME_SZ 20
@@
-160,7
+152,7
@@
uint16_t ports[RTE_MAX_ETHPORTS];
static unsigned nb_ports; /**< The number of ports specified in command line */
/* ethernet addresses of ports */
static unsigned nb_ports; /**< The number of ports specified in command line */
/* ethernet addresses of ports */
-struct ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
+struct
rte_
ether_addr ports_eth_addr[RTE_MAX_ETHPORTS];
/* heads for the main used and free linked lists for the data path. */
static struct virtio_net_data_ll *ll_root_used;
/* heads for the main used and free linked lists for the data path. */
static struct virtio_net_data_ll *ll_root_used;
@@
-194,7
+186,7
@@
us_vhost_parse_basename(const char *q_arg)
if (strlen(q_arg) >= MAX_BASENAME_SZ)
return -1;
else
if (strlen(q_arg) >= MAX_BASENAME_SZ)
return -1;
else
- s
nprintf((char *)&dev_basename, MAX_BASENAME_SZ, "%s", q_arg
);
+ s
trlcpy((char *)&dev_basename, q_arg, MAX_BASENAME_SZ
);
return 0;
}
return 0;
}
@@
-515,11
+507,10
@@
check_ports_num(unsigned max_nb_ports)
}
for (portid = 0; portid < nb_ports; portid++) {
}
for (portid = 0; portid < nb_ports; portid++) {
- if (
ports[portid] >= max_nb_ports
) {
+ if (
!rte_eth_dev_is_valid_port(ports[portid])
) {
RTE_LOG(INFO, VHOST_PORT,
RTE_LOG(INFO, VHOST_PORT,
- "\nSpecified port ID(%u) exceeds max "
- " system port ID(%u)\n",
- ports[portid], (max_nb_ports - 1));
+ "\nSpecified port ID(%u) is not valid\n",
+ ports[portid]);
ports[portid] = INVALID_PORT_ID;
valid_nb_ports--;
}
ports[portid] = INVALID_PORT_ID;
valid_nb_ports--;
}
@@
-1062,8
+1053,8
@@
static const struct vhost_device_ops virtio_net_device_ops = {
* This is a thread will wake up after a period to print stats if the user has
* enabled them.
*/
* This is a thread will wake up after a period to print stats if the user has
* enabled them.
*/
-static void
-print_stats(
void
)
+static void
*
+print_stats(
__rte_unused void *arg
)
{
struct virtio_net_data_ll *dev_ll;
uint64_t tx_dropped, rx_dropped;
{
struct virtio_net_data_ll *dev_ll;
uint64_t tx_dropped, rx_dropped;
@@
-1119,7
+1110,11
@@
print_stats(void)
dev_ll = dev_ll->next;
}
printf("\n================================================\n");
dev_ll = dev_ll->next;
}
printf("\n================================================\n");
+
+ fflush(stdout);
}
}
+
+ return NULL;
}
/**
}
/**
@@
-1135,7
+1130,6
@@
main(int argc, char *argv[])
uint16_t portid;
uint16_t queue_id;
static pthread_t tid;
uint16_t portid;
uint16_t queue_id;
static pthread_t tid;
- char thread_name[RTE_MAX_THREAD_NAME_LEN];
/* init EAL */
ret = rte_eal_init(argc, argv);
/* init EAL */
ret = rte_eal_init(argc, argv);
@@
-1157,7
+1151,7
@@
main(int argc, char *argv[])
nb_switching_cores = rte_lcore_count()-1;
/* Get the number of physical ports. */
nb_switching_cores = rte_lcore_count()-1;
/* Get the number of physical ports. */
- nb_ports = rte_eth_dev_count();
+ nb_ports = rte_eth_dev_count
_avail
();
/*
* Update the global var NB_PORTS and global array PORTS
/*
* Update the global var NB_PORTS and global array PORTS
@@
-1185,7
+1179,7
@@
main(int argc, char *argv[])
vpool_array[queue_id].pool = mbuf_pool;
/* initialize all ports */
vpool_array[queue_id].pool = mbuf_pool;
/* initialize all ports */
-
for (portid = 0; portid < nb_ports; portid++
) {
+
RTE_ETH_FOREACH_DEV(portid
) {
/* skip ports that are not enabled */
if ((enabled_port_mask & (1 << portid)) == 0) {
RTE_LOG(INFO, VHOST_PORT,
/* skip ports that are not enabled */
if ((enabled_port_mask & (1 << portid)) == 0) {
RTE_LOG(INFO, VHOST_PORT,
@@
-1206,13
+1200,10
@@
main(int argc, char *argv[])
/* Enable stats if the user option is set. */
if (enable_stats) {
/* Enable stats if the user option is set. */
if (enable_stats) {
- ret = pthread_create(&tid, NULL, (void *)print_stats, NULL);
- if (ret != 0)
+ ret = rte_ctrl_thread_create(&tid, "print-stats", NULL,
+ print_stats, NULL);
+ if (ret < 0)
rte_exit(EXIT_FAILURE, "Cannot create print-stats thread\n");
rte_exit(EXIT_FAILURE, "Cannot create print-stats thread\n");
- snprintf(thread_name, RTE_MAX_THREAD_NAME_LEN, "print-stats");
- ret = rte_thread_setname(tid, thread_name);
- if (ret != 0)
- RTE_LOG(DEBUG, VHOST_CONFIG, "Cannot set print-stats name\n");
}
/* Launch all data cores. */
}
/* Launch all data cores. */