yumapro  20.10-12
YumaPro SDK
libyumapro_agt

NETCONF Server message handler. More...

Collaboration diagram for libyumapro_agt:

Modules

 Agent Profile
 
 Agent Utilities
 
 CLI and .conf File Parameters
 
 Configuration Edit Transactions
 
 Constants and Data Types
 
 Core Agent Functions
 
 Library Mode
 
 Protocols
 
 SIL and SIL-SA Callbacks
 
 Security Features
 YUMA-NACM is obsolete and not supported.
 
 Sessions
 
 Signal Handler
 
 yp-system Library
 

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.