On 5/10/2017 9:41 AM, Gregory Etelson wrote:
> Hello,
>
> My application works with IXGBE VF 17.05-rc4.
> After I shutdown switch port,
> a call for rte_eth_link_get() crashes with SEGFAULT.
> Apparently, ixgbe_dev_link_update() calls for non-existing in VF driver
> ixgbe_get_link_capabilities().
Hi Gregory,
This doesn't looks like because of the ixgbe_get_link_capabilities() but
hw->mac.ops.get_media_type.
Crash happens in line 3802, which has:
hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) {
In that stage "speed == 0" but that is expected.
You already aware of the issue and patch, but as reference, this issue
first reported in:
http://dpdk.org/ml/archives/dev/2017-May/065533.html
and proposed fix is in:
http://dpdk.org/ml/archives/dev/2017-May/065562.html
Thanks,
ferruh
>
> Is there a patch with get_link_capabilities() implementation for IXGBE VF I
> can use ?
> or
> Can I safely disable call for ixgbe_get_link_capabilities() for VF ?
>
> Regards,
> Gregory
>
> #0 0x0000000000000000 in ?? ()
> (gdb) bt
> #0 0x0000000000000000 in ?? ()
> #1 0x0000000000491c36 in ixgbe_dev_link_update (dev=0x751680,
> wait_to_complete=1) at /root/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c:3802
> #2 0x000000000043b753 in rte_eth_link_get (port_id=<value optimized out>,
> eth_link=0x7ffe991fff90) at /root/dpdk/lib/librte_ether/rte_ethdev.c:1306
> (gdb) f 1
> #1 0x0000000000491c36 in ixgbe_dev_link_update (dev=0x751680,
> wait_to_complete=1) at /root/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c:3802
> 3802 hw->mac.ops.get_media_type(hw) ==
> ixgbe_media_type_fiber) {
> (gdb) p speed
> $1 = 0
>
>
> s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw)
> {
> hw->mac.ops.get_link_capabilities = NULL;
>