Difference between revisions of "Sweetcomb/RPCop"
From fd.io
m (→RPC Operations) |
m (→Openconfig style) |
||
Line 58: | Line 58: | ||
[[File:Openconfig-rpc.png|frameless|Illustrate where data is fetched depending on the RPC used for an Openconfig model.]] | [[File:Openconfig-rpc.png|frameless|Illustrate where data is fetched depending on the RPC used for an Openconfig model.]] | ||
+ | |||
+ | draw.io source can be found [https://github.com/YohanPipereau/drawio_sweetcomb/blob/master/openconfig-rpc.drawio here] | ||
=== IETF without NMDA === | === IETF without NMDA === | ||
=== IETF with NMDA === | === IETF with NMDA === |
Revision as of 13:34, 28 March 2019
Contents
RPC Operations
This page aims at describing which data should be read when a user uses a RPC method on sweetcomb control agent.
Types of data
- Configuration data/desired state: "Configuration data is the set of writable data that is required to transform a system from its initial default state into its current state." RFC6241
- Operational data: "Operational state data is a set of data that has been obtained by the system at runtime and influences the system's behavior similar to configuration data. In contrast to configuration data, operational state is transient and modified by interactions with internal components or other systems via specialized protocols." RFC6244
Original Model of Datastores as described per RFC6241:
+-------------+ +-----------+ | <candidate> | | <startup> | | (ct, rw) |<---+ +--->| (ct, rw) | +-------------+ | | +-----------+ | | | | | +-----------+ | +-------->| <running> |<--------+ | (ct, rw) | +-----------+ | v operational state <--- control plane (cf, ro)
ct = config true; cf = config false rw = read-write; ro = read-only boxes denote datastores
Source: RFC8342
YANG tree architectures
Second, there are three types of organization of YANG trees:
- Openconfig style: 'config' and 'state' containers
- IETF withtout NMDA: 'config' and 'state' top level trees
- IETF with NMDA:
In order to know if your IETF support NMDA, please use YangCatalog.
RPC types
Third, as sweetcomb only supports NETCONF and gNMI, there are 5 RPCs supported:
- gNMI get
- gNMI set
- NETCONF get
- NETCONF get-config
- NETCONF edit-config
Data stores
Fourth, there are many available datastores:
- startup - RFC6241 : Automatically handled by sysrepo and netopeer
- candidate - RFC6241: Automatically handled by sysrepo and netopeer
- running - - RFC6241 : This is when changes are commited to running that VPP is configured
Openconfig style
draw.io source can be found here