I have found a solution and it can solve the crash issue.

In ip4_sw_interface_add_del which is a callback for interface deletion, we
may set the fib index of the removed interface to 0 (default fib) instead
of ~0.  This behavior is same with interface creation.


Zhang Dongya via lists.fd.io <fortitude.zhang=gmail....@lists.fd.io>
于2022年11月28日周一 19:41写道:

> Hi list,
>
> Recently I encountered a vpp crash with my plugin enabled, after some
> investigation I find it may related with l3 sub interface delete while my
> process node add work to ip4-lookup node.
>
> Intuitively I think it may related to a barrier usage but I tried to fix
> by add some check in my process node to guard the case that l3 sub
> interface is deleted. however the crash still exists.
>
> Finally I think it should be related to a pattern like this:
>
> 1, my process node adds a pkt by using put_frame_to_node to ip4-lookup
> directly, which set the rx interface to the l3 sub interface created before.
> 2, my control plane agent (using govpp) delete the l3 sub interface. (it
> should be handled in vpp api-process node)
> 3, vpp schedule pending nodes. since the rx interface is deleted, vpp
> can't get a valid fib index and there is not check in the following
> ip4_fib_forwarding_lookup, so it crash with abort.
>
> I think vpp may schedule my process node(timeout driven) and api-process
> node one over one, then it will schedule the pending nodes.
>
> Should I add some check in ip4-lookup or there are better way of sending
> pkt in ctrl process not correct ?
>
> Thanks a lot.
>
>
>
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#22251): https://lists.fd.io/g/vpp-dev/message/22251
Mute This Topic: https://lists.fd.io/mt/95307938/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to