On 2/14/2022 10:24 PM, Stephen Hemminger wrote:
On Mon, 14 Feb 2022 13:09:19 +0000
Vipul Ashri <vipul.as...@oracle.com> wrote:

PORT 0 supports 16 rx queues and 16 tx queues (driver_name = net_failsafe, 
driver_type = 16)

PORT 0 is polling for link-change, interrupts disabled

[DPDK] tap_flow_create(): Kernel refused TC filter rule creation (17): File 
exists
Looks like secondary process support doesn't work with the flow rules logic.
Maybe after that you are into error paths that may not recover correctly??
Thanks! Stephen for looking at my analysis,

yes some hotplug synchronization issue between eal_intr_thread and primary
thread, but we are able to recover with this patch.

Reason is this fail-safe flow is inside our custom added boot-time polling to update DPDK stats and calling ifindex ioctl to get interface data. Ideally we should not start polling so early. but moreover calling ifindex ioctl is generic functionality and should not break failsafe. We added this patch and gracefully
prevented the so many multiple crashes.

Setup details :
Azure testbed with Accelerated Networking(SRIOV) enabled, failsafe using tap +
mellanox driver.

Warm Regards

Reply via email to