CAIDA / libparsebgp

Lightweight parser for binary BGP, BMP and MRT routing data
https://bgpstream.caida.org
BSD 2-Clause "Simplified" License
8 stars 8 forks source link

Quagga bug workaround #66

Closed alistairking closed 5 years ago

alistairking commented 5 years ago

When processing some super old (circa 2000) MRT data, I came across some records that libparsebgp (correctly) determined were invalid, but our legacy libbgpdump-based parser could parse them.

After checking the bgpdump code I found that they had some workarounds for a bug in an old version of Quagga that omitted the peer information: https://github.com/CAIDA/bgpstream/blob/master/lib/bgpdump/bgpdump_lib.c#L657 https://github.com/CAIDA/bgpstream/blob/master/lib/bgpdump/bgpdump_lib.c#L741

Example file with this type of broken data: http://data.ris.ripe.net/rrc01/2000.11/updates.20001126.0002.gz