[dpdk-dev] help: ixgbevf can receive but can't xmit packets on X550EM_x_vf
Bill Bonaparte
programme110 at gmail.com
Wed Apr 19 09:55:46 CEST 2017
Hi:
I want to get help from you. I have tried my best, but I still have no
idea about this problem.
I need to use SR-IOV on my environment, when using 82599_vf, it works
fine, but when I ran it on X550EM_x_vf, it can receive packets but cant
xmit packets which means it can't send out from pf and can't catpure the
packets by tcpdump on peer machine.
I have turnoff the spoof checking on the vf. so, it should not be the
source mac mismatch problem.
by the way, to this problem, I found a weird symptom as following:
initially, the vf link is up. and everything seems ok. when I start to
send packets using the vf, the vf link becomes down. by the code debug, I
located the specific code which trigger the link down.
in the xmit function ixgbe_xmit_pkts_vec, it will issue the following
register written after put packets into the tx ring.
IXGBE_PCI_REG_WRITE(txq->tdt_reg_addr, txq->tx_tail);
once this register written, the link check function
ixgbe_check_mac_link_vf will
check that NACK is set, and then set link down subsequently.
the code segments from ixgbe_check_mac_link_vf list here:
/* if the read failed it could just be a mailbox collision, best wait
* until we are called again and don't report an error
*/
if ((ret = mbx->ops.read(hw, &in_msg, 1, 0))) {
DEBUGCHK("ixgbe_read_mbx_vf failed. ret=%d\n", ret);
goto out;
}
if (!(in_msg & IXGBE_VT_MSGTYPE_CTS)) {
/* msg is not CTS and is NACK we must have lost CTS status */
if (in_msg & IXGBE_VT_MSGTYPE_NACK) {
DEBUGCHK("Error: NACK is set\n");
ret_val = -1;
}
goto out;
}
I really need your help.
Appreciate any comments and reply.
More information about the dev
mailing list