On 10/31/2018 3:06 PM, Thomas Monjalon wrote:
31/10/2018 14:59, Radu Nicolau:
After the patch below the call to rte_eth_bond_8023ad_agg_selection_set
from probe() segfaults; there is no need to call the function, just set
the mode directly.

Fixes: 391797f04208 ("drivers/bus: move driver assignment to end of probing")
It would not segfault if you call rte_eth_dev_probing_finish() at the
real end of the probing function. Then the port will be considered not
valid in rte_eth_bond_8023ad_agg_selection_set().
But we need to set the mode, the call to rte_eth_bond_8023ad_agg_selection_set() assumed before that it will actually succeed, which is not the case anymore. I will look at reverting that patch/fix, it is likely not needed anymore anyway if this patch is applied.
It does not solve your problem but it is more correct.
So I suggest to revert this patch (which was a wrong fix):
        http://git.dpdk.org/dpdk/commit/?id=1620175

Then the issue is to allow configuring a port before the end of probing.
This patch is workarounding the public API which checks port validity.
I think it is a good approach.

In probe() we need to set the mode, and we know that the port is a valid bonding port, so there is no need to check. Any other call bar the ones in probe remain the same.

Reply via email to