Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial check-in of gribi.v1 #8

Merged
merged 11 commits into from
Apr 23, 2021
Merged

Initial check-in of gribi.v1 #8

merged 11 commits into from
Apr 23, 2021

Conversation

robshakir
Copy link
Contributor

This change imports the initial definition of gRIBI v1.x.x to the repository.

v0.x.x is accessible through using the v0.1.0 tag (which can be managed by using Go modules for such consumers).
v1.x.x represents a set of backwards incompatible changes to be made in the protocol, and expanded functionality.

Particularly, there are a number of larger changes:

  • gRIBI now supports different redundancy modes - where the previous mode supposed that there were multiple masters and the network element refcounts entries that are installed by them, v1.x.x introduces the concept of an elected master, which writes entries.
  • gRIBI supports a mode whereby entries are persisted on the network element until such time as they are to be removed.
  • gRIBI supports a Get RPC to enable reconcilation between the network element and an external controller after reconnecting.
  • Changes are made to the AFT model to support more complex NHG and NH references, and IP-in-IP encap.

Changes to the AFT model are made through patches that are included in this repo. These patches are to be upstreamed
once a stable version of gRIBI 1.x is defined. HEAD is subject to some change until a subsequent release indicating
v1.x.x is defined.

In the development phase, git tags of the form devel-vX.Y.Z will be used to allow users to pin to a specific version.

Akin to P4Runtime, a service name of gribi.v1 (and a repo structured around this model) is used such that if
a v2 is ever required, then different services can be exposed by a network element.

@robshakir robshakir requested a review from a team April 23, 2021 00:10
Copy link
Contributor

@nandanarista nandanarista left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@robshakir robshakir merged commit ce37eb4 into master Apr 23, 2021
@robshakir robshakir deleted the initial-v1 branch April 23, 2021 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants