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

Reply via email to