@@ -685,10 +685,15 @@ show_port(void)
printf("Link get failed (port %u): %s\n",
i, rte_strerror(-ret));
} else {
- printf("\t -- link speed %u duplex %d,"
+ printf("\t -- link speed %u%s duplex %d%s,"
" auto neg %d status %d\n",
link.link_speed,
+ (link.link_speed == UINT32_MAX) ?
+ ("(UNKNOWN)") : (" Mbps"),
link.link_duplex,
+ (link.link_duplex ==
+ ETH_LINK_FULL_DUPLEX) ?
+ ("(full)") : ("(half)"),
link.link_autoneg,
link.link_status);
}
@@ -173,12 +173,14 @@ app_ports_check_link(void)
all_ports_up = 0;
continue;
}
-
- RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
- port,
- link.link_speed / 1000,
- link.link_status ? "UP" : "DOWN");
-
+ if (link.link_speed == UINT32_MAX)
+ RTE_LOG(INFO, USER1, "Port %u (UNKNOWN Gbps) %s\n",
+ port, link.link_status ? "UP" : "DOWN");
+ else
+ RTE_LOG(INFO, USER1, "Port %u (%u Gbps) %s\n",
+ port,
+ link.link_speed / 1000,
+ link.link_status ? "UP" : "DOWN");
if (link.link_status == ETH_LINK_DOWN)
all_ports_up = 0;
}
@@ -577,7 +577,8 @@ port_infos_display(portid_t port_id)
printf("\nmemory allocation on the socket: %u",port->socket_id);
printf("\nLink status: %s\n", (link.link_status) ? ("up") : ("down"));
- printf("Link speed: %u Mbps\n", link.link_speed);
+ printf("Link speed: %u%s\n", link.link_speed,
+ (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") : (" Mbps"));
printf("Link duplex: %s\n", (link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
("full-duplex") : ("half-duplex"));
@@ -722,12 +723,13 @@ port_summary_display(portid_t port_id)
if (ret != 0)
return;
- printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %uMbps\n",
+ printf("%-4d %02X:%02X:%02X:%02X:%02X:%02X %-12s %-14s %-8s %u%s\n",
port_id, mac_addr.addr_bytes[0], mac_addr.addr_bytes[1],
mac_addr.addr_bytes[2], mac_addr.addr_bytes[3],
mac_addr.addr_bytes[4], mac_addr.addr_bytes[5], name,
dev_info.driver_name, (link.link_status) ? ("up") : ("down"),
- link.link_speed);
+ link.link_speed,
+ (link.link_speed == UINT32_MAX) ? ("(UNKNOWN)") : (" Mbps"));
}
void
@@ -3787,7 +3789,7 @@ set_queue_rate_limit(portid_t port_id, uint16_t queue_idx, uint16_t rate)
ret = eth_link_get_nowait_print_err(port_id, &link);
if (ret < 0)
return 1;
- if (rate > link.link_speed) {
+ if (link.link_speed != UINT32_MAX && rate > link.link_speed) {
printf("Invalid rate value:%u bigger than link speed: %u\n",
rate, link.link_speed);
return 1;
@@ -3002,8 +3002,10 @@ check_all_ports_link_status(uint32_t port_mask)
if (print_flag == 1) {
if (link.link_status)
printf(
- "Port%d Link Up. speed %u Mbps- %s\n",
+ "Port%d Link Up. speed %u%s- %s\n",
portid, link.link_speed,
+ (link.link_speed == UINT32_MAX) ?
+ ("(UNKNOWN)") : (" Mbps"),
(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
("full-duplex") : ("half-duplex"));
else
@@ -148,8 +148,10 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask)
if (print_flag == 1) {
if (link.link_status) {
printf(
- "Port%d Link Up. Speed %u Mbps - %s\n",
+ "Port%d Link Up. Speed %u%s - %s\n",
portid, link.link_speed,
+ (link.link_speed == UINT32_MAX) ?
+ ("(UNKNOWN)") : (" Mbps"),
(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
("full-duplex") : ("half-duplex"));
if (link_mbps == 0)