Purpose:
Share the known issue and workaround.
Issue is under investigation, please contact your Advantech represent to get last update.
Target Audience:
FWA-3051 users who will run DPDK among any E823-C port in red square and in port to port wiring.
Issue Description:
testpmd showed link status down on both port or either port.
testpmd> show port summary all
Number of available ports: 2
Port MAC Address Name Driver Status Link
0 00:00:00:00:01:00 89:00.0 net_ice down None
1 00:00:00:00:01:01 89:00.1 net_ice down None
In this case, TX and RX would still work if ran traffic tests.
testpmd> show port stats all
######################## NIC statistics for port 0 ########################
RX-packets: 2267795378 RX-missed: 0 RX-bytes: 136067721784
RX-errors: 0
RX-nombuf: 0
TX-packets: 2270213831 TX-errors: 0 TX-bytes: 136212829092
Throughput (since last show)
Rx-pps: 14385293 Rx-bps: 6904940896
Tx-pps: 14400690 Tx-bps: 6912331240
############################################################################
######################## NIC statistics for port 1 ########################
RX-packets: 2270215290 RX-missed: 0 RX-bytes: 136212916568
RX-errors: 0
RX-nombuf: 0
TX-packets: 2267796060 TX-errors: 0 TX-bytes: 136067762768
Throughput (since last show)
Rx-pps: 14400690 Rx-bps: 6912331344
Tx-pps: 14385293 Tx-bps: 6904941024
############################################################################
Workaround:
There is a workaround in ICE PMD, change the “no wait” to “wait_to_complete” mode when ice_interrupt_handler() updates the link status in drivers/net/ice/ice_ethdev.c. Change the value from "0" to "1".
#ifdef ICE_LSE_SPT
if (int_fw_ctl & PFINT_FW_CTL_INTEVENT_M) {
PMD_DRV_LOG(INFO, "FW_CTL: link state change event");
ice_handle_aq_msg(dev);
}
#else
if (oicr & PFINT_OICR_LINK_STAT_CHANGE_M) {
PMD_DRV_LOG(INFO, "OICR: link state change event");
ret = ice_link_update(dev, 1);
if (!ret)
rte_eth_dev_callback_process
(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
}
#endif
Comments
0 comments
Please sign in to leave a comment.