On Fri, Dec 16, 2016 at 09:50:10PM +0000, Ian Bobbitt wrote: > >Synopsis: Getting errors in the MRT updates files output by OpenBGPD > >Category: user > >Environment: > System : OpenBSD 6.0 > Details : OpenBSD 6.0 (GENERIC.MP) #2319: Tue Jul 26 13:00:43 MDT > 2016 > > [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > > I'm running OpenBGPD against peered with two Juniper routers, dumping > tables and updates from them. Sometimes I get corrupt entries in those > dumps. > > >How-To-Repeat: > I have bgpd configured to dump like this in the peer: > > dump updates in "/var/db/bgp/UPDATES/CTC/%Y/%m/%d/updates.%Y%m%d.%H%M" 900 > > I've included a base64 encoded example dump file at the bottom of > this report. The error is in the 37th packet which has this: > > MRT Header > Timestamp: 1481070978(2016-12-07 00:36:18) > Type: 16(BGP4MP) > Subtype: 4(BGP4MP_MESSAGE_AS4) > Length: 176 > MRT Data Error: Insufficient buffer 57 < 232 > 00 00 4d 46 00 00 00 57 00 00 00 02 20 01 18 e8 > ff 00 00 02 00 00 00 00 00 00 00 01 20 01 18 e8 > 00 03 00 10 80 00 00 00 00 00 01 51 ff ff ff ff > ff ff ff ff ff ff ff ff ff ff ff ff 00 84 02 00 > 00 00 6d 40 01 01 00 40 02 16 02 05 00 00 4d 46 > 00 00 2d 11 00 00 6c 66 00 00 6c 9f 00 00 6c 51 > e5 00 0d 51 e5 00 9b 51 e5 1b 58 90 0e 00 2c 00 > 02 01 20 20 01 18 e8 ff 00 00 02 00 00 00 00 00 > 00 00 01 fe 80 00 00 00 00 00 00 ee 13 db 00 09 > 19 b0 44 00 30 2a 05 d8 80 00 02 ff ff ff ff ff > ff ff ff ff ff ff ff ff ff ff ff 00 c4 02 00 00 > > There are several more errored entries farther down in the file. Entries > before and after seem fine. > > I can fairly reliably trigger it by restarting the sessions with the > routers. The updates that come right after the session establishes > appear to be the worst, but aren't the only ones with problems. > > >Fix:
Fix commited in rev 1.356 of session.c Problem was that not fully read messages made it into the mrt dump. Thanks Ian for providing me with the additional data I needed to track it down. -- :wq Claudio
