From 3685b0f9b6ada2d1e4efdcac3348785e466daf6e Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Wed, 10 Apr 2024 16:14:40 +0200 Subject: [PATCH] BGP: Fixed corking of RX If cork occurred after some incoming data had been already processed, BGP incorrectly processed them again after uncorking because it forgot to store the actual socket state. Now storing the socket state (done at the end of bgp_rx()) and therefore the bug is fixed. --- proto/bgp/packets.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c index 77f106e22..e63d47b0e 100644 --- a/proto/bgp/packets.c +++ b/proto/bgp/packets.c @@ -3500,7 +3500,7 @@ bgp_rx(sock *sk, uint size) { sk_pause_rx(p->p.loop, sk); BGP_TRACE(D_PACKETS, "Corked"); - return 0; + break; } for(i=0; i<16; i++) if (pkt_start[i] != 0xff) -- 2.47.2