Skip to content

Raw BMP Parser does not honor peer capbilities when parsing RouteMonitoring messages #202

@ahmadkkhaled

Description

@ahmadkkhaled

Hi folks,

I recently started using bgpkit-parser for a project with the aims of parsing a static dataset of raw bmp messages stored on a file system. After some exploration I came across this function which seems to be the only public function in the crate that supports parsing raw bmp messages

pub fn parse_bmp_msg(data: &mut Bytes) -> Result<BmpMessage, ParserBmpError> {

With further exploration I learned that this function is stateless, i.e. it does not maintain the state of peer capabilities negotiated in the OpenMessage.

At this point it is safe to assume that bgpkit-parser does not actually support accurate parsing of RouteMonitoring messages including RFC 7911: Advertisements of Multiple Paths in BGP (ADD-PATH) as promised in this crate's documentation. Also evident by the hard cording of add_path = false here

let bgp_update = parse_bgp_message(data, false, asn_len)?;

Could you please clarify if my understanding is correct? and if so, could you reflect that in the READMe/Docs?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions