yumapro  20.10-9
YumaPro SDK
libyumapro_agt

NETCONF Server message handler. More...

Collaboration diagram for libyumapro_agt:

Modules

 Agent Profile
 The agent profile is used to store most of the configuration settings.
 
 Agent Utilities
 Contains many general utilities useful for SIL and SIL-SA code to use.
 
 CLI and .conf File Parameters
 CLI utilities to process the CLI parameters at boot-time.
 
 Configuration Edit Transactions
 Configuration editing transaction management.
 
 Constants and Data Types
 Constants and data types used for NETCONF and YANG details.
 
 Core Agent Functions
 Contains Library entry points and handles init and cleanup.
 
 Library Mode
 Handle Library mode if it is configured.
 
 Protocols
 Server Protocol Handlers.
 
 SIL and SIL-SA Callbacks
 Server callbacks to integrate vendor instrumentation into the YANG module processing.
 
 Security Features
 YUMA-NACM is obsolete and not supported.
 
 Sessions
 NCX server sessions allow clients and subsystems to connect to the server.
 
 Signal Handler
 Processess software interrupts from the operating system.
 
 yp-system Library
 The optional yp-system library provides system-wide vendor hooks into the server.
 

Detailed Description

NETCONF Server message handler.

The netconfd server <edit-config> handler registers callbacks with the agt_val module that can be called IN ADDITION to the automated callback, for referential integrity checking, resource reservation, etc.

NCX Write Model

netconfd uses a 3 pass callback model to process <edit-config> PDUs.

Pass 1: Validation : AGT_CB_VALIDATE

The target database is not touched during this phase.

If any errors occur within a value node (within the /config/ container) then that entire value node is considered unusable and it is not applied.

If continue-on-error is requested, then all sibling nodes will be processed if the validation tests all pass.

Pass 2: Apply : AGT_CB_APPLY

On a per-node granularity, an operation is processed only if no errors occurred during the validation phase.

The target database is modified. User callbacks should not emit external PDUs (e.g., BGP changes) until the COMMIT phase. The automated PDU processing will make non-destructive edits during this phase, even if the 'rollback-on-error' error-option is not requested (in order to simplify the code).

If an error-option other than continue-on-error is requested, then any error returned during this phase will cause further 'apply' phase processing to be terminated.

If error-option is 'stop-on-error' then phase 3 is not executed if this phase terminates with an error.

Pass 3-OK: Commit (Positive Outcome) : AGT_CB_COMMIT

The database edits are automatically completed during this phase. The user callbacks must not edit the database – only modify their own data structures, send PDUs, etc.

Pass 3-ERR: Rollback (Negative Outcome) : AGT_CB_ROLLBACK

If rollback-on-error is requested, then this phase will be executed for only the application nodes (and sibling parmsets within the errored application) that have already executed the 'apply' phase.