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/vdpa: add statistics show command
[dpdk.git]
/
examples
/
l2fwd
/
main.c
diff --git
a/examples/l2fwd/main.c
b/examples/l2fwd/main.c
index
8d4c539
..
4a41aac
100644
(file)
--- a/
examples/l2fwd/main.c
+++ b/
examples/l2fwd/main.c
@@
-146,6
+146,8
@@
print_stats(void)
total_packets_rx,
total_packets_dropped);
printf("\n====================================================\n");
total_packets_rx,
total_packets_dropped);
printf("\n====================================================\n");
+
+ fflush(stdout);
}
static void
}
static void
@@
-281,7
+283,7
@@
l2fwd_main_loop(void)
}
static int
}
static int
-l2fwd_launch_one_lcore(__
attribute__((unused))
void *dummy)
+l2fwd_launch_one_lcore(__
rte_unused
void *dummy)
{
l2fwd_main_loop();
return 0;
{
l2fwd_main_loop();
return 0;
@@
-449,6
+451,7
@@
check_all_ports_link_status(uint32_t port_mask)
uint16_t portid;
uint8_t count, all_ports_up, print_flag = 0;
struct rte_eth_link link;
uint16_t portid;
uint8_t count, all_ports_up, print_flag = 0;
struct rte_eth_link link;
+ int ret;
printf("\nChecking link status");
fflush(stdout);
printf("\nChecking link status");
fflush(stdout);
@@
-462,7
+465,14
@@
check_all_ports_link_status(uint32_t port_mask)
if ((port_mask & (1 << portid)) == 0)
continue;
memset(&link, 0, sizeof(link));
if ((port_mask & (1 << portid)) == 0)
continue;
memset(&link, 0, sizeof(link));
- rte_eth_link_get_nowait(portid, &link);
+ ret = rte_eth_link_get_nowait(portid, &link);
+ if (ret < 0) {
+ all_ports_up = 0;
+ if (print_flag == 1)
+ printf("Port %u link get failed: %s\n",
+ portid, rte_strerror(-ret));
+ continue;
+ }
/* print link status if flag set */
if (print_flag == 1) {
if (link.link_status)
/* print link status if flag set */
if (print_flag == 1) {
if (link.link_status)
@@
-470,7
+480,7
@@
check_all_ports_link_status(uint32_t port_mask)
"Port%d Link Up. Speed %u Mbps - %s\n",
portid, link.link_speed,
(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
"Port%d Link Up. Speed %u Mbps - %s\n",
portid, link.link_speed,
(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
- ("full-duplex") : ("half-duplex
\n
"));
+ ("full-duplex") : ("half-duplex"));
else
printf("Port %d Link Down\n", portid);
continue;
else
printf("Port %d Link Down\n", portid);
continue;
@@
-657,7
+667,12
@@
main(int argc, char **argv)
"Cannot adjust number of descriptors: err=%d, port=%u\n",
ret, portid);
"Cannot adjust number of descriptors: err=%d, port=%u\n",
ret, portid);
- rte_eth_macaddr_get(portid,&l2fwd_ports_eth_addr[portid]);
+ ret = rte_eth_macaddr_get(portid,
+ &l2fwd_ports_eth_addr[portid]);
+ if (ret < 0)
+ rte_exit(EXIT_FAILURE,
+ "Cannot get MAC address: err=%d, port=%u\n",
+ ret, portid);
/* init one RX queue */
fflush(stdout);
/* init one RX queue */
fflush(stdout);
@@
-700,6
+715,11
@@
main(int argc, char **argv)
"Cannot set error callback for tx buffer on port %u\n",
portid);
"Cannot set error callback for tx buffer on port %u\n",
portid);
+ ret = rte_eth_dev_set_ptypes(portid, RTE_PTYPE_UNKNOWN, NULL,
+ 0);
+ if (ret < 0)
+ printf("Port %u, Failed to disable Ptype parsing\n",
+ portid);
/* Start device */
ret = rte_eth_dev_start(portid);
if (ret < 0)
/* Start device */
ret = rte_eth_dev_start(portid);
if (ret < 0)
@@
-708,7
+728,11
@@
main(int argc, char **argv)
printf("done: \n");
printf("done: \n");
- rte_eth_promiscuous_enable(portid);
+ ret = rte_eth_promiscuous_enable(portid);
+ if (ret != 0)
+ rte_exit(EXIT_FAILURE,
+ "rte_eth_promiscuous_enable:err=%s, port=%u\n",
+ rte_strerror(-ret), portid);
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
portid,
printf("Port %u, MAC address: %02X:%02X:%02X:%02X:%02X:%02X\n\n",
portid,