forked from Mirror/frr
mgmtd: add our own format definitions for frontend messages
It allows people not familiar with libyang and FRR internals to use mgmtd FE API by looking only at `mgmt_msg_native.h` header. We still use the same values to avoid a lot of mapping code, and ensure that any change doesn't slip unnoticed by using static asserts. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
parent
dda5de0340
commit
c19d0a5bf3
|
@ -162,6 +162,22 @@ DECLARE_MTYPE(MSG_NATIVE_NOTIFY);
|
|||
#define MGMT_MSG_DATASTORE_RUNNING 2
|
||||
#define MGMT_MSG_DATASTORE_OPERATIONAL 3
|
||||
|
||||
/*
|
||||
* Formats
|
||||
*/
|
||||
#define MGMT_MSG_FORMAT_XML 1
|
||||
#define MGMT_MSG_FORMAT_JSON 2
|
||||
#define MGMT_MSG_FORMAT_BINARY 3 /* non-standard libyang internal format */
|
||||
|
||||
/*
|
||||
* Now we're using LYD_FORMAT directly to avoid mapping code, but having our
|
||||
* own definitions allows us to create such a mapping in the future if libyang
|
||||
* makes a backwards incompatible change.
|
||||
*/
|
||||
_Static_assert(MGMT_MSG_FORMAT_XML == LYD_XML, "Format mismatch");
|
||||
_Static_assert(MGMT_MSG_FORMAT_JSON == LYD_JSON, "Format mismatch");
|
||||
_Static_assert(MGMT_MSG_FORMAT_BINARY == LYD_LYB, "Format mismatch");
|
||||
|
||||
/**
|
||||
* struct mgmt_msg_header - Header common to all native messages.
|
||||
*
|
||||
|
@ -244,8 +260,8 @@ _Static_assert(sizeof(struct mgmt_msg_tree_data) ==
|
|||
"Size mismatch");
|
||||
|
||||
/* Flags for get-data request */
|
||||
#define GET_DATA_FLAG_STATE 0x01 /* get only "config false" data */
|
||||
#define GET_DATA_FLAG_CONFIG 0x02 /* get only "config true" data */
|
||||
#define GET_DATA_FLAG_STATE 0x01 /* include "config false" data */
|
||||
#define GET_DATA_FLAG_CONFIG 0x02 /* include "config true" data */
|
||||
#define GET_DATA_FLAG_EXACT 0x04 /* get exact data node instead of the full tree */
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue