We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
以下这段代码可以看到,当30秒后dpdk网卡才启动的话netif_port_start函数就会直接返回,导致后续的混杂模式、MTU、flush_fdir都不会执行到,后续网卡link up也不会进行重新配置了,建议是否可以在link up之前就可以进行这些配置,因为这些都是基础网卡配置,即使没有link up也可以进行设置。
// wait the device link up RTE_LOG(INFO, NETIF, "Waiting for %s link up, be patient ...\n", port->name); for (ii = 0; ii < wait_link_up_msecs; ii++) { rte_eth_link_get_nowait(port->id, &link); if (link.link_status) { RTE_LOG(INFO, NETIF, ">> %s: link up - speed %u Mbps - %s\n", port->name, (unsigned)link.link_speed, (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? "full-duplex" : "half-duplex"); break; } rte_delay_ms(1); } if (!link.link_status) { RTE_LOG(ERR, NETIF, "%s: fail to bring up %s\n", func, port->name); return EDPVS_DPDKAPIFAIL; }
port->flag |= NETIF_PORT_FLAG_RUNNING; // enable promicuous mode if configured if (promisc_on) { RTE_LOG(INFO, NETIF, "promiscous mode enabled for device %s\n", port->name); rte_eth_promiscuous_enable(port->id); } ret = rte_eth_dev_set_mtu(port->id, NETIF_JUMBO_FRAME_SIZE); if (ret < 0) { RTE_LOG(ERR, NETIF, "%s: fail to set %s mtu\n", __func__, port->name); } rte_eth_dev_get_mtu(port->id, &port->mtu); /* bonding device's macaddr is updated by its primary device when start, * so we should update its macaddr after start. */ if (port->type == PORT_TYPE_BOND_MASTER) update_bond_macaddr(port); /* add in6_addr multicast address */ /* The MLNX doesn't support rte_eth_dev_set_mc_addr_list ret = idev_add_mcast_init(port); if (ret != EDPVS_OK) { RTE_LOG(WARNING, NETIF, "multicast address add failed for device %s\n", port->name); return ret; } */ /* flush FDIR filters */ ret = fdir_filter_flush(port); if (ret != EDPVS_OK) { RTE_LOG(WARNING, NETIF, "fail to flush FDIR filters for device %s\n", port->name); return ret; }
The text was updated successfully, but these errors were encountered:
No branches or pull requests
以下这段代码可以看到,当30秒后dpdk网卡才启动的话netif_port_start函数就会直接返回,导致后续的混杂模式、MTU、flush_fdir都不会执行到,后续网卡link up也不会进行重新配置了,建议是否可以在link up之前就可以进行这些配置,因为这些都是基础网卡配置,即使没有link up也可以进行设置。
// wait the device link up
RTE_LOG(INFO, NETIF, "Waiting for %s link up, be patient ...\n", port->name);
for (ii = 0; ii < wait_link_up_msecs; ii++) {
rte_eth_link_get_nowait(port->id, &link);
if (link.link_status) {
RTE_LOG(INFO, NETIF, ">> %s: link up - speed %u Mbps - %s\n",
port->name, (unsigned)link.link_speed,
(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?
"full-duplex" : "half-duplex");
break;
}
rte_delay_ms(1);
}
if (!link.link_status) {
RTE_LOG(ERR, NETIF, "%s: fail to bring up %s\n", func, port->name);
return EDPVS_DPDKAPIFAIL;
}
The text was updated successfully, but these errors were encountered: