RTE_MAX_ETHPORTS : nb_ports;for(inti =0; i < ec->nb_ports; i++) {if(ec->config.link_status.enabled_port_mask & (1<< i)) {structrte_eth_linklink;ec->link_info[i].read_time = cdtime(); rte_eth_link_get_nowait(i, &link);if((link.link_status == ETH_LINK_NA) || ...
所谓“底层数据包”指的是在“运行”于数据链路层的数据包,简单的说就是“以太网帧”,而我们常用的Socket只能发送“运行”在传输层的TCP、UDP等包,这些传输层数据包已经能满足绝大部分需求,但是有些时候还是需要发送底层数据包的(例如SYN扫描),那么如何发送呢?
RTE_MAX_ETHPORTS : nb_ports;for(inti =0; i < ec->nb_ports; i++) {if(ec->config.link_status.enabled_port_mask & (1<< i)) {structrte_eth_linklink;ec->link_info[i].read_time = cdtime(); rte_eth_link_get_nowait(i, &link);if((link.link_status == ETH_LINK_NA) || ...
所谓“底层数据包”指的是在“运行”于数据链路层的数据包,简单的说就是“以太网帧”,而我们常用的Socket只能发送“运行”在传输层的TCP、UDP等包,这些传输层数据包已经能满足绝大部分需求,但是有些时候还是需要发送底层数据包的(例如SYN扫描),那么如何发送呢?
rte_eth_promiscuous_enable(portid); } odp_check_ports_link_status((uint8_t)nb_ports, user_conf->port_mask);return0; } 开发者ID:WoolenWang,项目名称:dpdk-odp,代码行数:42,代码来源:odp_main.c 示例3: kni_config_network_interface
rte_eth_link_get_nowait(i, &link);if(link.link_status)printf("\tPort %d Link Up - speed %u Mbps - %s\n", (uint8_t)i, (unsigned)link.link_speed,(link.link_duplex == ETH_LINK_FULL_DUPLEX) ?("full-duplex") : ("half-duplex\n"));elseprintf("\tPort %d Link Down\n",(...