This PR unifies remote registry and local registry into one structure containing all models directly. Remote and local models are also unified into one structure - knownModel. Handling of some properties (e.g. model name template) still depends on whether the model has a go type or not (it has a go type if the model was registered as a message from compiled .pb.go file, else if it was registered as a dynamicpb.Message it lacks a go type) but this could be eliminated in the future more easily then previously. It also adds proto extension that can be used to embed model specification and name template directly into .proto files. These changes make it possible to register models during vpp-agent startup directly from provided .proto files if desired. Ability of agentctl command to operate with models without go type is improved as well.
This PR unifies remote registry and local registry into one structure containing all models directly. Remote and local models are also unified into one structure -
knownModel
. Handling of some properties (e.g. model name template) still depends on whether the model has a go type or not (it has a go type if the model was registered as a message from compiled.pb.go
file, else if it was registered as adynamicpb.Message
it lacks a go type) but this could be eliminated in the future more easily then previously. It also adds proto extension that can be used to embed model specification and name template directly into.proto
files. These changes make it possible to register models during vpp-agent startup directly from provided.proto
files if desired. Ability ofagentctl
command to operate with models without go type is improved as well.Signed-off-by: Peter Motičák peter.moticak@pantheon.tech