The situation is this: When Nginx reuses a previous port, it discovers that the port has already been reclaimed by VPP. Importantly, this port reuse by Nginx does not involve establishing a new connection—meaning it does not start with a SYN packet. For example, Nginx may send an ACK packet, but when the packet reaches VPP, the port has already been released, resulting in communication failure. In this scenario, the five-tuple remains identical.
Best regards, Huiliang Guo Guo Huiliang via lists.fd.io <[email protected]> 于2025年11月28日周五 16:42写道: > Is there any possibility that the port deleted by VPP can notify Nginx > through a certain mechanism, so that Nginx will no longer reuse this > deleted port to send data? > > Best regards, > Huiliang Guo > > Florin Coras via lists.fd.io <[email protected]> > 于2025年11月28日周五 04:43写道: > >> Hi, >> >> >> On Nov 26, 2025, at 11:39 PM, Guo Huiliang via lists.fd.io <huiliang.guo= >> [email protected]> wrote: >> >> When I use Nginx as a reverse proxy, Nginx acts as a client and creates a >> TCP connection on a specific port. In VPP's TCP protocol stack, there is >> tcp_handle_cleanups—when the connection times out, it deletes the >> session and the connection. >> >> >> This is the normal path for all connection cleanups. >> >> However, after the connection is deleted, when the Nginx client initiates >> a new connection using the same port again, session_lookup_connection_wt4 >> will >> throw an error stating that the connection cannot be found, resulting in >> communication interruption. How to resolve this issue? >> >> >> If this is a connect port reuse, i.e., src and dst port are reused, it’s >> probably not properly supported today. In fact, I’d expect connect to be >> refused with port in use due to error in transport_alloc_local_endpoint. >> This has been on our todo list for a while. >> >> If however the local port is not reused, this needs more debugging. Maybe >> related to the fib used. >> >> Regards, >> Florin >> >> >> the log as below: >> Nov 27 07:13:57 ubuntu vpp[2224818]: tcp_handle_cleanups:1313: >> opaque_conn_id: 3081261440 >> Nov 27 07:13:57 ubuntu vpp[2224818]: >> session_transport_delete_notify:1201: session index 160 delete, session >> state: 10, opaque_conn_id: 3081261440 >> Nov 27 07:13:57 ubuntu vpp[2224818]: session_delete:284: session index 160 >> delete >> Nov 27 07:13:57 ubuntu vpp[2224818]: session_lookup_del_session:406: >> [Preparing to delete listening connection | Local listening address= >> 172.16.102.211:16143 | Session index=160 | Peer listening address= >> 118.195.243.98:443] >> Nov 27 07:13:59 ubuntu vpp[2224818]: session_lookup_connection_wt4:1023: >> session_lookup_connection_wt4: Listening connection not found (Local >> address: 172.16.102.211:16143, Protocol=0) >> Nov 27 07:13:59 ubuntu vpp[2224818]: session_lookup_connection_wt4:1027: >> session_lookup_connection_wt4: Matching connection not found (Quadruple: >> 172.16.102.211:16143 -> 118.195.243.98:443, Protocol=0, FIB index=1, >> Namespace index=1) >> >> >> Best regards, >> Huiliang Guo >> >> >> >> >> >> >> >> > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#26579): https://lists.fd.io/g/vpp-dev/message/26579 Mute This Topic: https://lists.fd.io/mt/116497693/21656 Group Owner: [email protected] Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
