| 4201 | } |
| 4202 | |
| 4203 | void |
| 4204 | init_port_config(void) |
| 4205 | { |
| 4206 | portid_t pid; |
| 4207 | struct rte_port *port; |
| 4208 | int ret, i; |
| 4209 | |
| 4210 | RTE_ETH_FOREACH_DEV(pid) { |
| 4211 | port = &ports[pid]; |
| 4212 | |
| 4213 | ret = eth_dev_info_get_print_err(pid, &port->dev_info); |
| 4214 | if (ret != 0) |
| 4215 | return; |
| 4216 | |
| 4217 | if (nb_rxq > 1) { |
| 4218 | port->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; |
| 4219 | port->dev_conf.rx_adv_conf.rss_conf.rss_hf = |
| 4220 | rss_hf & port->dev_info.flow_type_rss_offloads; |
| 4221 | } else { |
| 4222 | port->dev_conf.rx_adv_conf.rss_conf.rss_key = NULL; |
| 4223 | port->dev_conf.rx_adv_conf.rss_conf.rss_hf = 0; |
| 4224 | } |
| 4225 | |
| 4226 | if (port->dcb_flag == 0) { |
| 4227 | if (port->dev_conf.rx_adv_conf.rss_conf.rss_hf != 0) { |
| 4228 | port->dev_conf.rxmode.mq_mode = |
| 4229 | (enum rte_eth_rx_mq_mode) |
| 4230 | (rx_mq_mode & RTE_ETH_MQ_RX_RSS); |
| 4231 | } else { |
| 4232 | port->dev_conf.rxmode.mq_mode = RTE_ETH_MQ_RX_NONE; |
| 4233 | port->dev_conf.rxmode.offloads &= |
| 4234 | ~RTE_ETH_RX_OFFLOAD_RSS_HASH; |
| 4235 | |
| 4236 | for (i = 0; |
| 4237 | i < port->dev_info.nb_rx_queues; |
| 4238 | i++) |
| 4239 | port->rxq[i].conf.offloads &= |
| 4240 | ~RTE_ETH_RX_OFFLOAD_RSS_HASH; |
| 4241 | } |
| 4242 | } |
| 4243 | |
| 4244 | rxtx_port_config(pid); |
| 4245 | |
| 4246 | ret = eth_macaddr_get_print_err(pid, &port->eth_addr); |
| 4247 | if (ret != 0) |
| 4248 | return; |
| 4249 | |
| 4250 | if (lsc_interrupt && (*port->dev_info.dev_flags & RTE_ETH_DEV_INTR_LSC)) |
| 4251 | port->dev_conf.intr_conf.lsc = 1; |
| 4252 | if (rmv_interrupt && (*port->dev_info.dev_flags & RTE_ETH_DEV_INTR_RMV)) |
| 4253 | port->dev_conf.intr_conf.rmv = 1; |
| 4254 | } |
| 4255 | } |
| 4256 | |
| 4257 | void set_port_member_flag(portid_t member_pid) |
| 4258 | { |
no test coverage detected