mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-23 02:01:55 +00:00
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.
This commit is contained in:
parent
aee44d1ef0
commit
f4d4f81c7d
@ -3500,7 +3500,7 @@ bgp_rx(sock *sk, uint size)
|
|||||||
{
|
{
|
||||||
sk_pause_rx(p->p.loop, sk);
|
sk_pause_rx(p->p.loop, sk);
|
||||||
BGP_TRACE(D_PACKETS, "Corked");
|
BGP_TRACE(D_PACKETS, "Corked");
|
||||||
return 0;
|
break;
|
||||||
}
|
}
|
||||||
for(i=0; i<16; i++)
|
for(i=0; i<16; i++)
|
||||||
if (pkt_start[i] != 0xff)
|
if (pkt_start[i] != 0xff)
|
||||||
|
Loading…
Reference in New Issue
Block a user