/* Display the port MAC address. */
struct rte_ether_addr addr;
- rte_eth_macaddr_get(port, &addr);
+ retval = rte_eth_macaddr_get(port, &addr);
+ if (retval != 0) {
+ printf("Failed to get device (port %u) MAC address: %s\n",
+ port, rte_strerror(-retval));
+ return retval;
+ }
+
printf("Port %u MAC: %02" PRIx8 " %02" PRIx8 " %02" PRIx8
" %02" PRIx8 " %02" PRIx8 " %02" PRIx8 "\n",
(unsigned int)port,
static struct option lgopts[] = {
{ "mac-updating", no_argument, 0, 1},
{ "no-mac-updating", no_argument, 0, 0},
- { "core-list", optional_argument, 0, 'l'},
+ { "core-branch-ratio", optional_argument, 0, 'b'},
{ "port-list", optional_argument, 0, 'p'},
- { "branch-ratio", optional_argument, 0, 'b'},
{NULL, 0, 0, 0}
};
argvopt = argv;
ci = get_core_info();
- while ((opt = getopt_long(argc, argvopt, "l:p:q:T:b:",
+ while ((opt = getopt_long(argc, argvopt, "p:q:T:b:",
lgopts, &option_index)) != EOF) {
switch (opt) {
return -1;
}
break;
- case 'l':
+ case 'b':
+ branch_ratio = BRANCH_RATIO_THRESHOLD;
oob_enable = malloc(ci->core_count * sizeof(uint16_t));
if (oob_enable == NULL) {
printf("Error - Unable to allocate memory\n");
}
cnt = parse_set(optarg, oob_enable, ci->core_count);
if (cnt < 0) {
- printf("Invalid core-list - [%s]\n",
+ printf("Invalid core-list section in "
+ "core-branch-ratio matrix - [%s]\n",
optarg);
free(oob_enable);
break;
}
+ cnt = parse_branch_ratio(optarg, &branch_ratio);
+ if (cnt < 0) {
+ printf("Invalid branch-ratio section in "
+ "core-branch-ratio matrix - [%s]\n",
+ optarg);
+ free(oob_enable);
+ break;
+ }
+ if (branch_ratio <= 0.0 || branch_ratio > 100.0) {
+ printf("invalid branch ratio specified\n");
+ return -1;
+ }
for (i = 0; i < ci->core_count; i++) {
if (oob_enable[i]) {
- printf("***Using core %d\n", i);
+ printf("***Using core %d "
+ "with branch ratio %f\n",
+ i, branch_ratio);
ci->cd[i].oob_enabled = 1;
ci->cd[i].global_enabled_cpus = 1;
+ ci->cd[i].branch_ratio_threshold =
+ branch_ratio;
}
}
free(oob_enable);
break;
- case 'b':
- branch_ratio = 0.0;
- if (strlen(optarg))
- branch_ratio = atof(optarg);
- if (branch_ratio <= 0.0) {
- printf("invalid branch ratio specified\n");
- return -1;
- }
- ci->branch_ratio_threshold = branch_ratio;
- printf("***Setting branch ratio to %f\n",
- branch_ratio);
- break;
/* long options */
case 0:
break;
#define MAX_CHECK_TIME 90 /* 9s (90 * 100ms) in total */
uint16_t portid, count, all_ports_up, print_flag = 0;
struct rte_eth_link link;
+ int ret;
printf("\nChecking link status");
fflush(stdout);
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)
"Mbps - %s\n", (uint16_t)portid,
(unsigned int)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",
(uint16_t)portid);
}
}
static int
-run_monitor(__attribute__((unused)) void *arg)
+run_monitor(__rte_unused void *arg)
{
if (channel_monitor_init() < 0) {
printf("Unable to initialize channel monitor\n");
}
static int
-run_core_monitor(__attribute__((unused)) void *arg)
+run_core_monitor(__rte_unused void *arg)
{
if (branch_monitor_init() < 0) {
printf("Unable to initialize core monitor\n");