make bgp send correct notification code/subcode in all cases

Open
#613 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
rust
Domain
networking

Research direction

Start by reading the BGP message parsing code, particularly header parsing and handling of an invalid type after a valid header. Review each identified error condition against the applicable BGP Notification code and subcode. Done means all affected parsing paths send the compliant Notification, including Message Header Error / Connection not synchronized for the example case.

Written by the indexing model from the issue text.

Description

bgp Bug

There are a handful of error conditions in the BGP codebase (particularly in message parsing) which are handled in a sane, yet non-compliant, manner.

For example, if we are parsing a BGP message that has a valid HEADER but an otherwise invalid type field, we do not send a Notification with Message Header Error / Connection not synchronized.
There are a handful of other cases I saw just from visual inspection of the BGP parsing code (even with the MP-BGP work which expands upon this) which need this same treatment (many in the header parsing).

Dominant language
Rust
Stars
94
Forks
6
Avg merge
1d 8h
Merged PRs (30d)
12

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from oxidecomputer/maghemite

All issues in oxidecomputer/maghemite

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.