diff options
author | Yash Ranjan <ranjany@vmware.com> | 2021-10-28 09:07:11 +0200 |
---|---|---|
committer | Christian Hopps <chopps@labn.net> | 2023-03-22 03:08:32 +0100 |
commit | 74335ceb2753cc73afe2854b20640018431acc19 (patch) | |
tree | 0ff2afc2aacd7078131086fd6051321725b5cd94 /mgmtd/mgmt_memory.c | |
parent | mgmtd: Add MGMT Backend Interface Framework (diff) | |
download | frr-74335ceb2753cc73afe2854b20640018431acc19.tar.xz frr-74335ceb2753cc73afe2854b20640018431acc19.zip |
mgmtd: Add MGMT Transaction Framework
This commit introduces the MGMT Transaction framework that takes
management requests from one (or more) frontend client sessions,
translates them into transactions and drives them to completion
in co-oridination with one (or more) backend client daemons
involved in the request.
This commit includes the following functionalities in the changeset:
1. Introduces the actual Transaction module. Commands added related to
transaction are:
a. show mgmt transaction all
2. Adds support for commit rollback feature which stores upto the 10
commit buffers. Each commit has a commit-id which can be used to
rollback to the exact configuration state.
Commands supported for this feature are:
a. show mgmt commit-history
b. mgmt rollback commit-id COMMIT_ID
3. Add hidden commands to enable record various performance metrics:
a. mgmt performance-measurement
b. mgmt reset-statistic
Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com>
Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com>
Co-authored-by: Ujwal P <ujwalp@vmware.com>
Signed-off-by: Yash Ranjan <ranjany@vmware.com>
Diffstat (limited to 'mgmtd/mgmt_memory.c')
-rw-r--r-- | mgmtd/mgmt_memory.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mgmtd/mgmt_memory.c b/mgmtd/mgmt_memory.c index 39e036c30..2858bc7e4 100644 --- a/mgmtd/mgmt_memory.c +++ b/mgmtd/mgmt_memory.c @@ -22,3 +22,15 @@ DEFINE_MTYPE(MGMTD, MGMTD, "MGMTD instance"); DEFINE_MTYPE(MGMTD, MGMTD_BE_ADPATER, "MGMTD backend adapter"); DEFINE_MTYPE(MGMTD, MGMTD_FE_ADPATER, "MGMTD Frontend adapter"); DEFINE_MTYPE(MGMTD, MGMTD_FE_SESSION, "MGMTD Frontend Client Session"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN, "MGMTD Transaction"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_REQ, "MGMTD Transaction Requests"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_SETCFG_REQ, + "MGMTD Transaction Set-Config Requests"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_COMMCFG_REQ, + "MGMTD Transaction Commit-Config Requests"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_GETDATA_REQ, + "MGMTD Transaction Get-Data Requests"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_GETDATA_REPLY, + "MGMTD Transaction Get-Data Replies"); +DEFINE_MTYPE(MGMTD, MGMTD_TXN_CFG_BATCH, "MGMTD Transaction Gonfig Batches"); +DEFINE_MTYPE(MGMTD, MGMTD_CMT_INFO, "MGMTD commit info for tracking commits"); |