bio-routing / bio-rd

bio routing is a project to create a versatile, fast and reliable routing daemon in Golang. bio = BGP + IS-IS + OSPF
Apache License 2.0
283 stars 44 forks source link

Add plumbing for GRP - gRPC Routing Protocol #409

Closed BarbarossaTM closed 1 year ago

BarbarossaTM commented 1 year ago

This adds the first bits and pieces for a gRPC-based Routing Protocol (GRP). It will allow to leverage Bio-Routing as a proxy between classical routing protocols, such as BGP, IS-IS, and OSPF, and a user-defined gRPC service.

This commit contains the new GRP path type definition, the integration into existing route and path structures, as well as stripped down version of the AdjRIBIn and AdjRIBOut routing tables.

This assumes that #410 is merged :)

codecov-commenter commented 1 year ago

Codecov Report

Merging #409 (6688063) into master (5ad5232) will decrease coverage by 0.69%. The diff coverage is 36.45%.

@@            Coverage Diff             @@
##           master     #409      +/-   ##
==========================================
- Coverage   55.23%   54.53%   -0.70%     
==========================================
  Files         146      149       +3     
  Lines        7686     7963     +277     
==========================================
+ Hits         4245     4343      +98     
- Misses       3240     3410     +170     
- Partials      201      210       +9     
Flag Coverage Δ
unittests 54.53% <36.45%> (-0.70%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
route/route.go 87.59% <ø> (ø)
route/grp_path.go 13.46% <13.46%> (ø)
protocols/grp/adjRIBOut/adj_rib_out.go 23.80% <23.80%> (ø)
route/bgp_path.go 49.48% <33.33%> (-0.13%) :arrow_down:
protocols/grp/adjRIBIn/adj_rib_in.go 45.88% <45.88%> (ø)
route/path.go 78.46% <55.93%> (-7.75%) :arrow_down:
route/static.go 69.23% <100.00%> (+4.01%) :arrow_up:
routingtable/filter/actions/set_nexthop_action.go 58.33% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

BarbarossaTM commented 1 year ago

Closing this in favor of smaller PRs