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.
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:
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.