From: anuradhak Date: Sat, 3 Dec 2016 00:12:35 +0000 (-0800) Subject: pimd: reset packet size on tcp connection reset X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~39 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3e5e42252e269f52dbdbd8c9866cb0c63b5cfcd5;p=matthieu%2Ffrr.git pimd: reset packet size on tcp connection reset If we were in the middle of a partial read when the tcp connection is reset we were clearing the buffers but not the packet size. This can be problematic when the connection is re-established. There is no easy way to repro and test this without scale (and a timing pattern that is hard to predict). So this change is mostly untested. Ticket: CM-13852 Signed-off-by: Anuradha Karuppiah --- diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c index c90a7e1e2a..93141f39de 100644 --- a/pimd/pim_msdp.c +++ b/pimd/pim_msdp.c @@ -850,6 +850,7 @@ pim_msdp_peer_stop_tcp_conn(struct pim_msdp_peer *mp, bool chg_state) PIM_MSDP_PEER_WRITE_OFF(mp); /* reset buffers */ + mp->packet_size = 0; if (mp->ibuf) stream_reset(mp->ibuf); if (mp->obuf)