diff options
| author | anuradhak <anuradhak@cumulusnetworks.com> | 2016-12-02 16:12:35 -0800 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-12-21 20:26:18 -0500 |
| commit | 3e5e42252e269f52dbdbd8c9866cb0c63b5cfcd5 (patch) | |
| tree | 92d077bf848edaabdece8cf403b6f64f221f8583 /pimd/pim_msdp.c | |
| parent | 489e06bbcfaab04d4589fb316c7f3a9c0197ce16 (diff) | |
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 <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_msdp.c')
| -rw-r--r-- | pimd/pim_msdp.c | 1 |
1 files changed, 1 insertions, 0 deletions
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) |
