yumapro  24.10-12
YumaPro SDK
Loading...
Searching...
No Matches
agt.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2008 - 2012, Andy Bierman, All Rights Reserved.
3 * Copyright (c) 2012 - 2025, YumaWorks, Inc., All Rights Reserved.
4 *
5 * Unless required by applicable law or agreed to in writing,
6 * software distributed under the License is distributed on an
7 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8 * KIND, either express or implied. See the License for the
9 * specific language governing permissions and limitations
10 * under the License.
11 */
12#ifndef _H_agt
13#define _H_agt
14
15/* FILE: agt.h
16*********************************************************************
17* *
18* P U R P O S E *
19* *
20*********************************************************************/
21
28/*********************************************************************
29* *
30* C H A N G E H I S T O R Y *
31* *
32*********************************************************************
33
34date init comment
35----------------------------------------------------------------------
3604-nov-05 abb Begun
3702-aug-08 abb Convert from NCX typdef to YANG object design
3803-oct-08 abb Convert to YANG only, remove app, parmset,
39 and parm layers in the NETCONF database
40*/
41
42#ifndef _H_agt_not
43#include "agt_not.h"
44#endif
45
46#ifndef _H_help
47#include "help.h"
48#endif
49
50#ifndef _H_log
51#include "log.h"
52#endif
53
54#ifndef _H_ncxtypes
55#include "ncxtypes.h"
56#endif
57
58#ifndef _H_status
59#include "status.h"
60#endif
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66
67/* define a top-level header here here */
68
69
157/* header field defined here, used in rest of library */
158
170/********************************************************************
171* *
172* C O N S T A N T S *
173* *
174*********************************************************************/
175
185#define AGT_NUM_CB (AGT_CB_ROLLBACK+1)
186
188#define AGT_MAX_PORTS 4
189
193#define AGT_DEF_SUBSYS_TIMEOUT 30
194
196#define AGT_DEF_CONF_FILE \
197 (const xmlChar *)"/etc/yumapro/netconfd-pro.conf"
198
200#define AGT_DEF_FACTORY_CONFIG_FILE \
201 (const xmlChar *)"factory-startup-cfg.xml"
202
204#define AGT_DEF_CONF_DIR (const xmlChar *)"/etc/yumapro/netconfd-pro.d"
205
207#define AGT_DEF_FHS_LOG_FILE \
208 (const xmlChar *)"/var/log/netconfd-pro/server.log"
209
211#define AGT_DEF_SYSLIB_FILE (const xmlChar *)"libyp_system.so"
212
214#define AGT_SYSLIB_NAME (const xmlChar *)"yp_system"
215
217#define AGT_DEF_BACKUP_DIR (const xmlChar *)"$HOME/.yumapro/backups"
218
220#define AGT_DEF_BACKUPS_NAME (const xmlChar *)"backups"
221
223#define AGT_DEF_FHS_BACKUP_DIR \
224 (const xmlChar *)"/var/lib/netconfd-pro/backups"
225
227#define AGT_SRID_FHS_BACKUP_DIR \
228 (const xmlChar *)"/var/lib/netconfd-pro/%s/backups"
229
233#define AGT_DEF_DELETE_EMPTY_NP FALSE
234
238#define AGT_DEF_SYSTEM_SORTED FALSE
239
241#define AGT_DEF_LAX_NAMESPACES TRUE
242
244#define AGT_DEF_EVENTLOG_SIZE 1000
245
247#define AGT_DEF_MAX_BURST 10
248
250#define AGT_DEF_HELLO_TIMEOUT 300
251
253#define AGT_DEF_IDLE_TIMEOUT 3600
254
256#define AGT_DEF_LINESIZE 72
257
259#define AGT_DEF_INDENT 1
260
262#define AGT_DEF_MESSAGE_INDENT (-1)
263
265#define AGT_DEF_MAX_SESSIONS 8
266
268#define AGT_DEF_MAX_CLI_SESSIONS 0
269
271#define AGT_DEF_MAX_USER_SESSIONS 0
272
276#define AGT_MAX_USERNAME_LEN 1024
277
281#define AGT_MAX_PER_USER_SESSIONS 1024
282
283
285#define AGT_DEF_YANGAPI_SERVER_URL (const xmlChar *)"http://localhost"
286
288#define AGT_DEF_RESTCONF_SERVER_URL (const xmlChar *)"http://localhost"
289
291#define AGT_DEF_SAVE_OWNERS FALSE
292
294#define AGT_DEF_JSON_LEAF_LIST_1LINE FALSE
295
297#define AGT_DEF_SAVE_CONFIG_SYSTEM FALSE
298
300#define AGT_DEF_WITH_CONFIG_ID TRUE
301
303#define AGT_DEF_WITH_FSYNC FALSE
304
306#define AGT_DEF_WITH_OCPATTERN FALSE
307
309#define AGT_DEF_NO_NVSTORE FALSE
310
312#define AGT_DEF_WITH_CALLHOME FALSE
313
315#define AGT_DEF_WITH_SCHEMA_MOUNT TRUE
316
318#define AGT_DEF_CALLHOME_RETRY_INT 60
319
321#define AGT_DEF_CALLHOME_RETRY_MAX 10
322
324#define AGT_DEF_CALLHOME_PORT NCX_DEF_SSH_CALLHOME
325
327#define AGT_DEF_CALLHOME_TLS_PORT NCX_DEF_TLS_CALLHOME
328
330#define AGT_DEF_CALLHOME_RESTCONF_TLS_PORT NCX_DEF_RESTCONF_TLS_CALLHOME
331
333#define AGT_YUMAWORKS_CALLHOME_MODULE (const xmlChar *)"yumaworks-callhome"
334
336#define AGT_YUMAWORKS_CALLHOME_REVISION (const xmlChar *)"2020-10-17"
337#define AGT_DEF_FILELOC_FHS FALSE
338
340#define AGT_DEF_NO_AUDIT_LOG FALSE
341
346#define AGT_DEF_CRYPT_HASH_PREFIX (const xmlChar *)"$6$"
347
349#define AGT_DEF_MIN_PASSWD_LEN 8
350
352#define AGT_DEF_HA_ENABLED FALSE
353
355#define AGT_DEF_HA_SIL_STANDBY FALSE
356
358#define AGT_DEF_HA_PORT 8088
359
361#define AGT_DEF_HA_STANDBY_MODE AGT_HA_MODE_HOT_STANDBY
362
364#define AGT_DEF_YPCOAP_PORT 5683
365
367#define AGT_DEF_YPCOAP_DTLS_PORT 5684
368
370#define AGT_DEF_YPCOAP_ADDRESS (const xmlChar *)"0.0.0.0"
371
373#define AGT_DEF_RESTCONF_DEFAULT_ENCODING NCX_MSG_ENCODING_JSON
374
376#define AGT_DEF_TLS_PORT 6513
377
379#define AGT_DEF_DB_LOCK_RETRY 500 // mSec
380
382#define AGT_DEF_DB_LOCK_TIMEOUT 20 // Sec
383
385#define AGT_DEF_WITH_YUMAWORKS_CONFIG_CHANGE FALSE
386
388#define AGT_DEF_WITH_YUMAWORKS_CALLHOME TRUE
389
391#define AGT_DEF_WITH_YUMAWORKS_EVENT_STREAM TRUE
392
394#define AGT_DEF_WITH_NMDA FALSE
395
397#define AGT_DEF_STARTUP_SKIP_VALIDATION FALSE
398
400#define AGT_DEF_RETURN_STATUS FALSE
401
405#define AGT_DEF_WAIT_DATASTORE_READY FALSE
406
408#define AGT_DEF_YANG_SID_MODE NCX_YANG_SID_MODE_SID_FILE
409
411#define AGT_DEF_WITH_YANG_CBOR FALSE
412
416#define AGT_DEF_SILCALL_DELETE_FIRST TRUE
417
422#define AGT_DEF_XPATH_DBLSLASH_OK FALSE
423
425#define AGT_DEF_SIL_CC_CALLBACK_ALL FALSE
426
428#define AGT_DEF_DISABLED_PROTOCOLS EMPTY_STRING
429
431#define AGT_SELECT_TIMEOUT_SEC 0
432
435#define AGT_SELECT_TIMEOUT_USEC 10000
436
438#define AGT_USER_VAR (const xmlChar *)"user"
439
441#define AGT_URL_SCHEME_LIST (const xmlChar *)"file"
442
444#define AGT_URL_SCHEME_LIST_TFTP (const xmlChar *)"file,tftp"
445
447#define AGT_FILE_SCHEME (const xmlChar *)"file:///"
448
450#define AGT_TOASTER_MOD (const xmlChar *)"toaster"
451
453#define AGT_TEST_MOD (const xmlChar *)"test"
454
456#define AGT_SIL_SA (const xmlChar *)"sil-sa"
457
459#define AGT_DB_API (const xmlChar *)"db-api"
460
462#define AGT_YP_HA (const xmlChar *)"yp-ha"
463
465#define AGT_YP_GNMI (const xmlChar *)"yp-gnmi"
466
468#define AGT_YP_GRPC (const xmlChar *)"yp-grpc"
469
471#define AGT_YCONTROL_MOD (const xmlChar *)"yumaworks-ycontrol"
472
474#define AGT_DB_API_MOD (const xmlChar *)"yumaworks-db-api"
475
477#define AGT_SIL_SA_MOD (const xmlChar *)"yumaworks-sil-sa"
478
480#define AGT_PROFILE_MOD (const xmlChar *)"yumaworks-agt-profile"
481
483#define AGT_ACTION_MOD (const xmlChar *)"yang-attributes"
484
486#define AGT_YP_HA_MOD (const xmlChar *)"yumaworks-yp-ha"
487
489#define AGT_TEMPLATES_MOD (const xmlChar *)"yumaworks-templates"
490
492#define AGT_LOCK_MOD (const xmlChar *)"yumaworks-lock"
493
495#define AGT_YP_GNMI_MOD (const xmlChar *)"yumaworks-yp-gnmi"
496
498#define AGT_YP_GRPC_MOD (const xmlChar *)"yumaworks-yp-grpc"
499
501#define AGT_YP_SCHEMA_MOUNT_MOD (const xmlChar *)"yumaworks-schema-mount"
502
504#define AGT_YP_SM_YANGLIB_MOD (const xmlChar *)"yumaworks-sm-yanglib"
505
507#define AGT_DEF_SERVER_ID (const xmlChar *)"server1"
508
510#define AGT_WITHDEF_MOD (const xmlChar *)"ietf-netconf-with-defaults"
511
512
516#define AGT_TEST_FL_MIN_ELEMS bit0
517
519#define AGT_TEST_FL_MAX_ELEMS bit1
520
522#define AGT_TEST_FL_MANDATORY bit2
523
525#define AGT_TEST_FL_MUST bit3
526
528#define AGT_TEST_FL_UNIQUE bit4
529
531#define AGT_TEST_FL_XPATH_TYPE bit5
532
534#define AGT_TEST_FL_CHOICE bit6
535
537#define AGT_TEST_FL_WHEN bit7
538
540#define AGT_TEST_ALL_COMMIT_MASK (bit0|bit1|bit2|bit3|bit4|bit5|bit6)
541
543#define AGT_TEST_INSTANCE_MASK (bit0|bit1|bit2|bit4|bit6)
544
546#define AGT_CLI_NOSTARTUP (const xmlChar *)"no-startup"
547
549#define AGT_CLI_STARTUP (const xmlChar *)"startup"
550
552#define AGT_CLI_FACTORY_STARTUP (const xmlChar *)"factory-startup"
553
555#define AGT_CLI_STARTUP_FACTORY_FILE (const xmlChar *)"startup-factory-file"
556
558#define AGT_EVAL_REQUEST_LIMIT 500
559
563#define AGT_MAX_OWNER_ID 255
564
566#define AGT_WATCHER (const xmlChar *)"ypwatcher"
567
569#define AGT_DEF_WAT_INTERVAL 10
570
572#define AGT_DEF_SSHD_COMMAND (const xmlChar *)"/usr/sbin/sshd"
573
575#define AGT_DEF_SUBSYS_COMMAND \
576 (const xmlChar *)"/usr/sbin/netconf-subsystem-pro"
577
579#define AGT_DEF_SNMP_SUBAGENT_PRIO 127
580
581/* flags for the agt_auditlog_events mask from
582 * --audit-log-events CLI parameter.
583 * edit-candidate events are generated when an edit
584* to <candidate> is completed.
585 */
586#define AGT_FL_AUDIT_EDIT_CANDIDATE bit0
587
591#define AGT_FL_AUDIT_EDIT_RUNNING bit1
592
596#define AGT_FL_AUDIT_UPDATE_STARTUP bit2
597
599#define AGT_FL_AUDIT_CLIENT_SESSION bit3
600
602#define AGT_FL_AUDIT_CONTROL_SESSION bit4
603
605#define AGT_FL_AUDIT_NACM_WRITE_ERROR bit5
606
608#define AGT_FL_AUDIT_NACM_EXEC_ERROR bit6
609
611#define AGT_FL_AUDIT_RPC_SUMMARY bit7
612
614#define AGT_FL_AUDIT_EDIT_DATA bit8
615
617#define AGT_FL_AUDIT_RPC_ERROR bit9
618
622#define AGT_FL_AUDIT_RPC_REQUEST bit10
623
624
625
627#define AGT_DEF_AUDIT_EVENTS AGT_FL_AUDIT_EDIT_RUNNING
628
630#define AGT_DEF_CRL_MISSING_OK false
631
633#define AGT_DEF_CRL_MODE AGT_CRL_MODE_OFF
634
636#define AGT_DEF_CVT_SUBTREE_FILTER false
637
641#define AGT_DEF_PUSH_MIN_PERIOD 100
642
644#define AGT_DEF_PUSH_MIN_DAMPENING 100
645
647#define AGT_DEF_PUSH_MAX_PERIODIC 16
648
650#define AGT_DEF_PUSH_MAX_OPERATIONAL 4
651
653#define AGT_DEF_PUSH_SIMOP_ENABLED true
654
656#define AGT_DEF_PUSH_SIMOP_PERIOD 500
657
659#define AGT_DEF_PUSH_SIMOP_PATCH_UPDATE true
660
662#define AGT_NON_NMDA_YANGLIB_REV (const xmlChar *)"2016-06-21"
663
665#define AGT_NMDA_YANGLIB_REV (const xmlChar *)"2019-01-04"
666
668#define AGT_SIL_SA_MODULE (const xmlChar *)"yumaworks-sil-sa"
669
673#define AGT_DEF_TLS_DEPRECATED_OK false
674
676#define AGT_DEF_TLS_DH_ENABLED true
677
683#define AGT_DEF_CLIENT_USERNAME (const xmlChar *)"admin"
684
686#define AGT_DEF_SAVE_CONFIG_TEMPNAME true
687
689#define AGT_SAVE_CONFIG_TEMPNAME_EXT (const xmlChar *)".temp"
690
695#define AGT_DEF_RETURN_EMPTY_NPCONTAINERS TRUE
696
702#define AGT_DEF_MAX_DBLSLASH_MATCHES 25
703
704
717#define AGT_DEF_MAX_NODES_PER_UPDATE 10000
718
720#define AGT_DEF_AUTO_DISCARD_ON_LOCK_TIMEOUT TRUE
721
722
723/********************************************************************
724* *
725* T Y P E S *
726* *
727*********************************************************************/
728
730typedef enum agt_acmode_t_ {
737
738
746typedef enum agt_cbtyp_t_ {
752
753
755typedef enum agt_acm_model_t_ {
761
762
764typedef enum agt_transaction_model_t_ {
769
770
772typedef enum agt_commit_type_t_ {
777
778
780typedef enum agt_exit_mode_t_ {
787
788
790typedef enum agt_tx_type_t_ {
797
798
800typedef enum agt_ccparm_t_ {
807
808
810typedef enum agt_ha_role_t_ {
816
817
819typedef enum agt_ch_proto_t_ {
825
826
828typedef enum agt_crl_mode_t_ {
834
835
837typedef enum agt_hook_type_t_ {
843
844
848typedef struct agt_replay_subsys_t_ {
849 dlq_hdr_t qhdr;
850 xmlChar *subsys_id;
852
853
857typedef struct agt_maxuser_t_ {
858 dlq_hdr_t qhdr;
859 xmlChar *username;
862
863
864
865
899typedef struct agt_profile_t_ {
904
907
910
913
916
919
922
925
928
931
934
937
939 boolean agt_startup_error; /* T: stop, F: check fallback */
940
942 boolean agt_running_error; /* T: stop, F: check fallback */
943
946
949
952
955
958
961
970
973
976
979
982
985
987 const xmlChar *agt_accesscontrol;
988
990 const xmlChar *agt_conffile;
991
993 const xmlChar *agt_confdir;
994
996 const xmlChar *agt_logfile;
997
999 const xmlChar *agt_startup;
1000
1003
1005 const xmlChar *agt_defaultStyle;
1006
1011 //const xmlChar *agt_superuser;
1012
1014 const xmlChar *agt_extern_libspec;
1015
1017 const xmlChar *agt_backup_dir;
1018
1022 const xmlChar *agt_server_id;
1023
1030 const xmlChar *agt_server_root;
1031
1034
1037
1040
1043
1046
1049
1052
1055
1057 boolean agt_useurl;
1058
1061
1064
1067
1070
1073
1076
1079
1082
1085
1088
1091
1094
1097
1100
1103
1106
1108 uint16 agt_ports[AGT_MAX_PORTS];
1109
1112
1115
1117 const xmlChar *agt_coap_address;
1118
1121
1124
1127
1130
1133
1136
1139
1142
1148
1151
1159
1162
1165
1168
1171
1174
1177
1184
1187
1190
1198
1209
1215
1222
1228
1233
1238
1247
1253
1256
1264
1267
1270
1273
1276
1279
1282
1287
1290
1293
1296
1299
1302
1305
1308
1310 const xmlChar *agt_ha_server_key;
1311
1314
1315 // leaf-list ha-server not stored here; not sent to subsys
1316
1319
1324
1327
1328 /* TBD: add this data to subsystems in the near future */
1329
1334
1340
1346
1358
1362 boolean agt_with_yang11_hello; /* d: false */
1363
1370
1375
1381
1382 /* the callhome-server parameter is handled by agt_callhome */
1383
1388 const xmlChar *agt_sshd_path;
1389
1394 const xmlChar *agt_subsys_path;
1395
1400 const xmlChar *agt_sshd_config;
1401
1402
1409
1412
1415
1418
1420 boolean agt_startup_fallback; /* T: restart, F: continue */
1421
1423 boolean agt_running_fallback; /* T: restart, F: continue */
1424
1425
1426 /* the SNMP agent parameters */
1427
1430
1433
1438
1445
1448
1451
1454
1456 const xmlChar *agt_netconf_tls_key;
1457
1460
1463
1466
1469
1471 const xmlChar *agt_errmsg_lang;
1472
1475
1480
1483
1486
1489
1492
1495
1500
1503
1506
1512
1518
1521
1524
1531
1534
1537
1540
1543
1546
1549
1552
1555
1558
1561
1564
1567
1570
1573
1576
1578 uint16 agt_push_min_period; // centiseconds
1579
1581 uint16 agt_push_min_dampening; // centiseconds
1582
1584 uint32 agt_push_max_periodic; // count
1585
1588
1591
1594
1597
1603
1606
1609
1612
1617
1625 const xmlChar *agt_sm_config;
1626
1631
1632
1637
1640
1650
1656
1663 const xmlChar *agt_tls_cipherlist;
1664
1667
1672
1675
1678
1681
1684
1689
1690 /* YPW-2000
1691 * Enable use of a temp file while saving config files such
1692 * as startup-cfg.xml or backup-cfg.xml
1693 * The file is renamed to the provided filespec after
1694 * it is written; If no rename because crash then restart will
1695 * not find real xml file; No CLI to disable
1696 */
1697 boolean agt_save_config_tempname;
1698
1703
1709
1712
1720
1722 const xmlChar *agt_user_parm;
1723
1732
1735
1744
1751
1757
1764
1772
1779
1790
1793 boolean agt_sil_skip_global_edit_apply;
1794
1795
1796 /****** state variables; TBD: move out of profile ******/
1797
1800
1803
1806
1809
1812
1815
1818
1821
1823 dlq_hdr_t agt_savedevQ;
1824
1827
1830
1833
1836
1839 boolean agt_confdir_skipped;
1840
1843
1846
1853
1856
1859
1862
1865
1868
1871
1872 /* TBD: --auto-discard-on-lock-timeout=true */
1877
1879
1880
1884/******************* External System Callbacks ***********************/
1885
1900 (agt_profile_t *profile);
1901
1902
1916 (boolean pre_cli);
1917
1918
1933 (boolean pre_load);
1934
1935
1941typedef void (*agt_system_cleanup_fn_t) (void);
1942
1943
1955 (ncx_display_mode_t encoding,
1956 const xmlChar *filespec);
1957
1958
1975 (ncx_display_mode_t *encoding,
1976 xmlChar **filespec);
1977
1978
1982typedef struct agt_syslib_cb_t_ {
1984 dlq_hdr_t qhdr;
1985
1987 void *handle;
1988
1990 xmlChar *libspec;
1991
1994
1997
2000
2003
2006
2009
2013
2014
2016typedef struct agt_edit_parms_cb_t_ {
2017
2018
2019 /**** state data used for the edit transaction ****/
2020 yang_patch_cb_t *pcb;
2021
2023
2024
2034typedef void (*agt_replay_fn_t) (boolean is_start);
2035
2036
2040/********************************************************************
2041* *
2042* F U N C T I O N S *
2043* *
2044*********************************************************************/
2045
2046
2070extern status_t
2071 agt_init1 (int argc,
2072 char *argv[],
2073 boolean *showver,
2074 help_mode_t *showhelpmode);
2075
2076
2090extern status_t
2091 agt_init1_ex (int argc,
2092 char *argv[],
2093 boolean factory_restart,
2094 boolean *showver,
2095 help_mode_t *showhelpmode);
2096
2097
2105extern status_t
2106 agt_init1_sil_sa (void);
2107
2108
2123extern status_t
2124 agt_init1_ypserver (int argc,
2125 char *argv[],
2126 boolean factory_restart,
2127 boolean *showver,
2128 help_mode_t *showhelpmode);
2129
2130
2143extern status_t
2144 agt_init2 (void);
2145
2146
2160extern status_t
2161 agt_init2_ex (boolean factory_restart);
2162
2163
2169extern status_t
2170 agt_init2_sil_sa (void);
2171
2172
2179extern void
2180 agt_cleanup (void);
2181
2182
2189extern void
2190 agt_cleanup_sil_sa (void);
2191
2192
2200extern agt_profile_t *
2201 agt_get_profile (void);
2202
2203
2211extern void
2213 int intnum);
2214
2215
2221extern boolean
2223
2224
2230extern ncx_shutdowntyp_t
2232
2233
2240extern int
2242
2243
2250extern const xmlChar *
2252
2253
2263extern boolean
2264 agt_advertise_module_needed (const xmlChar *modname);
2265
2266
2275extern void agt_request_replay (void);
2276
2277
2287extern void agt_request_replay_ex (void *cookie);
2288
2289
2295extern void * agt_get_replay_cookie (void);
2296
2297
2308extern void
2309 agt_request_replay_subsys (const xmlChar *subsys_id);
2310
2311
2317extern boolean agt_replay_requested (void);
2318
2319
2325extern void agt_start_replay (void);
2326
2327
2333extern void agt_finish_replay (void);
2334
2335
2344extern status_t
2346 agt_nvsave_fn_t store_fn);
2347
2348
2359extern status_t
2361 const xmlChar *filespec);
2362
2363
2375extern status_t
2376 agt_add_allowed_user (const xmlChar *username);
2377
2378
2385extern void
2386 agt_remove_allowed_user (const xmlChar *username);
2387
2388
2395extern status_t
2396 agt_check_allowed_user (const xmlChar *username);
2397
2398
2399
2408extern status_t
2409 agt_add_superuser (const xmlChar *username);
2410
2411
2418extern void
2419 agt_remove_superuser (const xmlChar *username);
2420
2421
2428extern status_t
2429 agt_check_superuser (const xmlChar *username);
2430
2431
2437extern void
2439
2440
2446extern const xmlChar *
2447 agt_get_server_id (void);
2448
2449
2456extern const xmlChar *
2457 agt_get_server_root (void);
2458
2459
2465extern const xmlChar *
2466 agt_get_server_key (void);
2467
2468
2474extern boolean
2475 agt_is_sil_sa (void);
2476
2477
2483extern dlq_hdr_t *
2484 agt_get_savedevQ (void);
2485
2486
2493extern boolean
2494 agt_replay_subsys_is_active (const xmlChar *subsys_id);
2495
2496
2503extern boolean
2505
2506
2513extern const xmlChar *
2515
2516
2523extern agt_ha_role_t
2524 agt_ha_role_enum (const xmlChar *ha_role);
2525
2526
2533extern boolean
2534 agt_use_notifications (void);
2535
2536
2544extern status_t
2546
2547
2556extern boolean
2557 agt_init2_done (void);
2558
2559
2566extern boolean
2567 agt_init2_load_done (void);
2568
2569
2581extern boolean
2583
2584
2591extern void
2592 agt_set_factory_restart (void);
2593
2594
2604extern boolean
2606
2607
2614extern status_t
2616
2617
2624extern ncx_modcache_t *
2625 agt_find_modcache (const xmlChar *modname);
2626
2627
2634extern status_t
2635 agt_run_extloop (void);
2636
2637
2645extern status_t
2646 agt_enter_maintenance_mode (boolean read_ok,
2647 boolean operation_ok);
2648
2649
2655extern status_t
2657
2658
2664extern boolean
2666
2667
2675extern boolean
2677
2678
2686extern boolean
2688
2689
2695extern boolean
2697
2698
2704extern void
2705 agt_set_eventlog_size (uint32 eventlog_size);
2706
2707
2713extern void
2714 agt_set_max_burst (uint32 max_burst);
2715
2716
2723extern void
2724 agt_set_max_getbulk (uint32 max_getbulk);
2725
2726
2734extern agt_not_msg_t *
2735 agt_make_term_msg (const xmlChar *msg,
2736 status_t *res);
2737
2738
2744extern status_t
2746
2747
2753extern boolean
2754 agt_use_nmda (void);
2755
2756
2762extern boolean
2763 agt_use_new_yanglib (void);
2764
2765
2772extern boolean
2774
2775
2781extern boolean
2782 agt_use_yang_cbor (void);
2783
2784
2790extern const char *
2792
2793
2799extern const xmlChar *
2800 agt_get_user_parm (void);
2801
2802
2809extern status_t
2810 agt_add_maxuser_parm (const xmlChar *cliparm);
2811
2812
2813
2824 agt_get_maxuser_parm (const xmlChar *username,
2825 uint16 *retval);
2826
2827
2836extern boolean agt_protocol_enabled (const xmlChar *proto);
2837
2838
2849extern status_t agt_enable_protocol (const xmlChar *proto);
2850
2851
2862extern status_t agt_disable_protocol (const xmlChar *proto);
2863
2864
2872extern boolean
2874
2875
2879#ifdef __cplusplus
2880} /* end extern 'C' */
2881#endif
2882
2883#endif /* _H_agt */
NETCONF Notifications DM module support.
agt_exit_mode_t
exit reasons for YControl IO loop
Definition: agt.h:780
status_t(* agt_system_init2_fn_t)(boolean pre_load)
system init2 callback
Definition: agt.h:1933
agt_commit_type_t
NETCONF commit types.
Definition: agt.h:772
status_t(* agt_nvload_fn_t)(ncx_display_mode_t *encoding, xmlChar **filespec)
nvload callback
Definition: agt.h:1975
void(* agt_system_cleanup_fn_t)(void)
system cleanup callback
Definition: agt.h:1941
agt_hook_type_t
Hook types enumeration to specify Hook type.
Definition: agt.h:837
void(* agt_replay_fn_t)(boolean is_start)
replay callback (agt_replay_fn_t)
Definition: agt.h:2034
agt_transaction_model_t
not used yet in YANG-API or NETCONF!
Definition: agt.h:764
agt_ccparm_t
confirmed-commit parms
Definition: agt.h:800
status_t(* agt_system_init1_fn_t)(boolean pre_cli)
system init1 callback
Definition: agt.h:1916
agt_ch_proto_t
server callhome protocol
Definition: agt.h:819
status_t(* agt_nvsave_fn_t)(ncx_display_mode_t encoding, const xmlChar *filespec)
brief nvsave callback
Definition: agt.h:1955
agt_acmode_t
matches access-control enumeration in netconfd.yang
Definition: agt.h:730
agt_crl_mode_t
server TLS CRL mode
Definition: agt.h:828
agt_acm_model_t
select the YANG module for the access control model
Definition: agt.h:755
agt_tx_type_t
YControl transaction type.
Definition: agt.h:790
agt_ha_role_t
server HA mode mode
Definition: agt.h:810
#define AGT_MAX_PORTS
maximum number of "--port" leaf-list values that will be saved
Definition: agt.h:188
agt_cbtyp_t
enumeration of the different server EDIT callback types These are used as array indices so there is n...
Definition: agt.h:746
void(* agt_system_init_profile_fn_t)(agt_profile_t *profile)
system init server profile callback
Definition: agt.h:1900
@ AGT_EXIT_MODE_NONE
this value is used
Definition: agt.h:781
@ AGT_EXIT_MODE_ERROR
exit loop with error
Definition: agt.h:783
@ AGT_EXIT_MODE_TIMEOUT
exit loop with timeout
Definition: agt.h:784
@ AGT_EXIT_MODE_OK
exit loop with OK
Definition: agt.h:782
@ AGT_EXIT_MODE_DROPPED
exit loop with session dropped
Definition: agt.h:785
@ AGT_COMMIT_TYPE_NORMAL
normal client operation
Definition: agt.h:774
@ AGT_COMMIT_TYPE_REPLAY
internal replay commit
Definition: agt.h:775
@ AGT_COMMIT_TYPE_NONE
not set
Definition: agt.h:773
@ AGT_HOOK_TYPE_SETHOOK
Set-Hook.
Definition: agt.h:839
@ AGT_HOOK_TYPE_NONE
not set
Definition: agt.h:838
@ AGT_HOOK_TYPE_TRANSACTION
Transaction Hook.
Definition: agt.h:840
@ AGT_HOOK_TYPE_POST_SETHOOK
Post Set-Hook.
Definition: agt.h:841
@ AGT_TM_PRIVATE
private transactions
Definition: agt.h:767
@ AGT_TM_SHARED
shared transactions (only value supported)
Definition: agt.h:766
@ AGT_TM_NONE
this value is used
Definition: agt.h:765
@ AGT_CCPARM_CONFIRMED
confirmed
Definition: agt.h:802
@ AGT_CCPARM_NONE
not set
Definition: agt.h:801
@ AGT_CCPARM_PERSIST
persist
Definition: agt.h:804
@ AGT_CCPARM_CONFIRM_TIMEOUT
confirm-timeout
Definition: agt.h:803
@ AGT_CCPARM_PERSIST_ID
persist-id
Definition: agt.h:805
@ AGT_CH_PROTO_NONE
not set
Definition: agt.h:820
@ AGT_CH_PROTO_RESTCONF_TLS
restconf-over-ssh callhome
Definition: agt.h:823
@ AGT_CH_PROTO_NETCONF_SSH
netconf-over-ssh callhome
Definition: agt.h:821
@ AGT_CH_PROTO_NETCONF_TLS
netconf-over-tls callhome
Definition: agt.h:822
@ AGT_ACMOD_PERMISSIVE
permissive mode, read + exec allowed
Definition: agt.h:733
@ AGT_ACMOD_OFF
NACM completely off.
Definition: agt.h:735
@ AGT_ACMOD_DISABLED
almost all access control turned off
Definition: agt.h:734
@ AGT_ACMOD_NONE
not set
Definition: agt.h:731
@ AGT_ACMOD_ENFORCING
full enforcement
Definition: agt.h:732
@ AGT_CRL_MODE_CA
CRL check client and CA certs.
Definition: agt.h:832
@ AGT_CRL_MODE_CLIENT
CRL check client cert.
Definition: agt.h:831
@ AGT_CRL_MODE_NONE
not set
Definition: agt.h:829
@ AGT_CRL_MODE_OFF
CRL check off.
Definition: agt.h:830
@ AGT_ACM_MODEL_IETF_NACM
IETF NACM (default)
Definition: agt.h:757
@ AGT_ACM_MODEL_YUMA_NACM
YUMA NACM (obsolete, not supported)
Definition: agt.h:758
@ AGT_ACM_MODEL_NONE
not set
Definition: agt.h:756
@ AGT_ACM_MODEL_EXTERNAL
external ACM via yp_system library
Definition: agt.h:759
@ AGT_TX_TYPE_NONE
not set
Definition: agt.h:791
@ AGT_TX_TYPE_GET
GET2 transaction.
Definition: agt.h:792
@ AGT_TX_TYPE_HOOK
hook callback for edit
Definition: agt.h:795
@ AGT_TX_TYPE_RPC
DB-API RPC transaction.
Definition: agt.h:794
@ AGT_TX_TYPE_EDIT
EDIT1 or EDIT2 transaction.
Definition: agt.h:793
@ AGT_HA_ROLE_STANDBY
HA standby role.
Definition: agt.h:813
@ AGT_HA_ROLE_NONE
not set
Definition: agt.h:811
@ AGT_HA_ROLE_ACTIVE
HA active role.
Definition: agt.h:814
@ AGT_HA_ROLE_NOT_SET
HA role not set.
Definition: agt.h:812
@ AGT_CB_APPLY
P2: write operation apply.
Definition: agt.h:748
@ AGT_CB_VALIDATE
P1: write operation validate.
Definition: agt.h:747
@ AGT_CB_ROLLBACK
P3-neg: write operation rollback.
Definition: agt.h:750
@ AGT_CB_COMMIT
P3-pos: write operation commit.
Definition: agt.h:749
agt_not_msg_t * agt_make_term_msg(const xmlChar *msg, status_t *res)
Create a <term-msg> notification.
Definition: agt.c:6321
void agt_remove_superuser(const xmlChar *username)
Remove a superuser name from the running system Does not change any config file allowed-user paramete...
Definition: agt.c:5526
status_t agt_check_save_external_config(ncx_display_mode_t encoding, const xmlChar *filespec)
Check if an external NV handler needs to be used to save the config.
Definition: agt.c:5316
status_t agt_init1_ypserver(int argc, char *argv[], boolean factory_restart, boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile Added factory_restart parameter yp-controller...
Definition: agt.c:3922
boolean agt_protocol_enabled(const xmlChar *proto)
Check if protocol sessions are enabled.
Definition: agt.c:6625
void agt_cleanup(void)
Cleanup the Server Library.
Definition: agt.c:4854
const xmlChar * agt_get_user_parm(void)
Get the user-parm string (if any)
Definition: agt.c:6488
const xmlChar * agt_get_server_root(void)
Get the server-root string.
Definition: agt.c:5630
status_t agt_add_maxuser_parm(const xmlChar *cliparm)
Add a maxuser parameter value.
Definition: agt.c:6502
void agt_request_replay_subsys(const xmlChar *subsys_id)
Request replay of the running config to the SIL-SA modules on the specified subsystem.
Definition: agt.c:5131
void agt_cleanup_sil_sa(void)
Cleanup the Server Library for SIL-SA usage.
Definition: agt.c:4870
void * agt_get_replay_cookie(void)
Get the current replay cookie.
Definition: agt.c:5191
status_t agt_enter_maintenance_mode(boolean read_ok, boolean operation_ok)
Set the server to mainenance mode to block client activity.
Definition: agt.c:6252
const char * agt_get_aflocal_sockname(void)
Get the AFLOCAL socket name to use for <ncx-connect>
Definition: agt.c:6473
status_t agt_init_term_msg_module(void)
Init the term-msg module and object backptr.
Definition: agt.c:6368
status_t agt_init2(void)
Initialize the Server Library (phase 2 init)
Definition: agt.c:3954
boolean agt_use_nmda(void)
Check if NMDA is enabled.
Definition: agt.c:6402
int agt_shutdown_term_signal(void)
Get the shutdown termination signal if any.
Definition: agt.c:5016
boolean agt_replay_main_is_active(void)
Check if the replay in progress is for the main server or could be for a subsystem.
Definition: agt.c:5720
status_t agt_disable_protocol(const xmlChar *proto)
Disable the named protocol.
Definition: agt.c:6735
status_t agt_get_maxuser_parm(const xmlChar *username, uint16 *retval)
Get the maxuser max-sessions value for a specified user.
Definition: agt.c:6599
boolean agt_maintenance_mode_operation_ok(void)
Return true if in maintenance mode operations OK;.
Definition: agt.c:6174
const xmlChar * agt_ha_role_str(agt_ha_role_t ha_role)
Get the string for the specified HA role enumeration.
Definition: agt.c:5738
status_t agt_check_superuser(const xmlChar *username)
Check a username in the superuser Q.
Definition: agt.c:5567
boolean agt_is_sil_sa(void)
Check if server running in SIL-SA mode.
Definition: agt.c:5663
boolean agt_yang_push_is_enabled(void)
Check if agt_push is enabled.
Definition: agt.c:6795
status_t agt_add_modcache(ncx_modcache_t *mc)
Add a module to the modcache queue and hash table.
Definition: agt.c:6036
status_t agt_add_superuser(const xmlChar *username)
Add a backptr to the string in the val_value_t containing the username that is a superuser.
Definition: agt.c:5484
status_t agt_register_local_nv_handler(agt_nvload_fn_t load_fn, agt_nvsave_fn_t store_fn)
Register a set of nvstore and nvload callback functions to handle the non-volatile storage of the con...
Definition: agt.c:5276
status_t agt_enable_protocol(const xmlChar *proto)
Enable the named protocol.
Definition: agt.c:6673
const xmlChar * agt_cbtype_name(agt_cbtyp_t cbtyp)
Get the string for the server callback phase.
Definition: agt.c:5035
agt_profile_t * agt_get_profile(void)
Get the server profile struct.
Definition: agt.c:4888
boolean agt_waiting_datastore_ready(void)
Check if client sessions are blocked until the datastore is ready.
Definition: agt.c:6435
void agt_request_replay(void)
Request replay of the running config to SIL modules because SIL hardware has reset somehow.
Definition: agt.c:5089
const xmlChar * agt_get_server_id(void)
Get the server-id string.
Definition: agt.c:5613
boolean agt_maintenance_mode_session_ok(void)
Return true if in maintenance mode new sessions OK;.
Definition: agt.c:6187
status_t agt_init2_ex(boolean factory_restart)
Initialize the Server Library (phase 2 init - extended)
Definition: agt.c:3977
boolean agt_init2_load_done(void)
Check if the init2 phase is complete and all modules loaded.
Definition: agt.c:5941
void agt_request_replay_ex(void *cookie)
Request replay of the running config to SIL modules because SIL hardware has reset somehow.
Definition: agt.c:5107
boolean agt_use_yang_cbor(void)
Check if YANG CBOR is enabled.
Definition: agt.c:6456
void agt_request_shutdown(ncx_shutdowntyp_t mode, int intnum)
Request some sort of server shutdown.
Definition: agt.c:4906
status_t agt_init2_sil_sa(void)
Initialize the Server Library for SIL-SA.
Definition: agt.c:4810
void agt_start_replay(void)
Start replay of the running config to SIL modules.
Definition: agt.c:5204
status_t agt_check_allowed_user(const xmlChar *username)
Check a username in the allowed-user Q.
Definition: agt.c:5428
status_t agt_exit_maintenance_mode(void)
Exit the server from mainenance mode to unblock client activity.
Definition: agt.c:6290
status_t agt_init1_sil_sa(void)
Initialize the Server Library: stage 1: CLI and profile.
Definition: agt.c:3879
boolean agt_use_notifications(void)
Check if notifications currently enabled.
Definition: agt.c:5799
boolean agt_use_new_yanglib(void)
Check if NMDA or use-new-yanglib is enabled.
Definition: agt.c:6418
boolean agt_in_factory_restart(void)
Check if a factory restort is in progress.
Definition: agt.c:6016
const xmlChar * agt_get_server_key(void)
Get the ha-server-key string.
Definition: agt.c:5647
boolean agt_maintenance_mode_read_ok(void)
Return true if in maintenance mode reads OK;.
Definition: agt.c:6159
boolean agt_in_maintenance_mode(void)
Return true if in mainenance mode now.
Definition: agt.c:6144
ncx_modcache_t * agt_find_modcache(const xmlChar *modname)
Find a module to the modcache queue and hash table.
Definition: agt.c:6069
status_t agt_init1_ex(int argc, char *argv[], boolean factory_restart, boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile Added factory_restart parameter.
Definition: agt.c:3852
boolean agt_shutdown_requested(void)
Check if some sort of server shutdown is in progress.
Definition: agt.c:4976
boolean agt_replay_requested(void)
Check if config replay is pending.
Definition: agt.c:5174
status_t agt_check_load_config(agt_ha_role_t ha_role)
Check if the boot-time load-config should be done because it was deferred while waiting for the YP-HA...
Definition: agt.c:5829
void agt_set_max_burst(uint32 max_burst)
Set the max-burst parameter.
Definition: agt.c:6202
ncx_shutdowntyp_t agt_shutdown_mode_requested(void)
Check what shutdown mode was requested.
Definition: agt.c:4999
dlq_hdr_t * agt_get_savedevQ(void)
Get the agt_savedevQ pointer.
Definition: agt.c:5677
boolean agt_advertise_module_needed(const xmlChar *modname)
Check if the module should be advertised or not.
Definition: agt.c:5065
void agt_remove_allowed_user(const xmlChar *username)
Remove an allowed-user name from the running system Does not change any config file allowed-user para...
Definition: agt.c:5389
boolean agt_replay_subsys_is_active(const xmlChar *subsys_id)
Find a subsys replay request struct in the activeQ.
Definition: agt.c:5694
void agt_register_replay_callback(agt_replay_fn_t cbfn)
Register a callback function for a replay config event.
Definition: agt.c:5596
status_t agt_init1(int argc, char *argv[], boolean *showver, help_mode_t *showhelpmode)
Initialize the Server Library: stage 1: CLI and profile.
Definition: agt.c:3815
void agt_set_max_getbulk(uint32 max_getbulk)
Set the max-getbulk parameter.
Definition: agt.c:6219
void agt_set_eventlog_size(uint32 eventlog_size)
Set the eventlog-size parameter.
Definition: agt.c:6129
boolean agt_init2_done(void)
Check if the init2 phase is complete.
Definition: agt.c:5923
void agt_finish_replay(void)
Finish replay of the running config to SIL modules.
Definition: agt.c:5237
boolean agt_advertise_yang11_module_needed(ncx_module_t *mod)
Check whether the NETCONF hello message should conform to the standard and leave out YANG 1....
Definition: agt.c:5967
agt_ha_role_t agt_ha_role_enum(const xmlChar *ha_role)
Get the enum for the specified HA role string.
Definition: agt.c:5768
log_debug_t
The debug level enumerations used in util/log.c.
Definition: log.h:348
status_t
global error return code
Definition: status_enum.h:219
help_mode_t
modes to match the keywords brief, normal, full
Definition: help.h:84
ncx_agttarg_t
enum to identify the agent native target
Definition: ncxtypes.h:517
ncx_yang_sid_mode_t
YANG SID Allocation mode from yang-sid-mode typedef.
Definition: ncxtypes.h:1777
ncx_agtstart_t
enum to identify the agent native startup mode
Definition: ncxtypes.h:528
ncx_msg_encoding_t
enumeration for message encoding formats
Definition: ncxtypes.h:647
ncx_snmp_agt_role_t
enum to identify the SNMP agent native mode
Definition: ncxtypes.h:1607
ncx_name_match_t
Node name match modes.
Definition: ncxtypes.h:695
ncx_display_mode_t
enumeration of val_dump_value display modes Some RESTCONF code uses this field incorrectly for messag...
Definition: ncxtypes.h:617
ncx_withdefaults_t
enum for with-defaults enum values
Definition: ncxtypes.h:1278
ncx_shutdowntyp_t
enumeration of the different program shutdown modes
Definition: ncxtypes.h:536
uint8 obj_testflags_t
object test flags
Definition: obj.h:1225
YANG help text support for CLI Print help text for various templates.
NCX System Logging Manager.
YANG module data structures Many internal representations of YANG module constructs.
Global error messages for status code enumerations.
struct to contain all agt_send_edit parameters
Definition: agt.h:2016
for the list of username / max-session values to support the –max-per-user-sessions CLI parameter
Definition: agt.h:857
xmlChar * username
malloced user name string
Definition: agt.h:859
dlq_hdr_t qhdr
queue header
Definition: agt.h:858
uint16 max_sessions
max session count 0 .
Definition: agt.h:860
one notification message that will be sent to all subscriptions in the stream and kept in the replay ...
Definition: agt_not.h:143
Multiple instances are not supported.
Definition: agt.h:899
boolean agt_auto_discard_on_lock_timeout
flag to enable automatic <discard-changes> after a <lock> timeout event on the <candidate> datastore.
Definition: agt.h:1876
const xmlChar * agt_backup_dir
backup dir location
Definition: agt.h:1017
boolean agt_with_yp_coap_dtls
enable YP-CoAP DTLS sessions (not supported)
Definition: agt.h:1278
boolean agt_allow_tcp_socket
allow a TCP socket instead of an AF_LOCAL socket for connections
Definition: agt.h:1173
const xmlChar * agt_startup
startup filespec
Definition: agt.h:999
boolean agt_sil_validate_candidate
If true, the server will invoke the VALIDATE phase for SIL and SIL-SA callbacks when each edit is mad...
Definition: agt.h:1227
int32 agt_message_indent
–message-indent parameter
Definition: agt.h:1051
boolean agt_use_ccommit
enable confirmed-comiit
Definition: agt.h:1060
boolean agt_use_tcp_socket
use a TCP socket instead of an AF_LOCAL socket for connections
Definition: agt.h:1176
boolean agt_with_yumaworks_config_change
with-yumaworks-config-change
Definition: agt.h:1551
boolean agt_useurl_ftp
–with-url-ftp
Definition: agt.h:1441
boolean agt_with_yp_shell
enable yp-shell sessions
Definition: agt.h:1272
ncx_name_match_t agt_match_names
match names behavior; needs to be EXACT for YANG
Definition: agt.h:981
boolean agt_tls_deprecated_ok
YPW-1984: TLS Deprecated OK.
Definition: agt.h:1683
boolean agt_sil_test_get_when
enable config=false when-stmt checking for GET1 and GET2 callback functions; if false then the callba...
Definition: agt.h:1530
boolean agt_with_error_number
enable the <error-number) element added to error info some NC clients do not implement the error-info...
Definition: agt.h:1719
boolean agt_use_yuma_if
load yuma-if module
Definition: agt.h:1132
boolean agt_with_yp_coap
enable YP-CoAP sessions (not supported)
Definition: agt.h:1275
boolean agt_autodelete_pdu_error
If 'true' the server will treat edit-config auto-delete because of false when-stmts as an error inste...
Definition: agt.h:1237
uint16 agt_socket_port
listen on this TCP port if TCP socket is enabled
Definition: agt.h:1835
boolean agt_return_status
return exit code or zero
Definition: agt.h:1608
boolean agt_use_yuma_arp
load yuma-arp module
Definition: agt.h:1129
uint32 agt_linesize
line size for logging
Definition: agt.h:1045
boolean agt_useurl
–with-url parameter
Definition: agt.h:1057
ncx_yang_sid_mode_t agt_yang_sid_mode
yang-sid-mode parameter
Definition: agt.h:1677
boolean agt_sil_wait_sa
No CLI parameter!! Set to TRUE in agt_profile.c the load-config will wait if agt_ncx_load_any_waiting...
Definition: agt.h:1517
boolean agt_wait_datastore_ready
wait-datastore-ready parameter
Definition: agt.h:1605
boolean agt_with_new_notifs
flag to indicate that the new notifications defined in RFC 8639 should be used, even if bundle yang-p...
Definition: agt.h:1771
uint32 agt_max_nodes_per_update
IETF max-nodes-per-update NO CLI PARAMTER TO SET THIS VALUE.
Definition: agt.h:1602
boolean agt_sil_skip_load
skip the SIL callbacks for load-config Useful if the authoritative database is really the external sy...
Definition: agt.h:1158
const xmlChar * agt_netconf_tls_certificate
–netconf-tls-cerificate parameter
Definition: agt.h:1453
boolean agt_fileloc_fhs
this flag enables FHS file locations for server data files
Definition: agt.h:1411
uint16 agt_max_sessions
max sessions (total)
Definition: agt.h:1096
const xmlChar * agt_extern_libspec
superuser name (allowed to be NULL) moved to agt.c agt_superuserQ Q of ncx_backptr_t to malloced stri...
Definition: agt.h:1014
boolean agt_with_yang11_hello
this field indicates whether the NETCONF hello message should conform to the standard and leave out Y...
Definition: agt.h:1362
boolean agt_load_rootcheck_errors
server load-config root-check had errors flag
Definition: agt.h:1808
uint8 agt_withdef_enabled
bitmask of the with-defaults enumerations that should be enabled in the server
Definition: agt.h:1208
uint16 agt_snmp_subagent_priority
identify the SNMP subagent priority, what priority will be used for OID callbacks registration
Definition: agt.h:1437
boolean agt_save_owners
flag to save owner strings in the database
Definition: agt.h:1186
boolean agt_with_yumaworks_callhome
with-yumaworks-callhome
Definition: agt.h:1548
const xmlChar * agt_yangapi_server_url
YANG-API server URL (obsolete)
Definition: agt.h:1120
boolean agt_restconf_strict_headers
If 'true' the server will only accept requests with normative Accept header entries specified in the ...
Definition: agt.h:1232
const xmlChar * agt_conffile
config file: default: /etc/yumapro/netconfd-pro.conf
Definition: agt.h:990
const xmlChar * agt_user_parm
back-pointer to the user-parm string if any
Definition: agt.h:1722
boolean agt_load_validate_errors
server load-config had errors flag
Definition: agt.h:1805
boolean agt_with_yang_patch_running
with-yang-patch-running parameter
Definition: agt.h:1575
boolean agt_with_config_id
this field indicates if the :config-id capability is enabled or not.
Definition: agt.h:1345
agt_crl_mode_t agt_crl_mode
tls-crl-mode parameter
Definition: agt.h:1557
boolean agt_use_local_transport
use local transport flag
Definition: agt.h:1075
boolean agt_ypserver_mode
this flag indicates the server is rnning as yp-controller and not netconfd-pro
Definition: agt.h:1499
boolean agt_sil_invoke_for_defaults
–sil-invoke-for-defaults parameter
Definition: agt.h:1491
boolean agt_create_empty_npcontainers_ro
special flag for create NP containers if read-only child nodes
Definition: agt.h:1326
boolean agt_use_rollback_on_error
Use rollback-on-error.
Definition: agt.h:1147
boolean agt_xmlorder
use strict XML order flag
Definition: agt.h:948
const xmlChar * agt_errmsg_lang
–errmsg-lang parameter
Definition: agt.h:1471
boolean agt_create_empty_npcontainers
LAST DATA SENT TO SUBSYSTEMS create empty NP containers d: true.
Definition: agt.h:1323
log_debug_t agt_audit_log_level
audit log level
Definition: agt.h:1295
boolean agt_system_sorted
enable system-sorted (obsolete: sorted by val_child algorithms)
Definition: agt.h:1081
ncx_withdefaults_t agt_defaultStyleEnum
default with-defaults enum
Definition: agt.h:1090
uint32 agt_watcher_interval
Specifies the number of seconds the YPWatcher process will sleep before checking if the netconfd-pro ...
Definition: agt.h:1214
boolean agt_library_mode
this field indicates the server is operating in library mode It will look for YANG modules but only l...
Definition: agt.h:1339
xmlChar * agt_subsys_info_file
location of subsys info file YPW-2080: Multi-Instance Mode This filespec will contain the SRID so it ...
Definition: agt.h:1183
obj_testflags_t agt_rootflags
root commit descendant test flags
Definition: agt.h:1799
uint16 agt_max_cli_sessions
max CLI sessions
Definition: agt.h:1099
boolean agt_delete_empty_npcontainers
delete empty config=true NP containers: d: false
Definition: agt.h:960
boolean agt_push_simop_enabled
push-simop-enabled parameter
Definition: agt.h:1593
boolean agt_validate_all
validate all flag
Definition: agt.h:927
uint8 agt_max_dblslash_matches
Max number of dblslash wildcard matches to allow this is an arbitrary limit meant to prevent the XPat...
Definition: agt.h:1756
boolean agt_with_nmda
with-nmda
Definition: agt.h:1563
boolean agt_load_def_startup_factory
server load-config factory flag
Definition: agt.h:1820
boolean agt_use_yuma_proc
load yuma-proc module
Definition: agt.h:1126
uint16 agt_callhome_retry_max
this field specifies the number of retry attempts the server should attempt to the callhome server be...
Definition: agt.h:1380
boolean agt_sil_root_check_first
–sil-root-check-first to do root check in edit-config before the SIL validate callbacks are invoked t...
Definition: agt.h:1511
boolean agt_no_yang_push
flag indicates that yang-push bundle is loaded only to use the notifications.
Definition: agt.h:1852
boolean agt_simple_json_names
use simple JSON names instead of YANG JSON names
Definition: agt.h:1318
uint16 agt_max_lock_hold_time
YPW-2027 Enforce a max lock hold time if non-zero value.
Definition: agt.h:1702
boolean agt_with_netconf_tls
enable NETCONF over TLS sessions
Definition: agt.h:1281
const xmlChar * agt_netconf_tls_address
–netconf-tls-address parameter
Definition: agt.h:1450
const xmlChar * agt_server_root
assigned server root ID
Definition: agt.h:1030
const xmlChar * agt_tls_cipherlist
–tls-cipherlist CLI parameter Use with extreme caution! Advanced libopenssl usage not supported passe...
Definition: agt.h:1663
boolean agt_use_ycontrol
enable YControl protocol
Definition: agt.h:1150
boolean agt_has_startup
has startup flag for –with-startup
Definition: agt.h:930
boolean agt_ha_sil_standby
call SIL code in standby mode
Definition: agt.h:1304
const xmlChar * agt_crypt_hash_prefix
specifies the string that will be pre-pended to the password before calling crypt_r to generate the h...
Definition: agt.h:1252
boolean agt_with_ocpattern
this flag enables/disables the special OpenConfig usage of the YANG pattern-statement.
Definition: agt.h:1408
boolean agt_use_rollback_failed_backup
save running config for a commit, in case the rollback fails
Definition: agt.h:1170
boolean agt_use_yuma_system
load yuma-system module
Definition: agt.h:1141
boolean agt_enable_grpc
flag to enable gRPC sessions
Definition: agt.h:1867
boolean agt_sil_invoke_false_when_deletes
–sil-invoke-false-when-deletes parameter
Definition: agt.h:1488
boolean agt_audit_log_candidate
If true, then transactions to the candidate datastore will be recorded in the audit log.
Definition: agt.h:1221
uint16 agt_push_min_dampening
push-min-dampening parameter
Definition: agt.h:1581
boolean agt_trim_whitespace
–trim-whitespace CLI parameter
Definition: agt.h:1447
uint32 agt_maxburst
–maxburst parameter
Definition: agt.h:1036
uint32 agt_push_max_periodic
push-max-periodic parameter
Definition: agt.h:1584
boolean agt_return_error_with_data
enable returning rpc-error with data YPW-2187: add –return-error-with-data parameter Allow GET2 callb...
Definition: agt.h:1750
boolean agt_with_callhome
this field indicates that the IETF Callhome feature is enabled if true and WITH_CALLHOME is built int...
Definition: agt.h:1369
boolean agt_yumaworks_ids
use the yumaworks-ids module
Definition: agt.h:1539
boolean agt_stream_output
stream message output: d:true; no CLI support yet
Definition: agt.h:957
boolean agt_save_load_events
No CLI parameter for save load events! If true then NETCONF notifications generated for the YANG libr...
Definition: agt.h:1743
const xmlChar * agt_ha_initial_active
active server to use if standby
Definition: agt.h:1313
const xmlChar * agt_cert_default_user
–cert-default-user parameter
Definition: agt.h:1468
boolean agt_ha_enabled
enable YP-HA
Definition: agt.h:1301
agt_ha_role_t agt_ha_role
saved HA role
Definition: agt.h:1842
boolean agt_enable_restconf
flag to enable RESTCONF sessions
Definition: agt.h:1858
boolean agt_yuma_time_filter
use the yuma-time-filter module
Definition: agt.h:1533
const xmlChar * agt_sshd_config
set the sshd_config file to use for sshd exectuable for callhome default is $HOME/....
Definition: agt.h:1400
boolean agt_with_sm
this flag indicates that the Schema Mount support should be enabled
Definition: agt.h:1616
boolean agt_use_netconf
enable NETCONF protocol
Definition: agt.h:1072
boolean agt_callhome_reconnect
CLI parameter –callhome-reconnect.
Definition: agt.h:1523
uint16 agt_ha_port
port number is default 8088
Definition: agt.h:1307
boolean agt_with_yumaworks_lock
enable the <lock-all> and <unlock-all> operations
Definition: agt.h:1711
boolean agt_enable_netconf
flag to enable NETCONF sessions
Definition: agt.h:1855
boolean agt_use_notifications
enable notifications
Definition: agt.h:1078
boolean agt_yuma_system_notifs
d: false
Definition: agt.h:963
boolean agt_with_netconf
If 'true' then the corresponding protocol will be enabled.
Definition: agt.h:1263
agt_acm_model_t agt_acm_model
NACM or external ACM model.
Definition: agt.h:1087
ncx_agttarg_t agt_targ
BEGIN DATA SENT TO SUBSYSTEMS; target type (candidate or running)
Definition: agt.h:903
boolean agt_xpath_dblslash_ok
YPW-1981: XPath Dblslash OK.
Definition: agt.h:1680
boolean agt_use_db_lock
db-lock used only if WITH_YCONTROL=1 and CLI set
Definition: agt.h:1542
boolean agt_insecure_ok
–insecure-ok parameter
Definition: agt.h:1465
const xmlChar * agt_subsys_path
set the netconf subsystem for sshd exectuable path for callhome default is /usr/sbin/netconf-subsyste...
Definition: agt.h:1394
boolean agt_support_save
d: true (needs WITH_SUPPORT_SAVE=1)
Definition: agt.h:969
boolean agt_defer_load
saved defer load config flag
Definition: agt.h:1845
boolean agt_running_error
–running-error parameter: stop, continue enums only
Definition: agt.h:942
boolean agt_audit_log_localtime
audit log localtime
Definition: agt.h:1298
agt_transaction_model_t agt_transaction_model
TBD private transaction model.
Definition: agt.h:984
uint16 agt_coap_dtls_port
Coap over DTLS port (not implemented)
Definition: agt.h:1114
boolean agt_cvt_subtree_filter
convert-subtree-filterparameter
Definition: agt.h:1569
const xmlChar * agt_netconf_tls_key
–netconf-tls-key parameter
Definition: agt.h:1456
boolean agt_with_yang_api
enable YANG-API sessions (obsolete)
Definition: agt.h:1269
const xmlChar * agt_sm_config
set the Schema Mount configuration file.
Definition: agt.h:1625
boolean agt_startup_fallback
this flag indicates the –startup-error parm is set to fallback
Definition: agt.h:1420
boolean agt_term_msg
d: true for <term-msg> notification
Definition: agt.h:972
const xmlChar * agt_sshd_path
set the sshd exectuable path for callhome default is /usr/sbin/sshd only set by vendor in agt_init1 p...
Definition: agt.h:1388
boolean agt_sil_cc_callback_all
YPW-2042 Apply Commit Completeness Callbacks to All Edit Transactions instead of just the <commit> op...
Definition: agt.h:1708
boolean agt_yumaworks_getbulk
use the yumaworks-getbulk module
Definition: agt.h:1536
boolean agt_yumaworks_system
d: true
Definition: agt.h:965
boolean agt_json_leaf_list_1line
flag to print JSON leaf-list value on 1 line
Definition: agt.h:1189
boolean agt_with_snmp
this flag indicates that the snmp agent should be enabled
Definition: agt.h:1429
boolean agt_logappend
–log-append parameter
Definition: agt.h:945
boolean agt_load_done
server load-config done flag
Definition: agt.h:1802
boolean agt_sil_skip_global_edit_validate
YPW-2276: sil-skip-global-edit-* parameters.
Definition: agt.h:1792
boolean agt_load_top_rootcheck_errors
server load-config had top root-check errors flag
Definition: agt.h:1811
xmlChar * agt_startup_txid_file
cached location of startup transaction ID file
Definition: agt.h:1829
boolean agt_with_yumaworks_event_stream
with-yumaworks-event-stream
Definition: agt.h:1554
dlq_hdr_t agt_savedevQ
Q of malloced ncx_save_deviations_t.
Definition: agt.h:1823
boolean agt_sil_autodelete
enable SIL/SIL-SA callback for auto-deletions
Definition: agt.h:1731
boolean agt_enable_gnmi
flag to enable gNMI sessions
Definition: agt.h:1864
ncx_snmp_agt_role_t agt_snmp_agent_role
identify the SNMP agent native mode master|subagent
Definition: agt.h:1432
log_debug_t agt_syslog_log_level
requested SYSLOG log-level
Definition: agt.h:912
boolean agt_factorystartup
track –factory-startup flag
Definition: agt.h:936
boolean agt_log_acm_writes
log NACM write requests
Definition: agt.h:924
boolean agt_use_yangapi
enable YANG-API protocol (obsolete: ignored)
Definition: agt.h:1063
boolean agt_enable_cli
flag to enable CLI sessions
Definition: agt.h:1861
const xmlChar * agt_startup_factory_file
factory startup filespec
Definition: agt.h:1002
const xmlChar * agt_netconf_tls_trust_store
–netconf-tls-trust-store parameter
Definition: agt.h:1462
boolean agt_tls_common_auth
internal flag to enable Common Authentication Mode NO CLI PARAMETER FOR THIS SETTING IN 23....
Definition: agt.h:1286
boolean agt_leaflist_deleteall_ok
allow delete-all and remove-all operations on a leaf-list
Definition: agt.h:954
uint16 agt_coap_port
the CoAP port number used only if WITH_COAP and agt_use_coap set
Definition: agt.h:1111
const xmlChar * agt_ha_server_key
server-key to keep HA pools separate
Definition: agt.h:1310
boolean agt_use_yumaworks_sm_yanglib
load yumaworks-sm-yanglib module ignored unless agt_with_sm and agt_sm_config both set
Definition: agt.h:1636
boolean agt_with_canonical
–with-canonical parameter
Definition: agt.h:1482
dlq_hdr_t agt_commit_testQ
Q of malloced agt_commit_test_t.
Definition: agt.h:1826
const xmlChar * agt_confdir
config dir: default: /etc/yumapro/netconfd-pro.d
Definition: agt.h:993
boolean agt_with_restconf
enable RESTCONF sessions
Definition: agt.h:1266
boolean agt_silcall_delete_first
YPW-1975: SILCALL delete first.
Definition: agt.h:1666
uint16 agt_subsys_timeout
subsystem timeout in seconds
Definition: agt.h:1105
boolean agt_with_modtags
–with-modtags parameter
Definition: agt.h:1485
boolean agt_highres_event_time
–highres-event-time parameter Affects the <eventTime> leaf in all notifications
Definition: agt.h:1671
boolean agt_ietf_system_notifs
d: true
Definition: agt.h:964
uint32 agt_audit_log_events
–audit-log-events to control audit log content
Definition: agt.h:1505
boolean agt_with_new_yanglib
Flag to indicate that the YANG Library from RFC 8525 will be present, even if with-nmda=false This do...
Definition: agt.h:1763
boolean agt_sil_skip_keys
do not invoke the SIL callback for a key leaf
Definition: agt.h:1167
boolean agt_use_yuma_mysession
load yuma-mysession module
Definition: agt.h:1135
boolean agt_load_apply_errors
server load-config had apply phase errors flag
Definition: agt.h:1814
boolean agt_sil_prio_reverse_for_deletes
–sil-prio-reverse-for-deletes parameter
Definition: agt.h:1502
boolean agt_load_factory_fallback
server load-config allowed to use factory-fallback flag
Definition: agt.h:1817
int32 agt_max_strlen
max-strlen parameter
Definition: agt.h:1545
boolean agt_alt_names
Yuma REST-API urlselect extra parameters.
Definition: agt.h:975
uint8 agt_min_passwd_len
minimum password length when setting crypt-hash variables
Definition: agt.h:1255
boolean agt_disable_imported_ok
YPW-2209: flag to enable disabling of imported objects that are not loaded via module or bundle param...
Definition: agt.h:1789
boolean agt_with_grpc
this flag indicates that the gRPC support should be enabled
Definition: agt.h:1611
boolean agt_use_yumaworks_event_filter
load yumaworks-event-filter module
Definition: agt.h:1138
boolean agt_useurl_tftp
the libcurl variables
Definition: agt.h:1440
boolean agt_use_cli
enable yp-shell
Definition: agt.h:1069
boolean agt_startup_prune_ok
–startup-prune-ok parameter
Definition: agt.h:1474
boolean agt_save_config_system
flag to skip generation of the startup XML file when a save_config is done by the server.
Definition: agt.h:1197
log_debug_t agt_pthread_log_level
requested PTHREADS log level
Definition: agt.h:915
boolean agt_import_version_bestmatch
import-version-bestmatch parameter
Definition: agt.h:1572
uint32 agt_idle_timeout
–idle-timeout parameter
Definition: agt.h:1042
uint32 agt_eventlog_size
eventlog-size set to 0 to disable replay
Definition: agt.h:1033
boolean agt_log_event_drops
log event drops
Definition: agt.h:1161
boolean agt_usevalidate
–with-validate parameter
Definition: agt.h:1054
boolean agt_with_gnmi
this flag indicates that the gNMI support should be enabled
Definition: agt.h:1494
boolean agt_remove_schema_aug_leafs
this flag indicates the deprecated schema list leafs added from yumaworks-system should be removed.
Definition: agt.h:1649
boolean agt_with_maint_mode
allow maintenance mode to be used
Definition: agt.h:1520
agt_acmode_t agt_accesscontrol_enum
access control enum
Definition: agt.h:1093
boolean agt_use_yumaworks_cert_usermap
load yumaworks-cert-usermap module
Definition: agt.h:1639
boolean agt_log_acm_reads
log NACM read requests
Definition: agt.h:921
boolean agt_push_simop_patch_update
push-simop-patch-update parameter
Definition: agt.h:1596
const xmlChar * agt_defaultStyle
default-style for with-defaults
Definition: agt.h:1005
boolean agt_usestartup
track –no-startup flag
Definition: agt.h:933
boolean agt_with_warnings
this field indicates if agt_record_warning will be allowed to set the error-severity field to warning
Definition: agt.h:1333
boolean agt_startup_skip_validation
startup-skip-validation
Definition: agt.h:1566
boolean agt_startup_error
–startup-error parameter: stop, continue enums only
Definition: agt.h:939
boolean agt_no_audit_log
this flag indicates the –no-audit-log CLI parameter
Definition: agt.h:1414
boolean agt_running_fallback
this flag indicates the –running-error parm is set to fallback
Definition: agt.h:1423
uint16 agt_callhome_retry_interval
this field specifies the number of seconds to wait after a connect attempt to the callhome server has...
Definition: agt.h:1374
uint16 agt_max_user_sessions
max USER sessions
Definition: agt.h:1102
uint16 agt_netconf_tls_port
–netconf-tls-port parameter
Definition: agt.h:1459
boolean agt_with_ietf_caps
flag to indicate the ietf-system-capabilities module should be loaded if WITH_YANG_PUSH is used and a...
Definition: agt.h:1778
const xmlChar * agt_server_id
assigned server ID NcxName (1 .
Definition: agt.h:1022
xmlChar * agt_socket_address
strdup of socket-address CLI parameter
Definition: agt.h:1832
int32 agt_indent
–indent parameter
Definition: agt.h:1048
boolean agt_sil_delete_children_first
–sil-delete-children-first CLI parameter
Definition: agt.h:1444
log_debug_t agt_audit_log_console_level
log console level
Definition: agt.h:1292
boolean agt_startup_create_ok
no CLI parameter!! set to TRUE! change in yp-system library or agt_profile.c
Definition: agt.h:1479
const xmlChar * agt_restconf_server_url
RESTCONF server URL.
Definition: agt.h:1123
ncx_agtstart_t agt_start
startup type enum (distinct or mirror)
Definition: agt.h:906
uint32 agt_push_simop_period
push-simop-period parameter
Definition: agt.h:1590
const xmlChar * agt_logfile
main logfile
Definition: agt.h:996
uint32 agt_sil_getbulk_max
Specifies the maximum number of getbulk entries to request from a GET2 callback.
Definition: agt.h:1246
uint32 agt_push_max_operational
push-max-operational parameter
Definition: agt.h:1587
boolean agt_lax_namespaces
lax namespace usage: will try to match element name
Definition: agt.h:1084
uint32 agt_hello_timeout
–hello-timeout parameter
Definition: agt.h:1039
boolean agt_tls_autosan_mode
–netconf-tls-autosan-mode
Definition: agt.h:1289
boolean agt_crl_missing_ok
tls-crl-missing-ok parameter
Definition: agt.h:1560
uint16 agt_push_min_period
push-min-period parameter
Definition: agt.h:1578
boolean agt_wildcards
Allow wildcards in filters.
Definition: agt.h:978
log_debug_t agt_log_level
requested log-level
Definition: agt.h:909
xmlChar * agt_conf_dirspec
malloced string indicating the confdir pathspec in use
Definition: agt.h:1838
boolean agt_with_fsync
–with-fsync parameter
Definition: agt.h:1870
boolean agt_list_deleteall_ok
allow delete-all and remove-all operations on a list
Definition: agt.h:951
const xmlChar * agt_coap_address
Coap over DTLS address (not implemented)
Definition: agt.h:1117
boolean agt_tls_debug
–tls-debug CLI parameter this flag indicates that extra TLS debugging should be enabled in the server
Definition: agt.h:1655
boolean agt_with_yang_cbor
with-yang-cbor parameter
Definition: agt.h:1674
boolean agt_tls_dh_enabled
YPW-1994: enable TLS DH parameters needed for TLS 1.3 there is no CLI parameter for this flag; defaul...
Definition: agt.h:1688
ncx_msg_encoding_t agt_restconf_default_encoding
this enum indicates the –restconf-default-encoding CLI parameter
Definition: agt.h:1417
const xmlChar * agt_accesscontrol
access control model
Definition: agt.h:987
boolean agt_sil_missing_error
treat missing SIL libraries as an error, not warning
Definition: agt.h:1164
boolean agt_yumaworks_templates
d: true
Definition: agt.h:966
boolean agt_no_nvstore
this field indicates that the server should not load or save using the normal APIs during transaction...
Definition: agt.h:1357
boolean agt_use_restconf
enable RESTCONF protocol
Definition: agt.h:1066
ncx_msg_encoding_t agt_sm_config_encoding
this flag indicates what parser engine to use to parse the SM Config file.
Definition: agt.h:1630
boolean agt_return_empty_npcontainers
–return-empty-npcontainers CLI parameter
Definition: agt.h:1734
boolean agt_session_sync_mutex
session sync mutex flag
Definition: agt.h:918
boolean agt_notif_sequence_id
d: false
Definition: agt.h:962
for the list of subsystems requesting or in progress for a config load or replay
Definition: agt.h:848
dlq_hdr_t qhdr
queue header
Definition: agt.h:849
xmlChar * subsys_id
malloced subsystem name string
Definition: agt.h:850
struct to keep track of the dynamic external yp-system hooks library
Definition: agt.h:1982
agt_system_init1_fn_t init1_fn
init1 callback
Definition: agt.h:1996
status_t init1_status
init1 callback result
Definition: agt.h:2005
boolean cleanup_done
cleanup done flag
Definition: agt.h:2011
dlq_hdr_t qhdr
queue header
Definition: agt.h:1984
xmlChar * libspec
yp-system library spec that was loaded (bundle or module)
Definition: agt.h:1990
agt_system_init_profile_fn_t init_profile_fn
init profile callback
Definition: agt.h:1993
void * handle
handle from dlopen
Definition: agt.h:1987
status_t init2_status
init2 callback result
Definition: agt.h:2008
agt_system_cleanup_fn_t cleanup_fn
cleanup callback
Definition: agt.h:2002
agt_system_init2_fn_t init2_fn
init2 callback
Definition: agt.h:1999
server module info cache record for def_reg_add_mod
Definition: ncxtypes.h:1615
representation of one module or submodule during and after parsing
Definition: ncxtypes.h:1138
One YANG Patch Request.
Definition: yang_patch.h:155