From 955565fc5dd6d1afeeb5f03035240e2876d5c3b7 Mon Sep 17 00:00:00 2001 From: Brian Sipos Date: Wed, 19 Jul 2023 10:40:19 -0400 Subject: [PATCH] Initial set of ADMs for the ANMS release --- README.md | 7 +- amp_agent.json | 785 +++++++++++++++++++++++++++++++++++ bp_agent.json | 429 +++++++++++++++++++ index.json | 16 + ion_admin.json | 319 ++++++++++++++ ion_bp_admin.json | 483 ++++++++++++++++++++++ ion_bpsec_admin.json | 823 ++++++++++++++++++++++++++++++++++++ ion_ionsec_admin.json | 178 ++++++++ ion_ipn_admin.json | 154 +++++++ ion_ltp_admin.json | 177 ++++++++ ltp_agent.json | 743 +++++++++++++++++++++++++++++++++ sbsp_agent.json.old | 942 ++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 5054 insertions(+), 2 deletions(-) create mode 100644 amp_agent.json create mode 100644 bp_agent.json create mode 100644 index.json create mode 100644 ion_admin.json create mode 100644 ion_bp_admin.json create mode 100644 ion_bpsec_admin.json create mode 100644 ion_ionsec_admin.json create mode 100644 ion_ipn_admin.json create mode 100644 ion_ltp_admin.json create mode 100644 ltp_agent.json create mode 100644 sbsp_agent.json.old diff --git a/README.md b/README.md index e50221d..553863d 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,5 @@ -# anms-adms -Application Data Models (ADMs) +# ANMS Application Data Models (ADMs) + +This repository contains Application Data Models (ADMs) used by the ANMS and its managed Agents. +This is the initial set of ADMs installed with an ANMS instance but other ADMs can be added to individual ANMS instances after installation. + diff --git a/amp_agent.json b/amp_agent.json new file mode 100644 index 0000000..233a778 --- /dev/null +++ b/amp_agent.json @@ -0,0 +1,785 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "amp_agent", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 1 + }, + { + "name": "namespace", + "type": "STR", + "value": "Amp/Agent", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v3.1", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Edd": [{ + "name": "num_rpt_tpls", + "type": "UINT", + "description": "This is the number of report templates known to the Agent." + }, + { + "name": "num_tbl_tpls", + "type": "UINT", + "description": "This is the number of table templates known to the Agent." + }, + { + "name": "sent_reports", + "type": "UINT", + "description": "This is the number of reports sent by the agent." + }, + { + "name": "num_tbr", + "type": "UINT", + "description": "This is the number of time-based rules running on the agent." + }, + { + "name": "run_tbr", + "type": "UINT", + "description": "This is the number of time-based rules run by the agent since the last reset." + }, + { + "name": "num_sbr", + "type": "UINT", + "description": "This is the number of state-based rules running on the agent." + }, + { + "name": "run_sbr", + "type": "UINT", + "description": "This is the number of state-based rules run by the agent since the last reset." + }, + { + "name": "num_const", + "type": "UINT", + "description": "This is the number of constants known by the agent." + }, + { + "name": "num_var", + "type": "UINT", + "description": "This is the number of variables known by the agent." + }, + { + "name": "num_macros", + "type": "UINT", + "description": "This is the number of macros known by the agent." + }, + { + "name": "run_macros", + "type": "UINT", + "description": "This is the number of macros run by the agent since the last reset." + }, + { + "name": "num_controls", + "type": "UINT", + "description": "This is the number of controls known by the agent." + }, + { + "name": "run_controls", + "type": "UINT", + "description": "This is the number of controls run by the agent since the last reset." + }, + { + "name": "cur_time", + "type": "TV", + "description": "This is the current system time." + } + ], + + "Var": [{ + "name": "num_rules", + "type": "UINT", + "initializer": { + "type": "UINT", + "postfix-expr": [{ + "ns": "Amp/Agent", + "nm": "edd.num_tbr" + }, { + "ns": "Amp/Agent", + "nm": "edd.num_sbr" + }, { + "ns": "Amp/Agent", + "nm": "oper.plusUINT" + }] + }, + "description": "This is the number of rules known to the Agent (#TBR + #SBR)." + }], + + "Tblt":[ + { + "name":"adms", + "columns":[{ + "type":"STR", + "name":"adm_name" + }], + "description":"This table lists all the adms that are supported by the agent." + }, + { + "name":"variables", + "columns":[{ + "type":"ARI", + "name":"ids" + }], + "description":"This table lists the ARI for every variable that is known to the agent." + }, + { + "name":"rptts", + "columns":[{ + "type":"ARI", + "name":"ids" + }], + "description":"This table lists the ARI for every report template that is known to the agent." + }, + { + "name":"macros", + "columns":[{ + "type":"ARI", + "name":"ids" + }], + "description":"This table lists the ARI for every macro that is known to the agent." + }, + { + "name":"rules", + "columns":[{ + "type":"ARI", + "name":"ids" + }], + "description":"This table lists the ARI for every rule that is known to the agent." + }, + { + "name":"tblts", + "columns":[{ + "type":"ARI", + "name":"ids" + }], + "description":"This table lists the ARI for every table template that is known to the agent." + } + + ], + + "Rptt": [{ + "name": "full_report", + "definition": [{ + "ns": "Amp/Agent", + "nm": "mdat.name" + }, + { + "ns": "Amp/Agent", + "nm": "mdat.version" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_rpt_tpls" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_tbl_tpls" + }, + { + "ns": "Amp/Agent", + "nm": "edd.sent_reports" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_tbr" + }, + { + "ns": "Amp/Agent", + "nm": "edd.run_tbr" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_sbr" + }, + { + "ns": "Amp/Agent", + "nm": "edd.run_sbr" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_const" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_var" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_macros" + }, + { + "ns": "Amp/Agent", + "nm": "edd.run_macros" + }, + { + "ns": "Amp/Agent", + "nm": "edd.num_controls" + }, + { + "ns": "Amp/Agent", + "nm": "edd.run_controls" + }, + { + "ns": "Amp/Agent", + "nm": "var.num_rules" + } + ], + "description": "This is all known meta-data, EDD, and VAR values known by the agent." + }], + + "Ctrl": [ + { + "name": "add_var", + "parmspec": [{ + "type": "ARI", + "name": "id" + }, + { + "type": "EXPR", + "name": "def" + }, + { + "type": "BYTE", + "name": "type" + } + ], + "description": "This control configures a new variable definition on the Agent." + }, + { + "name": "del_var", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control removes one or more variable definitions from the Agent." + }, + { + "name": "add_rptt", + "parmspec": [{ + "type": "ARI", + "name": "id" + }, + { + "type": "AC", + "name": "template" + } + ], + "description": "This control configures a new report template definition on the Agent." + }, + { + "name": "del_rptt", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control removes one or more report template definitions from the Agent." + }, + + { + "name": "desc_rptt", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control produces a detailed description of one or more report template identifier(ARI) known to the Agent." + }, + { + "name": "gen_rpts", + "parmspec": [{ + "type": "AC", + "name": "ids" + }, + { + "type": "TNVC", + "name": "rxmgrs" + } + ], + "description": "This control causes the Agent to produce a report entry for each identified report templates and send them to one or more identified managers(ARIs)." + }, + { + "name":"gen_tbls", + "parmspec":[{ + "type":"AC", + "name":"ids" + }, + { + "type": "TNVC", + "name": "rxmgrs" + } + ], + "description": "This control causes the Agent to produce a table for each identified table templates and send them to one or more identified managers(ARIs)." + }, + { + "name": "add_macro", + "parmspec": [{ + "type": "STR", + "name": "name" + }, + { + "type": "ARI", + "name": "id" + }, + { + "type": "AC", + "name": "def" + } + ], + "description": "This control configures a new macro definition on the Agent." + }, + { + "name": "del_macro", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control removes one or more macro definitions from the Agent." + }, + { + "name": "desc_macro", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control produces a detailed description of one or more macro identifier(ARI) known to the Agent." + }, + { + "name": "add_tbr", + "parmspec": [{ + "type": "ARI", + "name": "id" + }, + { + "type": "TV", + "name": "start" + }, + { + "type": "TV", + "name": "period" + }, + { + "type": "UVAST", + "name": "count" + }, + { + "type": "AC", + "name": "action" + }, + { + "type": "STR", + "name": "description" + } + + ], + "description": "This control configures a new time-based rule(TBR) definition on the Agent." + }, + { + "name": "add_sbr", + "parmspec": [{ + "type": "ARI", + "name": "id" + }, + { + "type": "TV", + "name": "start" + }, + { + "type": "EXPR", + "name": "state" + }, + { + "type": "UVAST", + "name": "max_eval" + }, + { + "type": "UVAST", + "name": "count" + }, + { + "type": "AC", + "name": "action" + }, + { + "type": "STR", + "name": "description" + } + + ], + "description": "This control configures a new state-based rule(SBR) definition on the Agent." + }, + { + "name": "del_rule", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control removes one or more rule definitions from the Agent." + }, + { + "name": "desc_rule", + "parmspec": [{ + "type": "AC", + "name": "ids" + }], + "description": "This control produces a detailed description of one or more rules known to the Agent." + }, + { + "name": "store_var", + "parmspec": [{ + "type": "ARI", + "name": "id" + }, + { + "type": "EXPR", + "name": "value" + }], + "description": "This control stores variables." + }, + { + "name": "reset_counts", + "description": "This control resets all Agent ADM statistics reported in the Agent ADM report." + } + ], + + "Const": [{ + "name": "amp_epoch", + "type": "TS", + "value": "1504915200", + "description": "This constant is the time epoch for the Agent." + }], + + "Oper": [{ + "name": "plusINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 addition" + }, + { + "name": "plusUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned Int32 addition" + }, + { + "name": "plusVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 addition" + }, + { + "name": "plusUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 addition" + }, + { + "name": "plusREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 addition" + }, + { + "name": "plusREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 addition" + }, + { + "name": "minusINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 subtraction" + }, + { + "name": "minusUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned Int32 subtraction" + }, + { + "name": "minusVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 subtraction" + }, + { + "name": "minusUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 subtraction" + }, + { + "name": "minusREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 subtraction" + }, + { + "name": "minusREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 subtraction" + }, + { + "name": "multINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 multiplication" + }, + { + "name": "multUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned Int32 multiplication" + }, + { + "name": "multVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 multiplication" + }, + { + "name": "multUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 multiplication" + }, + { + "name": "multREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 multiplication" + }, + { + "name": "multREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 multiplication" + }, + { + "name": "divINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 division" + }, + { + "name": "divUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned Int32 division" + }, + { + "name": "divVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 division" + }, + { + "name": "divUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 division" + }, + { + "name": "divREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 division" + }, + { + "name": "divREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 division" + }, + { + "name": "modINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 modulus division" + }, + { + "name": "modUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned Int32 modulus division" + }, + { + "name": "modVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 modulus division" + }, + { + "name": "modUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 modulus division" + }, + { + "name": "modREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 modulus division" + }, + { + "name": "modREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 modulus division" + }, + { + "name": "expINT", + "result-type": "INT", + "in-type": ["INT", "INT"], + "description": "Int32 exponentiation" + }, + { + "name": "expUINT", + "result-type": "UINT", + "in-type": ["UINT", "UINT"], + "description": "Unsigned int32 exponentiation" + }, + { + "name": "expVAST", + "result-type": "VAST", + "in-type": ["VAST", "VAST"], + "description": "Int64 exponentiation" + }, + { + "name": "expUVAST", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Unsigned Int64 exponentiation" + }, + { + "name": "expREAL32", + "result-type": "REAL32", + "in-type": ["REAL32", "REAL32"], + "description": "Real32 exponentiation" + }, + { + "name": "expREAL64", + "result-type": "REAL64", + "in-type": ["REAL64", "REAL64"], + "description": "Real64 exponentiation" + }, + { + "name": "bitAND", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Bitwise and" + }, + { + "name": "bitOR", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Bitwise or" + }, + { + "name": "bitXOR", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "Bitwise xor" + }, + { + "name": "bitNOT", + "result-type": "UVAST", + "in-type": ["UVAST"], + "description": "Bitwise not" + }, + { + "name": "logAND", + "result-type": "BOOL", + "in-type": ["BOOL", "BOOL"], + "description": "Logical and" + }, + { + "name": "logOR", + "result-type": "BOOL", + "in-type": ["BOOL", "BOOL"], + "description": "Logical or" + }, + { + "name": "logNOT", + "result-type": "BOOL", + "in-type": ["BOOL"], + "description": "Logical not" + }, + { + "name": "abs", + "result-type": "UVAST", + "in-type": ["VAST"], + "description": "absolute value" + }, + { + "name": "lessThan", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": "<" + }, + { + "name": "greaterThan", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": ">" + }, + { + "name": "lessEqual", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": "<=" + }, + { + "name": "greaterEqual", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": ">=" + }, + { + "name": "notEqual", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": "!=" + }, + { + "name": "Equal", + "result-type": "BOOL", + "in-type": ["UNK", "UNK"], + "description": "==" + }, + { + "name": "bitShiftLeft", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": "<<" + }, + { + "name": "bitShiftRight", + "result-type": "UVAST", + "in-type": ["UVAST", "UVAST"], + "description": ">>" + }, + { + "name": "STOR", + "result-type": "UNK", + "in-type": ["UNK", "UNK"], + "description": "Store value of parm 2 in parm 1" + } + ] +} diff --git a/bp_agent.json b/bp_agent.json new file mode 100644 index 0000000..2916546 --- /dev/null +++ b/bp_agent.json @@ -0,0 +1,429 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "bp_agent", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 2 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/bp_agent", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v0.1", + "description": "The version of the ADM" + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Edd": [{ + "name": "bp_node_id", + "type": "STR", + "description": "The node administration endpoint" + }, + { + "name": "bp_node_version", + "type": "STR", + "description": "The latest version of the BP supported by this node" + }, + { + "name": "available_storage", + "type": "UVAST", + "description": "Bytes available for bundle storage" + }, + { + "name": "last_reset_time", + "type": "UVAST", + "description": "The last time that BP counters were reset, either due to execution of a reset control or a restart of the node itself" + }, + { + "name": "num_registrations", + "type": "UINT", + "description": "number of registrations" + }, + { + "name": "num_pend_fwd", + "type": "UINT", + "description": "number of bundles pending forwarding" + }, + { + "name": "num_pend_dis", + "type": "UINT", + "description": "number of bundles awaiting dispatch" + }, + { + "name": "num_in_cust", + "type": "UINT", + "description": "number of bundles" + }, + { + "name": "num_pend_reassembly", + "type": "UINT", + "description": "number of bundles pending reassembly" + }, + { + "name": "bundles_by_priority", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "mask" + }], + "description": "number of bundles for the given priority. Priority is given as a priority mask where Bulk=0x1, normal=0x2, express=0x4. Any bundles matching any of the masked priorities will be included in the returned count" + }, + { + "name": "bytes_by_priority", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "mask" + }], + "description": "number of bytes of the given priority. Priority is given as a priority mask where bulk=0x1, normal=0x2, express=0x4. Any bundles matching any of the masked priorities will be included in the returned count." + }, + { + "name": "src_bundles_by_priority", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "mask" + }], + "description": "number of bundles sourced by this node of the given priority. Priority is given as a priority mask where bulk=0x1, normal=0x2, express=0x4. Any bundles sourced by this node and matching any of the masked priorities will be included in the returned count." + }, + { + "name": "src_bytes_by_priority", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "mask" + }], + "description": "number of bytes sourced by this node of the given priority. Priority is given as a priority mask where bulk=0x1, normal=0x2, express=0x4. Any bundles sourced by this node and matching any of the masked priorities will be included in the returned count" + }, + { + "name": "num_fragmented_bundles", + "type": "UINT", + "description": "number of fragmented bundles" + }, + { + "name": "num_fragments_produced", + "type": "UINT", + "description": "number of bundles with fragmentary payloads produced by this node" + }, + { + "name": "num_failed_by_reason", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "mask" + }], + "description": "number of bundles failed for any of the given reasons. (noInfo=0x1, Expired=0x2, UniFwd=0x4, Cancelled=0x8, NoStorage=0x10, BadEID=0x20, NoRoute=0x40, NoContact=0x80, BadBlock=0x100)" + }, + { + "name": "num_bundles_deleted", + "type": "UINT", + "description": "number of bundles deleted by this node" + }, + { + "name": "failed_custody_bundles", + "type": "UINT", + "description": "number of bundle fails at this node" + }, + { + "name": "failed_custody_bytes", + "type": "UINT", + "description": "number bytes of fails at this node" + }, + { + "name": "failed_forward_bundles", + "type": "UINT", + "description": "number bundles not forwarded by this node" + }, + { + "name": "failed_forward_bytes", + "type": "UINT", + "description": "number of bytes not forwaded by this node" + }, + { + "name": "abandoned_bundles", + "type": "UINT", + "description": "number of bundles abandoned by this node" + }, + { + "name": "abandoned_bytes", + "type": "UINT", + "description": "number of bytes abandoned by this node" + }, + { + "name": "discarded_bundles", + "type": "UINT", + "description": "number of bundles discarded by this node" + }, + { + "name": "discarded_bytes", + "type": "UINT", + "description": "number of bytes discarded by this node" + }, + { + "name": "endpoint_names", + "type": "STR", + "description": "CSV list of endpoint names for this node" + }, + { + "name": "endpoint_active", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "endpoint_name" + }], + "description": "is the given endpoint active? (0=no)" + }, + { + "name": "endpoint_singleton", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "endpoint_name" + }], + "description": "is the given endpoint singleton? (0=no)" + }, + { + "name": "endpoint_policy", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "endpoint_name" + }], + "description": "Does the endpoint abandon on fail (0=no)" + } + ], + + "Rptt": [{ + "name": "full_report", + "definition": [ + { + "ns": "DTN/bp_agent", + "nm": "Mdat.name" + }, + { + "ns": "DTN/bp_agent", + "nm": "Mdat.version" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bp_node_id" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bp_node_version" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.available_storage" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.last_reset_time" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_registrations" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_pend_fwd" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_pend_dis" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_in_cust" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_pend_reassembly" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bundles_by_priority(1)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bundles_by_priority(2)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bundles_by_priority(4)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bytes_by_priority(1)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bytes_by_priority(2)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.bytes_by_priority(4)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bundles_by_priority(1)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bundles_by_priority(2)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bundles_by_priority(4)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bytes_by_priority(1)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bytes_by_priority(2)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.src_bytes_by_priority(4)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_fragmented_bundles" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_fragments_produced" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(1)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(2)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(4)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(8)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(16)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(32)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(64)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(128)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_failed_by_reason(256)" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.num_bundles_deleted" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.failed_custody_bundles" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.failed_custody_bytes" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.failed_forward_bundles" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.failed_forward_bytes" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.abandoned_bundles" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.discarded_bundles" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.discarded_bytes" + }, + { + "ns": "DTN/bp_agent", + "nm": "Edd.endpoint_names" + } + ], + "description": "This is all known meta-data, EDD, and VAR values known by the agent." + }, + { + "name": "endpoint_report", + "parmspec": [{ + "type": "STR", + "name": "endpoint_id" + }], + "definition": [{ + "ns": "DTN/bp_agent", + "nm": "edd.endpoint_active", + "ap": [{ + "type": "ParmName", + "value": "endpoint_id" + }] + }, + { + "ns": "DTN/bp_agent", + "nm": "edd.endpoint_singleton", + "ap": [{ + "type": "ParmName", + "value": "endpoint_id" + }] + }, + { + "ns": "DTN/bp_agent", + "nm": "edd.endpoint_policy", + "ap": [{ + "type": "ParmName", + "value": "endpoint_id" + }] + } + ], + "description": "This is all known endpoint information" + } + ], + + "Ctrl": [{ + "name": "reset_all_counts", + "description": "This control causes the Agent to reset all counts associated with bundle or byte statistics and to set the last reset time of the BP primitive data to the time when the control was run" + }] +} diff --git a/index.json b/index.json new file mode 100644 index 0000000..7158b21 --- /dev/null +++ b/index.json @@ -0,0 +1,16 @@ +{ + "registry" : "IANA:DTN", + "namespaces" : + [ + {"reserved" : true}, + {"file" : "amp_agent.json", "issuer" : "IANA", "name" : "amp_agent", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-agent-05"}, + {"file" : "bp_agent.json", "issuer" : "IANA", "name" : "bp_agent", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-bp-03"}, + {"file" : "ltp_agent.json", "issuer" : "IANA", "name" : "ltp_agent", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ltp-01"}, + {"file" : "ion_bpsec_admin.json", "issuer" : "IANA", "name" : "bpsec", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-bpsec-01"}, + {"file" : "ion_bp_admin.json", "issuer" : "IANA", "name" : "ion_bp_admin", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ion-bpadmin-01"}, + {"file" : "ion_ipn_admin.json", "issuer" : "IANA", "name" : "ion_ipn_admin", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ion-ipnadmin-00"}, + {"file" : "ion_admin.json", "issuer" : "IANA", "name" : "ion_admin", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ionadmin-01"}, + {"file" : "ion_ionsec_admin.json", "issuer" : "IANA", "name" : "ionsec_admin", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ionsec-01"}, + {"file" : "ion_ltp_admin.json", "issuer" : "IANA", "name" : "ion_ltp_admin", "url" : "https://tools.ietf.org/html/draft-birrane-dtn-adm-ion-ltpadmin-01"} + ] +} diff --git a/ion_admin.json b/ion_admin.json new file mode 100644 index 0000000..f7af3ff --- /dev/null +++ b/ion_admin.json @@ -0,0 +1,319 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ion_admin", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 7 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ION/ionadmin", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Edd": [{ + "name": "clock_error", + "type": "UINT", + "description": "This is how accurate the ION Agent's clock is described as number of seconds, an absolute value." + }, + { + "name": "clock_sync", + "type": "UINT", + "description": "This is whether or not the the computer on which the local ION node is running has a synchronized clock." + }, + { + "name": "congestion_alarm_control", + "type": "UINT", + "description": "This is whether or not the node has a control that will set off alarm if it will become congested at some future time." + }, + { + "name": "congestion_end_time_forecasts", + "type": "UINT", + "description": "This is the time horizon beyond which we don't attempt to forecast congestion" + }, + { + "name": "consumption_rate", + "type": "UINT", + "description": "This is the mean rate of continuous data delivery to local BP applications." + }, + { + "name": "inbound_file_system_occupancy_limit", + "type": "UINT", + "description": "This is the maximum number of megabytes of storage space in ION's local file system that can be used for the storage of inbound zero-copy objects. The default heap limit is 1 Terabyte." + }, + { + "name": "inbound_heap_occupancy_limit", + "type": "UINT", + "description": "This is the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of inbound zero-copy objects. The default heap limit is 20% of the SDR data space's total heap size." + }, + { + "name": "number", + "type": "UINT", + "description": "This is a CBHE node number which uniquely identifies the node in the delay-tolerant network." + }, + { + "name": "outbound_file_system_occupancy_limit", + "type": "UINT", + "description": "This is the maximum number of megabytes of storage space in ION's local file system that can be used for the storage of outbound zero-copy objects. The default heap limit is 1 Terabyte." + }, + { + "name": "outbound_heap_occupancy_limit", + "type": "UINT", + "description": "This is the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of outbound zero-copy objects. The default heap limit is 20% of the SDR data space's total heap size." + }, + { + "name": "production_rate", + "type": "UINT", + "description": "This is the rate of local data production." + }, + { + "name": "ref_time", + "type": "TV", + "description": "This is the reference time that will be used for interpreting relative time values from now until the next revision of reference time." + }, + { + "name": "time_delta", + "type": "UINT", + "description": "The time delta is used to compensate for error (drift) in clocks, particularly spacecraft clocks. The hardware clock on a spacecraft might gain or lose a few seconds every month, to the point at which its understanding of the current time - as reported out by the operating system - might differ significantly from the actual value of Unix Epoch time as reported by authoritative clocks on Earth. To compensate for this difference without correcting the clock itself (which can be difficult and dangerous), ION simply adds the time delta to the Epoch time reported by the operating system." + }, + { + "name": "version", + "type": "STR", + "description": "This is the version of ION that is currently installed." + } + ], + + "Tblt": [{ + "name": "contacts", + "columns": [{ + "type": "TV", + "name": "start_time" + }, { + "type": "TV", + "name": "stop_time" + }, { + "type": "UINT", + "name": "source_node" + }, { + "type": "UINT", + "name": "dest_node" + }, { + "type": "UVAST", + "name": "xmit_data" + }, { + "type": "UVAST", + "name": "confidence" + }], + "description": "This table shows all scheduled periods of data transmission." + }, + { + "name": "ranges", + "columns": [{ + "type": "TV", + "name": "start" + }, { + "type": "TV", + "name": "stop" + }, { + "type": "UINT", + "name": "node" + }, { + "type": "UINT", + "name": "other_node" + }, { + "type": "UINT", + "name": "distance" + }], + "description": "This table shows all predicted periods of constant distance between nodes." + } + ], + + "Ctrl": [{ + "name": "node_init", + "parmspec": [{ + "type": "UINT", + "name": "node_nbr" + }, { + "type": "STR", + "name": "config_file" + }], + "description": "Until this control is executed, the local ION node does not exist and most ionadmin controls will fail. The control configures the local node to be identified by node_number, a CBHE node number which uniquely identifies the node in the delay-tolerant network. It also configures ION's data space (SDR) and shared working-memory region. For this purpose it uses a set of default settings if no argument follows node_number or if the argument following node_number is ''; otherwise it uses the configuration settings found in a configuration file. If configuration file name is provided, then the configuration file's name is implicitly 'hostname.ionconfig'; otherwise, ion_config_filename is taken to be the explicit configuration file name." + }, + { + "name": "node_clock_error_set", + "parmspec": [{ + "type": "UINT", + "name": "known_maximum_clock_error" + }], + "description": "This management control sets ION's understanding of the accuracy of the scheduled start and stop times of planned contacts, in seconds. The default value is 1." + }, + { + "name": "node_clock_sync_set", + "parmspec": [{ + "type": "BOOL", + "name": "new_state" + }], + "description": "This management control reports whether or not the computer on which the local ION node is running has a synchronized clock." + }, + { + "name": "node_congestion_alarm_control_set", + "parmspec": [{ + "type": "STR", + "name": "congestion_alarm_control" + }], + "description": "This management control establishes a control which will automatically be executed whenever ionadmin predicts that the node will become congested at some future time." + }, + { + "name": "node_congestion_end_time_forecasts_set", + "parmspec": [{ + "type": "UINT", + "name": "end_time_for_congestion_forcasts" + }], + "description": "This management control sets the end time for computed congestion forecasts. Setting congestion forecast horizon to zero sets the congestion forecast end time to infinite time in the future: if there is any predicted net growth in bundle storage space occupancy at all, following the end of the last scheduled contact, then eventual congestion will be predicted. The default value is zero, i.e., no end time." + }, + { + "name": "node_consumption_rate_set", + "parmspec": [{ + "type": "UINT", + "name": "planned_data_consumption_rate" + }], + "description": "This management control sets ION's expectation of the mean rate of continuous data delivery to local BP applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of -1, which is the default, indicates that the rate of local data consumption is unknown; in that case local data consumption is not considered in the computation of congestion forecasts." + }, + { + "name": "node_contact_add", + "parmspec": [{ + "type": "TV", + "name": "start" + }, { + "type": "TV", + "name": "stop" + }, { + "type": "UINT", + "name": "from_node_id" + }, { + "type": "UINT", + "name": "to_node_id" + }, { + "type": "UVAST", + "name": "data_rate" + }, { + "type": "UVAST", + "name": "prob" + }], + "description": "This control schedules a period of data transmission from source_node to dest_node. The period of transmission will begin at start_time and end at stop_time, and the rate of data transmission will be xmit_data_rate bytes/second. Our confidence in the contact defaults to 1.0, indicating that the contact is scheduled - not that non-occurrence of the contact is impossible, just that occurrence of the contact is planned and scheduled rather than merely imputed from past node behavior. In the latter case, confidence indicates our estimation of the likelihood of this potential contact." + }, + { + "name": "node_contact_del", + "parmspec": [{ + "type": "TV", + "name": "start" + }, { + "type": "UINT", + "name": "node_id" + }, { + "type": "STR", + "name": "dest" + }], + "description": "This control deletes the scheduled period of data transmission from source_node to dest_node starting at start_time. To delete all contacts between some pair of nodes, use '*' as start_time." + }, + { + "name": "node_inbound_heap_occupancy_limit_set", + "parmspec": [{ + "type": "UINT", + "name": "heap_occupancy_limit" + }, { + "type": "UINT", + "name": "file_system_occupancy_limit" + }], + "description": "This management control sets the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of inbound zero-copy objects. A value of -1 for either limit signifies 'leave unchanged'. The default heap limit is 30% of the SDR data space's total heap size." + }, + { + "name": "node_outbound_heap_occupancy_limit_set", + "parmspec": [{ + "type": "UINT", + "name": "heap_occupancy_limit" + }, { + "type": "UINT", + "name": "file_system_occupancy_limit" + }], + "description": "This management control sets the maximum number of megabytes of storage space in ION's SDR non-volatile heap that can be used for the storage of outbound zero-copy objects. A value of -1 for either limit signifies 'leave unchanged'. The default heap limit is 30% of the SDR data space's total heap size." + }, + { + "name": "node_production_rate_set", + "parmspec": [{ + "type": "UINT", + "name": "planned_data_production_rate" + }], + "description": "This management control sets ION's expectation of the mean rate of continuous data origination by local BP applications throughout the period of time over which congestion forecasts are computed. For nodes that function only as routers this variable will normally be zero. A value of -1, which is the default, indicates that the rate of local data production is unknown; in that case local data production is not considered in the computation of congestion forecasts." + }, + { + "name": "node_range_add", + "parmspec": [{ + "type": "TV", + "name": "start" + }, { + "type": "TV", + "name": "stop" + }, { + "type": "UINT", + "name": "node" + }, { + "type": "UINT", + "name": "other_node" + }, { + "type": "UINT", + "name": "distance" + }], + "description": "This control predicts a period of time during which the distance from node to other_node will be constant to within one light second. The period will begin at start_time and end at stop_time, and the distance between the nodes during that time will be distance light seconds." + }, + { + "name": "node_range_del", + "parmspec": [{ + "type": "TV", + "name": "start" + }, { + "type": "UINT", + "name": "node" + }, { + "type": "UINT", + "name": "other_node" + }], + "description": "This control deletes the predicted period of constant distance between node and other_node starting at start_time. To delete all ranges between some pair of nodes, use '*' as start_time." + }, + { + "name": "node_ref_time_set", + "parmspec": [{ + "type": "TV", + "name": "time" + }], + "description": "This is used to set the reference time that will be used for interpreting relative time values from now until the next revision of reference time. Note that the new reference time can be a relative time, i.e., an offset beyond the current reference time." + }, + { + "name": "node_time_delta_set", + "parmspec": [{ + "type": "UINT", + "name": "local_time_sec_after_epoch" + }], + "description": "This management control sets ION's understanding of the current difference between correct time and the Unix Epoch time values reported by the clock for the local ION node's computer. This delta is automatically applied to locally obtained time values whenever ION needs to know the current time." + } + ] +} diff --git a/ion_bp_admin.json b/ion_bp_admin.json new file mode 100644 index 0000000..d81a3d4 --- /dev/null +++ b/ion_bp_admin.json @@ -0,0 +1,483 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ion_bp_admin", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 5 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ION/bpadmin", + "description": "The namespace of the ADM" + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM" + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM" + } + ], + "Edd": [{ + "name": "bp_version", + "type": "STR", + "description": "Version of installed ION BP Admin utility." + }], + "Tblt": [{ + "name": "endpoints", + "columns": [{ + "type": "STR", + "name": "scheme_name" + }, { + "type": "STR", + "name": "endpoint_nss" + }, { + "type": "UINT", + "name": "app_pid" + }, { + "type": "STR", + "name": "recv_rule" + }, { + "type": "STR", + "name": "rcv_script" + }], + "description": "Local endpoints, regardless of scheme name." + }, + { + "name": "inducts", + "columns": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "STR", + "name": "cli_control" + }], + "description": "Inducts established locally for the indicated CL protocol." + }, + { + "name": "outducts", + "columns": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "UINT", + "name": "clo_pid" + }, { + "type": "STR", + "name": "clo_control" + }, { + "type": "UINT", + "name": "max_payload_length" + }], + "description": "If protocolName is specified, this table lists all outducts established locally for the indicated CL protocol. Otherwise, it lists all locally established outducts, regardless of their protocol." + }, + { + "name": "protocols", + "columns": [{ + "type": "STR", + "name": "name" + }, { + "type": "UINT", + "name": "payload_bpf" + }, { + "type": "UINT", + "name": "overhead_bpf" + }, { + "type": "UINT", + "name": "protocol class" + }], + "description": "Convergence layer protocols that can currently be utilized at the local node." + }, + { + "name": "schemes", + "columns": [{ + "type": "STR", + "name": "scheme_name" + }, { + "type": "UINT", + "name": "fwd_pid" + }, { + "type": "STR", + "name": "fwd_cmd" + }, { + "type": "UINT", + "name": "admin_app_pid" + }, { + "type": "STR", + "name": "admin_app_cmd" + }], + "description": "Declared endpoint naming schemes." + }, + { + "name": "egress_plans", + "columns": [{ + "type": "STR", + "name": "neighbor_eid" + }, { + "type": "UINT", + "name": "clm_pid" + }, { + "type": "UINT", + "name": "nominal_rate" + }], + "description": "Egress plans." + } + ], + "Ctrl": [{ + "name": "endpoint_add", + "parmspec": [{ + "type": "STR", + "name": "endpoint_id" + }, { + "type": "UINT", + "name": "type" + }, { + "type": "STR", + "name": "rcv_script" + }], + "description": "Establish DTN endpoint named endpointId on the local node. The remaining parameters indicate what is to be done when bundles destined for this endpoint arrive at a time when no application has the endpoint open for bundle reception. If type is 'x', then such bundles are to be discarded silently and immediately. If type is 'q', then such bundles are to be enqueued for later delivery and, if recvScript is provided, recvScript is to be executed." + }, + { + "name": "endpoint_change", + "parmspec": [{ + "type": "STR", + "name": "endpoint_id" + }, { + "type": "UINT", + "name": "type" + }, { + "type": "STR", + "name": "rcv_script" + }], + "description": "Change the action taken when bundles destined for this endpoint arrive at a time when no application has the endpoint open for bundle reception." + }, + { + "name": "endpoint_del", + "parmspec": [{ + "type": "STR", + "name": "endpoint_id" + }], + "description": "Delete the endpoint identified by endpointId. The control will fail if any bundles are currently pending delivery to this endpoint." + }, + { + "name": "induct_add", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "STR", + "name": "cli_control" + }], + "description": "Establish a duct for reception of bundles via the indicated CL protocol. The duct's data acquisition structure is used and populated by the induct task whose operation is initiated by cliControl at the time the duct is started." + }, + { + "name": "induct_change", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "STR", + "name": "cli_control" + }], + "description": "Change the control used to initiate operation of the induct task for the indicated duct." + }, + { + "name": "induct_del", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Delete the induct identified by protocolName and ductName. The control will fail if any bundles are currently pending acquisition via this induct." + }, + { + "name": "induct_start", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Start the indicated induct task as defined for the indicated CL protocol on the local node." + }, + { + "name": "induct_stop", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Stop the indicated induct task as defined for the indicated CL protocol on the local node." + }, + { + "name": "manage_heap_max", + "parmspec": [{ + "type": "UINT", + "name": "max_database_heap_per_acquisition" + }], + "description": "Declare the maximum number of bytes of SDR heap space that will be occupied by any single bundle acquisition activity (nominally the acquisition of a single bundle, but this is at the discretion of the convergence-layer input task). All data acquired in excess of this limit will be written to a temporary file pending extraction and dispatching of the acquired bundle or bundles. The default is the minimum allowed value (560 bytes), which is the approximate size of a ZCO file reference object; this is the minimum SDR heap space occupancy in the event that all acquisition is into a file." + }, + { + "name": "outduct_add", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "STR", + "name": "clo_command" + }, { + "type": "UINT", + "name": "max_payload_length" + }], + "description": "Establish a duct for transmission of bundles via the indicated CL protocol. the duct's data transmission structure is serviced by the outduct task whose operation is initiated by CLOcommand at the time the duct is started. A value of zero for maxPayloadLength indicates that bundles of any size can be accomodated; this is the default." + }, + { + "name": "outduct_change", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }, { + "type": "STR", + "name": "clo_control" + }, { + "type": "UINT", + "name": "max_payload_length" + }], + "description": "Set new values for the indicated duct's payload size limit and the control that is used to initiate operation of the outduct task for this duct." + }, + { + "name": "outduct_del", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Delete the outduct identified by protocolName and ductName. The control will fail if any bundles are currently pending transmission via this outduct." + }, + { + "name": "outduct_start", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Start the indicated outduct task as defined for the indicated CL protocol on the local node." + }, + { + "name": "outduct_stop", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Stop the indicated outduct task as defined for the indicated CL protocol on the local node." + }, + { + "name": "egress_plan_add", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }, { + "type": "STR", + "name": "protocol_name" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Add an egress plan for a specific peer and outduct." + }, + { + "name": "egress_plan_del", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Remove an egress plan for a specific peer and outduct." + }, + { + "name": "egress_plan_start", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Start the indicated egress plan task." + }, + { + "name": "egress_plan_stop", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }, { + "type": "STR", + "name": "duct_name" + }], + "description": "Stop the indicated egress plan task." + }, + { + "name": "egress_plan_block", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }], + "description": "Disable transmission of bundles queued for transmission to the indicated node and reforwards all non-critical bundles currently queued for transmission to this node. This may result in some or all of these bundles being enqueued for transmission to the psuedo-node limbo." + }, + { + "name": "egress_plan_unblock", + "parmspec": [{ + "type": "STR", + "name": "neighbor_eid" + }], + "description": "Re-enable transmission of bundles to the indicated node and reforwards all bundles in limbo in the hope that the unblocking of this egress plan will enable some of them to be transmitted." + }, + { + "name": "protocol_add", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }, { + "type": "UINT", + "name": "payload_bytes_per_frame" + }, { + "type": "UINT", + "name": "overhead_bytes_per_frame" + }, { + "type": "UINT", + "name": "nominal_data_rate" + }], + "description": "Establish access to the named convergence layer protocol at the local node. The payloadBytesPerFrame and overheadBytesPerFrame arguments are used in calculating the estimated transmission capacity consumption of each bundle, to aid in route computation and congesting forecasting. The optional nominalDataRate argument overrides the hard coded default continuous data rate for the indicated protocol for purposes of rate control. For all promiscuous prototocols-that is, protocols whose outducts are not specifically dedicated to transmission to a single identified convergence-layer protocol endpoint- the protocol's applicable nominal continuous data rate is the data rate that is always used for rate control over links served by that protocol; data rates are not extracted from contact graph information. This is because only the induct and outduct throttles for non-promiscuous protocols (LTP, TCP) can be dynamically adjusted in response to changes in data rate between the local node and its neighbors, as enacted per the contact plan. Even for an outduct of a non-promiscuous protocol the nominal data rate may be the authority for rate control, in the event that the contact plan lacks identified contacts with the node to which the outduct is mapped." + }, + { + "name": "protocol_del", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }], + "description": "Delete the convergence layer protocol identified by protocolName. The control will fail if any ducts are still locally declared for this protocol." + }, + { + "name": "protocol_start", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }], + "description": "Start all induct and outduct tasks for inducts and outducts that have been defined for the indicated CL protocol on the local node." + }, + { + "name": "protocol_stop", + "parmspec": [{ + "type": "STR", + "name": "protocol_name" + }], + "description": "Stop all induct and outduct tasks for inducts and outducts that have been defined for the indicated CL protocol on the local node." + }, + { + "name": "scheme_add", + "parmspec": [{ + "type": "STR", + "name": "scheme_name" + }, { + "type": "STR", + "name": "forwarder_control" + }, { + "type": "STR", + "name": "admin_app_control" + }], + "description": "Declares an endpoint naming scheme for use in endpoint IDs, which are structured as URIs: schemeName:schemeSpecificPart. forwarderControl will be executed when the scheme is started on this node, to initiate operation of a forwarding daemon for this scheme. adminAppControl will also be executed when the scheme is started on this node, to initiate operation of a daemon that opens a custodian endpoint identified within this scheme so that it can recieve and process custody signals and bundle status reports." + }, + { + "name": "scheme_change", + "parmspec": [{ + "type": "STR", + "name": "scheme_name" + }, { + "type": "STR", + "name": "forwarder_control" + }, { + "type": "STR", + "name": "admin_app_control" + }], + "description": "Set the indicated scheme's forwarderControl and adminAppControl to the strings provided as arguments." + }, + { + "name": "scheme_del", + "parmspec": [{ + "type": "STR", + "name": "scheme_name" + }], + "description": "Delete the scheme identified by schemeName. The control will fail if any bundles identified in this scheme are pending forwarding, transmission, or delivery." + }, + { + "name": "scheme_start", + "parmspec": [{ + "type": "STR", + "name": "scheme_name" + }], + "description": "Start the forwarder and administrative endpoint tasks for the indicated scheme task on the local node." + }, + { + "name": "scheme_stop", + "parmspec": [{ + "type": "STR", + "name": "scheme_name" + }], + "description": "Stop the forwarder and administrative endpoint tasks for the indicated scheme task on the local node." + }, + { + "name": "watch", + "parmspec": [{ + "type": "UINT", + "name": "status" + }, { + "type": "STR", + "name": "activity_spec" + }], + "description": "Enable/Disable production of a continuous stream of user selected Bundle Protocol activity indication characters. A watch parameter of 1 selects all BP activity indication characters, 0 deselects allBP activity indication characters; any other activitySpec such as acz~ selects all activity indication characters in the string, deselecting all others. BP will print each selected activity indication character to stdout every time a processing event of the associated type occurs: a new bundle is queued for forwarding, b bundle is queued for transmission, c bundle is popped from its transmission queue, m custody acceptance signal is recieved, w custody of bundle is accepted, x custody of bundle is refused, y bundle is accepted upon arrival, z bundle is queued for delivery to an application, ~ bundle is abandoned (discarded) on attempt to forward it, ! bundle is destroyed due to TTL expiration, & custody refusal signal is recieved, # bundle is queued for re-forwarding due to CL protocol failures, j bundle is placed in 'limbo' for possible future reforwarding, k bundle is removed from 'limbo' and queued for reforwarding, $ bundle's custodial retransmission timeout interval expired." + } + ] +} diff --git a/ion_bpsec_admin.json b/ion_bpsec_admin.json new file mode 100644 index 0000000..74b37af --- /dev/null +++ b/ion_bpsec_admin.json @@ -0,0 +1,823 @@ +{ + "uses":["Amp/Agent"], + "Mdat": [ + { + "name": "name", + "type": "STR", + "value": "bpsec", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 10 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/bpsec", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v1.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Edd": [ + { + "name": "num_good_tx_bcb_blk", + "type": "UINT", + "description": "Total successfully Tx Bundle Confidentiality blocks" + }, + { + "name": "num_bad_tx_bcb_blk", + "type": "UINT", + "description": "Total unsuccessfully Tx Block Confidentiality Block (BCB) blocks" + }, + { + "name": "num_good_rx_bcb_blk", + "type": "UINT", + "description": "Total successfully Rx BCB blocks" + }, + { + "name": "num_bad_rx_bcb_blk", + "type": "UINT", + "description": "Total unsuccessfully Rx BCB blocks" + }, + { + "name": "num_missing_rx_bcb_blks", + "type": "UINT", + "description": "Total missing-on-RX BCB blocks" + }, + { + "name": "num_fwd_bcb_blks", + "type": "UINT", + "description": "Total forward BCB blocks" + }, + { + "name": "num_good_tx_bcb_bytes", + "type": "UINT", + "description": "Total successfully Tx BCB bytes" + }, + { + "name": "num_bad_tx_bcb_bytes", + "type": "UINT", + "description": "Total unsuccessfully Tx BCB bytes" + }, + { + "name": "num_good_rx_bcb_bytes", + "type": "UINT", + "description": "Total successfully Rx BCB bytes" + }, + { + "name": "num_bad_rx_bcb_bytes", + "type": "UINT", + "description": "Total unsuccessfully Rx BCB bytes" + }, + { + "name": "num_missing_rx_bcb_bytes", + "type": "UINT", + "description": "Total missing-on-Rx BCB bytes" + }, + { + "name": "num_fwd_bcb_bytes", + "type": "UINT", + "description": "Total forwarded BCB bytes" + }, + { + "name": "num_good_tx_bib_blks", + "type": "UINT", + "description": "Total successfully Tx Block Integrity Block (BIB) blocks" + }, + { + "name": "num_bad_tx_bib_blks", + "type": "UINT", + "description": "Total unsuccessfully Tx BIB blocks" + }, + { + "name": "num_good_rx_bib_blks", + "type": "UINT", + "description": "Total successfully Rx BIB blocks" + }, + { + "name": "num_bad_rx_bib_blks", + "type": "UINT", + "description": "Total unsuccessfully Rx BIB blocks" + }, + { + "name": "num_miss_rx_bib_blks", + "type": "UINT", + "description": "Total missing-on-Rx BIB blocks" + }, + { + "name": "num_fwd_bib_blks", + "type": "UINT", + "description": "Total forwarded BIB blocks" + }, + { + "name": "num_good_tx_bib_bytes", + "type": "UINT", + "description": "Total successfully Tx BIB bytes" + }, + { + "name": "num_bad_tx_bib_bytes", + "type": "UINT", + "description": "Total unsuccessfully Tx BIB bytes" + }, + { + "name": "num_good_rx_bib_bytes", + "type": "UINT", + "description": "Total successfully Rx BIB bytes" + }, + { + "name": "num_bad_rx_bib_bytes", + "type": "UINT", + "description": "Total unsuccessfully Rx BIB bytes" + }, + { + "name": "num_miss_rx_bib_bytes", + "type": "UINT", + "description": "Total missing-on-Rx BIB bytes" + }, + { + "name": "num_fwd_bib_bytes", + "type": "UINT", + "description": "Total forwarded BIB bytes" + }, + { + "name": "last_update", + "type": "TV", + "description": "Last BPSEC update" + }, + { + "name": "num_known_keys", + "type": "UINT", + "description": "Number of known keys" + }, + { + "name": "key_names", + "type": "STR", + "description": "Known key names" + }, + { + "name": "ciphersuite_names", + "type": "STR", + "description": "Known ciphersuite names" + }, + { + "name": "rule_source", + "type": "STR", + "description": "Known rule sources" + }, + { + "name": "num_good_tx_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Tx BCB blocks from SRC" + }, + { + "name": "num_bad_tx_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed TX BCB blocks from SRC" + }, + { + "name": "num_good_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Rx BCB blocks from SRC" + }, + { + "name": "num_bad_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed RX BCB blocks from SRC" + }, + { + "name": "num_missing_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of missing-onRX BCB blocks from SRC" + }, + { + "name": "num_fwd_bcb_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of forwarded BCB blocks from SRC" + }, + { + "name": "num_good_tx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Tx bcb bytes from SRC" + }, + { + "name": "num_bad_tx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Tx bcb bytes from SRC" + }, + { + "name": "num_good_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Rx bcb bytes from SRC" + }, + { + "name": "num_bad_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Rx bcb bytes from SRC" + }, + { + "name": "num_missing_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of missing-on-Rx bcb bytes from SRC" + }, + { + "name": "num_fwd_bcb_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of forwarded bcb bytes from SRC" + }, + { + "name": "num_good_tx_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Tx BIB blocks from SRC" + }, + { + "name": "num_bad_tx_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Tx BIB blocks from SRC" + }, + { + "name": "num_good_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Rx BIB blocks from SRC" + }, + { + "name": "num_bad_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Rx BIB blocks from SRC" + }, + { + "name": "num_miss_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of missing-on-Rx BIB blocks from SRC" + }, + { + "name": "num_fwd_bib_blks_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of forwarded BIB blocks from SRC" + }, + { + "name": "num_good_tx_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Tx BIB bytes from SRC" + }, + { + "name": "num_bad_tx_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Tx BIB bytes from SRC" + }, + { + "name": "num_good_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of successfully Rx BIB bytes from SRC" + }, + { + "name": "num_bad_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of failed Rx BIB bytes from SRC" + }, + { + "name": "num_missing_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of missing-on-Rx BIB bytes from SRC" + }, + { + "name": "num_fwd_bib_bytes_src", + "type": "UINT", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Number of forwarded BIB bytes from SRC" + }, + { + "name": "last_update_src", + "type": "TV", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Last BPSEC update from SRC" + }, + { + "name": "last_reset", + "type": "TV", + "parmspec": [{"type":"STR","name":"Src"}], + "description": "Last reset" + } + ], + + "Tblt" : [ + { + "name": "keys", + "columns": [{"type":"STR","name":"key_name"}], + "description": "This table lists all keys in the security policy database." + }, + { + "name": "ciphersuites", + "columns": [{"type":"STR","name":"csname"}], + "description": "This table lists supported ciphersuites." + }, + { + "name": "bib_rules", + "columns": [{"type":"STR","name":"SrcEid"}, + {"type":"STR","name":"DestEid"}, + {"type":"UINT","name":"TgtBlk"}, + {"type":"STR","name":"csName"}, + {"type":"STR","name":"keyName"} + ], + "description": "BIB Rules." + }, + { + "name": "bcb_rules", + "columns": [{"type":"STR","name":"SrcEid"}, + {"type":"STR","name":"DestEid"}, + {"type":"UINT","name":"TgtBlk"}, + {"type":"STR","name":"csName"}, + {"type":"STR","name":"keyName"} + ], + "description": "BCB Rules." + } + ], + + "Var": [ + { + "name": "total_bad_tx_blks", + "type": "UINT", + "initializer": { + "type": "UINT", + "postfix-expr": [{ + "ns":"DTN/bpsec", + "nm":"Edd.num_bad_tx_bib_blks" + },{ + "ns":"DTN/bpsec", + "nm":"Edd.num_bad_tx_bcb_blk" + },{ + "ns":"Amp/Agent", + "nm":"Oper.plusUINT" + }] + }, + "description": "This is the number of failed TX blocks (# failed BIB + # failed bcb)." + } + ], + + "Rptt": [ + { + "name": "full_report", + "definition" : [ + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bcb_blk" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bcb_blk" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bcb_blk" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bcb_blk" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_missing_rx_bcb_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bcb_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_missing_rx_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bcb_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_miss_rx_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bib_blks" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_miss_rx_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bib_bytes" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.last_update" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_known_keys" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.key_names" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.ciphersuite_names" + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.rule_source" + } + ], + "description": "all known meta-data, externally defined data, and variables" + }, + { + "name": "source_report", + "parmspec": [{"type":"STR","name":"Source"}], + "definition": [{ + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bcb_blks_src", + + + + + + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_missing_rx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bcb_bytes_src", + + + + + + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_missing_rx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bib_blks_src", + + + + + + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_miss_rx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_tx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_tx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_good_rx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_bad_rx_bib_bytes_src", + + + + + + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_missing_rx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.num_fwd_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.last_update_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns":"DTN/bpsec", + "nm": "Edd.last_reset", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + } + ], + "description": "security info by source" + } + ], + + "Ctrl": [ + { + "name": "rst_all_cnts", "description": "This control causes the Agent to reset all counts associated with block or byte statistics and to set the Last Reset Time of the BPsec EDD data to the time when the control was run." + }, + { + "name": "rst_src_cnts", + "parmspec": [{"type":"STR","name":"src"}], + "description": "This control causes the Agent to reset all counts (blocks and bytes) associated with a given bundle source and set the Last Reset Time of the source statistics to the time when the control was run." + }, + { + "name": "delete_key", + "parmspec": [{"type":"STR","name":"key_name"}], + "description": "This control deletes a key from the BPsec system." + }, + { + "name": "add_key", + "parmspec":[ + {"type":"STR","name":"key_name"}, + {"type":"BYTESTR","name":"keyData"} + ], + "description": "This control adds a key to the BPsec system." + }, + { + "name": "add_bib_rule", + "parmspec": [ + {"type":"STR","name":"source"}, + {"type":"STR","name":"destination"}, + {"type":"INT","name":"target"}, + {"type":"STR","name":"ciphersuiteId"}, + {"type":"STR","name":"key_name"} + ], + "description": "This control configures policy on the BPsec protocol implementation that describes how BIB blocks should be applied to bundles in the system. This policy is captured as a rule which states when transmitting a bundle from the given source endpoint ID to the given destination endpoint ID, blocks of type target should have a BIB added to them using the given ciphersuite and the given key." + }, + { + "name": "del_bib_rule", + "parmspec": [ + {"type":"STR","name":"source"}, + {"type":"STR","name":"destination"}, + {"type":"INT","name":"target"} + ], + "description": "This control removes any configured policy on the BPsec protocol implementation that describes how BIB blocks should be applied to bundles in the system. A BIB policy is uniquely identified by a source endpoint Id, a destination Id, and a target block type." + }, + { + "name": "list_bib_rules", + "description": "This control returns a table describinng all of the BIB policy rules that are known to the BPsec implementation." + }, + { + "name": "add_bcb_rule", + "parmspec": [ + {"type":"STR","name":"source"}, + {"type":"STR","name":"destination"}, + {"type":"INT","name":"target"}, + {"type":"STR","name":"ciphersuiteId"}, + {"type":"STR","name":"key_name"} + ], + "description": "This control configures policy on the BPsec protocol implementation that describes how BCB blocks should be applied to bundles in the system. This policy is captured as a rule which states when transmitting a bundle from the given source endpoint id to the given destination endpoint id, blocks of type target should have a bcb added to them using the given ciphersuite and the given key." + }, + { + "name": "del_bcb_rule", + "parmspec": [ + {"type":"STR","name":"source"}, + {"type":"STR","name":"destination"}, + {"type":"INT","name":"target"} + ], + "description": "This control removes any configured policy on the BPsec protocol implementation that describes how BCB blocks should be applied to bundles in the system. A bcb policy is uniquely identified by a source endpoint id, a destination endpoint id, and a target block type." + }, + { + "name": "list_bcb_rules", + "description": "This control returns a table describing all of the bcb policy rules that are known to the BPsec implementation" + } + ] +} diff --git a/ion_ionsec_admin.json b/ion_ionsec_admin.json new file mode 100644 index 0000000..8022c48 --- /dev/null +++ b/ion_ionsec_admin.json @@ -0,0 +1,178 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ionsec_admin", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 8 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ION/ionsecadmin", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Tblt": [{ + "name": "ltp_rx_rules", + "columns": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This table lists all LTP segment authentication rulesin the security policy database." + }, + { + "name": "ltp_tx_rules", + "columns": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This table lists all LTP segment signing rules in the security policy database." + } + ], + + "Ctrl": [{ + "name": "key_add", + "parmspec": [{ + "type": "STR", + "name": "key_name" + }, { + "type": "BYTESTR", + "name": "key_value" + }], + "description": "This control adds a named key value to the security policy database. The content of file_name is taken as the value of the key.Named keys can be referenced by other elements of thesecurity policy database." + }, + { + "name": "key_change", + "parmspec": [{ + "type": "STR", + "name": "key_name" + }, { + "type": "BYTESTR", + "name": "key_value" + }], + "description": "This control changes the value of the named key, obtaining the new key value from the content of file_name." + }, + { + "name": "key_del", + "parmspec": [{ + "type": "STR", + "name": "key_name" + }], + "description": "This control deletes the key identified by name." + }, + { + "name": "ltp_rx_rule_add", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This control adds a rule specifying the manner in which LTP segment authentication will be applied to LTP segmentsrecieved from the indicated LTP engine. A segment from the indicated LTP engine will only be deemed authentic if it contains an authentication extension computed via the ciphersuite identified by ciphersuite_nbr using the applicable key value. If ciphersuite_nbr is 255 then the applicable key value is a hard-coded constant and key_name must be omitted; otherwise key_nameis required and the applicable key value is the current value of the key named key_name in the local security policy database. Valid values of ciphersuite_nbr are: 0: HMAC-SHA1-80 1: RSA-SHA256 255: NULL" + }, + { + "name": "ltp_rx_rule_change", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This control changes the parameters of the LTP segment authentication rule for the indicated LTP engine." + }, + { + "name": "ltp_rx_rule_del", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }], + "description": "This control deletes the LTP segment authentication rule for the indicated LTP engine." + }, + { + "name": "ltp_tx_rule_add", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This control adds a rule specifying the manner in which LTP segments transmitted to the indicated LTP engine mustbe signed. Signing a segment destined for the indicated LTP engineentails computing an authentication extension via the ciphersuite identified by ciphersuite_nbr using the applicable key value. If ciphersuite_nbr is 255 then the applicable key value is a hard-coded constant and key_name must be omitted; otherwise key_nameis required and the applicable key value is the current value of the key named key_name in the local security policy database.Valid values of ciphersuite_nbr are: 0:HMAC_SHA1-80 1: RSA_SHA256 255: NULL" + }, + { + "name": "ltp_tx_rule_change", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }, { + "type": "UINT", + "name": "ciphersuite_nbr" + }, { + "type": "STR", + "name": "key_name" + }], + "description": "This control changes the parameters of the LTP segment signing rule for the indicated LTP engine." + }, + { + "name": "ltp_tx_rule_del", + "parmspec": [{ + "type": "UINT", + "name": "ltp_engine_id" + }], + "description": "This control deletes the LTP segment signing rule forthe indicated LTP engine." + }, + { + "name": "list_keys", + "description": "This control lists the names of keys available in the key policy database." + }, + { + "name": "list_ltp_rx_rules", + "description": "This control lists all LTP segment authentication rules in the security policy database." + }, + { + "name": "list_ltp_tx_rules", + "description": "This control lists all LTP segment signing rules in the security policy database." + } + ] +} diff --git a/ion_ipn_admin.json b/ion_ipn_admin.json new file mode 100644 index 0000000..79a24bb --- /dev/null +++ b/ion_ipn_admin.json @@ -0,0 +1,154 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ion_ipn_admin", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 6 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ION/ipnadmin", + "description": "The namespace of the ADM" + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM" + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM" + } + ], + "Edd": [{ + "name": "ion_version", + "type": "STR", + "description": "This is the version of ion is that currently installed." + }], + "Tblt": [{ + "name": "exits", + "columns": [{ + "type": "UVAST", + "name": "first_node_nbr" + }, + { + "type": "UVAST", + "name": "last_node_nbr" + }, + { + "type": "STR", + "name": "gateway_endpoint_id" + } + ], + "description": "This table lists all of the exits that are defined in the IPN database for the local node." + }, + { + "name": "plans", + "columns": [{ + "type": "UVAST", + "name": "node_nbr" + }, + { + "type": "STR", + "name": "action" + }, + { + "type": "STR", + "name": "spec" + } + ], + "description": "This table lists all of the egress plans that are established in the IPN database for the local node." + } + ], + "Ctrl": [{ + "name": "exit_add", + "parmspec": [{ + "type": "UINT", + "name": "first_node_nbr" + }, + { + "type": "UINT", + "name": "last_node_nbr" + }, + { + "type": "STR", + "name": "gateway_endpoint_id" + } + ], + "description": "This control establishes an exit for static default routing." + }, + { + "name": "exit_change", + "parmspec": [{ + "type": "UINT", + "name": "first_node_nbr" + }, + { + "type": "UINT", + "name": "last_node_nbr" + }, + { + "type": "STR", + "name": "gatewayEndpointId" + } + ], + "description": "This control changes the gateway node number for the exit identified by firstNodeNbr and lastNodeNbr." + }, + { + "name": "exit_del", + "parmspec": [{ + "type": "UINT", + "name": "first_node_nbr" + }, + { + "type": "UINT", + "name": "last_node_nbr" + } + ], + "description": "This control deletes the exit identified by firstNodeNbr and lastNodeNbr." + }, + { + "name": "plan_add", + "parmspec": [{ + "type": "UVAST", + "name": "node_nbr" + }, + { + "type": "UINT", + "name": "xmit_rate" + } + ], + "description": "This control establishes an egress plan for the bundles that must be transmitted to the neighboring node that is identified by it's nodeNbr." + }, + { + "name": "plan_change", + "parmspec": [{ + "type": "UINT", + "name": "node_nbr" + }, + { + "type": "STR", + "name": "default_duct_expression" + } + ], + "description": "This control changes the duct expression for the indicated plan." + }, + { + "name": "plan_del", + "parmspec": [{ + "type": "UINT", + "name": "node_nbr" + }], + "description": "This control deletes the egress plan for the node that is identified by it's nodeNbr." + } + ] +} diff --git a/ion_ltp_admin.json b/ion_ltp_admin.json new file mode 100644 index 0000000..62cf9e5 --- /dev/null +++ b/ion_ltp_admin.json @@ -0,0 +1,177 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ion_ltp_admin", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 9 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ION/ltpadmin", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + "Edd": [{ + "name": "ion_version", + "type": "STR", + "description": "This is the version of ION that is currently installed." + }], + "Tblt": [{ + "name": "spans", + "columns": [{ + "type": "UVAST", + "name": "peer_engine_nbr" + }, { + "type": "UINT", + "name": "max_export_sessions" + }, { + "type": "UINT", + "name": "max_import_sessions" + }, { + "type": "UINT", + "name": "max_segment_size" + }, { + "type": "UINT", + "name": "aggregation_size_limit" + }, { + "type": "UINT", + "name": "aggregation_time_limit" + }, { + "type": "STR", + "name": "lso_control" + }, { + "type": "UINT", + "name": "queueing_latency" + }], + "description": "This table lists all spans of potential LTP data interchange that exists between the local LTP engine and the indicated (neighboring) LTP engine." + }], + "Ctrl": [{ + "name": "manage_heap", + "parmspec": [{ + "type": "UINT", + "name": "max_database_heap_per_block" + }], + "description": "This control declares the maximum number of bytes of SDR heap space that will be occupied by the acquisition of any single LTP block. All data acquired in excess of this limit will be written to a temporary file pending extraction and dispatching of the acquired block. Default is the minimum allowed value (560 bytes), which is the approximate size of a ZCO file reference object; this is the minimum SDR heap space occupancy in the event that all acquisition is into a file." + }, + { + "name": "manage_max_ber", + "parmspec": [{ + "type": "REAL32", + "name": "max_expected_bit_error_rate" + }], + "description": "This control sets the expected maximum bit error rate(BER) that LTP should provide for in computing the maximum number of transmission efforts to initiate in the transmission of a given block.(Note that this computation is also sensitive to data segment size and to the size of the block that is to be transmitted.) The default value is .0001 (10^-4)." + }, + { + "name": "manage_own_queue_time", + "parmspec": [{ + "type": "UINT", + "name": "own_queing_latency" + }], + "description": "This control sets the number of seconds of predicted additional latency attributable to processing delay within the local engine itself that should be included whenever LTP computes the nominal round-trip time for an exchange of data with any remote engine.The default value is 1." + }, + { + "name": "manage_screening", + "parmspec": [{ + "type": "UINT", + "name": "new_state" + }], + "description": "This control enables or disables the screening of received LTP segments per the periods of scheduled reception in the node's contact graph. By default, screening is disabled. When screening is enabled, such segments are silently discarded. Note that when screening is enabled the ranges declared in the contact graph must be accurate and clocks must be synchronized; otherwise, segments will be arriving at times other than the scheduled contact intervals and will be discarded." + }, + { + "name": "span_add", + "parmspec": [{ + "type": "UVAST", + "name": "peer_engine_number" + }, { + "type": "UINT", + "name": "max_export_sessions" + }, { + "type": "UINT", + "name": "max_import_sessions" + }, { + "type": "UINT", + "name": "max_segment_size" + }, { + "type": "UINT", + "name": "aggregtion_size_limit" + }, { + "type": "UINT", + "name": "aggregation_time_limit" + }, { + "type": "STR", + "name": "lso_control" + }, { + "type": "UINT", + "name": "queuing_latency" + }], + "description": "This control declares that a span of potential LTP data interchange exists between the local LTP engine and the indicated (neighboring) LTP engine." + }, + { + "name": "span_change", + "parmspec": [{ + "type": "UVAST", + "name": "peer_engine_number" + }, { + "type": "UINT", + "name": "max_export_sessions" + }, { + "type": "UINT", + "name": "max_import_sessions" + }, { + "type": "UINT", + "name": "max_segment_size" + }, { + "type": "UINT", + "name": "aggregtion_size_limit" + }, { + "type": "UINT", + "name": "aggregation_time_limit" + }, { + "type": "STR", + "name": "lso_control" + }, { + "type": "UINT", + "name": "queuing_latency" + }], + "description": "This control sets the indicated span's configuration parameters to the values provided as arguments" + }, + { + "name": "span_del", + "parmspec": [{ + "type": "UVAST", + "name": "peer_engine_number" + }], + "description": "This control deletes the span identified by peerEngineNumber. The control will fail if any outbound segments for this span are pending transmission or any inbound blocks from the peer engine are incomplete." + }, + { + "name": "stop", + "description": "This control stops all link service input and output tasks for the local LTP engine." + }, + { + "name": "watch_set", + "parmspec": [{ + "type": "STR", + "name": "activity" + }], + "description": "This control enables and disables production of a continuous stream of user- selected LTP activity indication characters. Activity parameter of 1 selects all LTP activity indication characters; 0 de-selects all LTP activity indication characters; any other activitySpec such as df{] selects all activity indication characters in the string, de-selecting all others. LTP will print each selected activity indication character to stdout every time a processing event of the associated type occurs: d bundle appended to block for next session, e segment of block is queued for transmission, f block has been fully segmented for transmission, g segment popped from transmission queue, h positive ACK received for block and session ended, s segment received, t block has been fully received, @ negative ACK received for block and segments retransmitted, = unacknowledged checkpoint was retransmitted, + unacknowledged report segment was retransmitted, { export session canceled locally (by sender), } import session canceled by remote sender, [ import session canceled locally (by receiver), ] export session canceled by remote receiver" + } + ] +} diff --git a/ltp_agent.json b/ltp_agent.json new file mode 100644 index 0000000..8f5c185 --- /dev/null +++ b/ltp_agent.json @@ -0,0 +1,743 @@ +{ + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "ltp_agent", + "description": "The human-readable name of the ADM." + }, + { + "name": "enum", + "type": "INT", + "value": 3 + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/ltp_agent", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v0.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + "Edd": [{ + "name": "span_remote_engine_nbr", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The remote engine number of this span." + }, + { + "name": "span_cur_expt_sess", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "Expected sessions on this span." + }, + { + "name": "span_cur_out_seg", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The current number of outbound segments for this span." + }, + { + "name": "span_cur_imp_sess", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The current number of import segments for this span." + }, + { + "name": "span_cur_in_seg", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The current number of inbound segments for this span." + }, + { + "name": "span_reset_time", + "type": "UVAST", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The last time the span counters were reset." + }, + { + "name": "span_out_seg_q_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output segment queued count for the span." + }, + { + "name": "span_out_seg_q_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output segment queued bytes for the span." + }, + { + "name": "span_out_seg_pop_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output segment popped count for the span." + }, + { + "name": "span_out_seg_pop_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output segment popped bytes for the span." + }, + { + "name": "span_out_ckpt_xmit_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output checkpoint transmit count for the span." + }, + { + "name": "span_out_pos_ack_rx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output positive acknowledgement received count for the span." + }, + { + "name": "span_out_neg_ack_rx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output negative acknowledgement received count for the span." + }, + { + "name": "span_out_cancel_rx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output cancelled received count for the span." + }, + { + "name": "span_out_ckpt_rexmit_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output checkpoint retransmit count for the span." + }, + { + "name": "span_out_cancel_xmit_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output cancel retransmit count for the span." + }, + { + "name": "span_out_complete_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The output completed count for the span." + }, + { + "name": "span_in_seg_rx_red_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received red count for the span." + }, + { + "name": "span_in_seg_rx_red_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received red bytes for the span." + }, + { + "name": "span_in_seg_rx_green_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received green count for the span." + }, + { + "name": "span_in_seg_rx_green_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received green bytes for the span." + }, + { + "name": "span_in_seg_rx_redundant_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received redundant count for the span." + }, + { + "name": "span_in_seg_rx_redundant_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment received redundant bytes for the span." + }, + { + "name": "span_in_seg_rx_mal_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment malformed count for the span." + }, + { + "name": "span_in_seg_rx_mal_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment malformed bytes for the span." + }, + { + "name": "span_in_seg_rx_unk_sender_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment unknown sender count for the span." + }, + { + "name": "span_in_seg_rx_unk_sender_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment unknown sender bytes for the span." + }, + { + "name": "span_in_seg_rx_unk_client_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment unknown client count for the span." + }, + { + "name": "span_in_seg_rx_unk_client_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment unknown client bytes for the span." + }, + { + "name": "span_in_seg_stray_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment stray count for the span." + }, + { + "name": "span_in_seg_stray_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment stray bytes for the span." + }, + { + "name": "span_in_seg_miscolor_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment miscolored count for the span." + }, + { + "name": "span_in_seg_miscolor_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment miscolored bytes for the span." + }, + { + "name": "span_in_seg_closed_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment closed count for the span." + }, + { + "name": "span_in_seg_closed_bytes", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input segment closed bytes for the span." + }, + { + "name": "span_in_ckpt_rx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input checkpoint receive count for the span." + }, + { + "name": "span_in_pos_ack_tx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input positive acknolwedgement transmitted count for the span." + }, + { + "name": "span_in_neg_ack_tx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input negative acknolwedgement transmitted count for the span." + }, + { + "name": "span_in_cancel_tx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input cancel transmitted count for the span." + }, + { + "name": "span_in_ack_retx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input acknolwedgement retransmit count for the span." + }, + { + "name": "span_in_cancel_rx_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input cancel receive count for the span." + }, + { + "name": "span_in_complete_cnt", + "type": "UINT", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "The input completed count for the span." + } + ], + "Tblt": [{ + "name": "engines", + "columns": [{ + "type": "UVAST", + "name": "peer_engine_nbr" + }], + "description": "This table lists all known remote engine ids." + }], + "Rptt": [{ + "name": "endpointReport", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "definition": [ + {"ns": "DTN/ltp_agent", + "nm":"edd.span_remote_engine_nbr", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_cur_expt_sess", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_cur_out_seg", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_cur_imp_sess", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_cur_in_seg", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_reset_time", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_seg_q_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_seg_q_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_seg_pop_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_seg_pop_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + }, + { + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_ckpt_xmit_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_pos_ack_rx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_neg_ack_rx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_cancel_rx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_ckpt_rexmit_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_cancel_xmit_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_out_complete_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_red_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_red_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_green_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_green_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_redundant_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_redundant_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_mal_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_mal_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_unk_sender_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_unk_sender_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_unk_client_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_rx_unk_client_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_stray_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_stray_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_miscolor_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_miscolor_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_closed_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_seg_closed_bytes", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_ckpt_rx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_pos_ack_tx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_neg_ack_tx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_cancel_tx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_ack_retx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_cancel_rx_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + },{ + "ns":"DTN/ltp_agent", + "nm":"edd.span_in_complete_cnt", + "ap": [{ + "type": "ParmName", + "value": "ltp_span" + }] + } + ], + "description": "This is all known endpoint information" + }], + + "Ctrl": [{ + "name": "reset", + "parmspec": [{ + "type": "UINT", + "name": "ltp_span" + }], + "description": "Resets the counters associated with the engine and updates the last reset time for the span to be the time when this control was run." + } + ] +} diff --git a/sbsp_agent.json.old b/sbsp_agent.json.old new file mode 100644 index 0000000..0371a0f --- /dev/null +++ b/sbsp_agent.json.old @@ -0,0 +1,942 @@ +{ + "uses": ["Amp/Agent"], + "Mdat": [{ + "name": "name", + "type": "STR", + "value": "sbsp", + "description": "The human-readable name of the ADM." + }, + { + "name": "namespace", + "type": "STR", + "value": "DTN/sbsp", + "description": "The namespace of the ADM." + }, + { + "name": "version", + "type": "STR", + "value": "v1.0", + "description": "The version of the ADM." + }, + { + "name": "organization", + "type": "STR", + "value": "JHUAPL", + "description": "The name of the issuing organization of the ADM." + } + ], + + "Edd": [{ + "name": "num_good_tx_bcb_blk", + "type": "UINT", + "description": "Total successfully Tx Bundle Confidentiality blocks" + }, + { + "name": "num_bad_tx_bcb_blk", + "type": "UINT", + "description": "Total unsuccessfully Tx Block Confidentiality Block (BCB) blocks" + }, + { + "name": "num_good_rx_bcb_blk", + "type": "UINT", + "description": "Total successfully Rx BCB blocks" + }, + { + "name": "num_bad_rx_bcb_blk", + "type": "UINT", + "description": "Total unsuccessfully Rx BCB blocks" + }, + { + "name": "num_missing_rx_bcb_blks", + "type": "UINT", + "description": "Total missing-on-RX BCB blocks" + }, + { + "name": "num_fwd_bcb_blks", + "type": "UINT", + "description": "Total forward BCB blocks" + }, + { + "name": "num_good_tx_bcb_bytes", + "type": "UINT", + "description": "Total successfully Tx BCB bytes" + }, + { + "name": "num_bad_tx_bcb_bytes", + "type": "UINT", + "description": "Total unsuccessfully Tx BCB bytes" + }, + { + "name":"num_bad_tx_bcb_blks", + "type":"UINT", + "description":"Total unsuccessfully Tx BCB blocks" + }, + { + "name": "num_good_rx_bcb_bytes", + "type": "UINT", + "description": "Total successfully Rx BCB bytes" + }, + { + "name": "num_bad_rx_bcb_bytes", + "type": "UINT", + "description": "Total unsuccessfully Rx BCB bytes" + }, + { + "name": "num_missing_rx_bcb_bytes", + "type": "UINT", + "description": "Total missing-on-Rx BCB bytes" + }, + { + "name": "num_fwd_bcb_bytes", + "type": "UINT", + "description": "Total forwarded BCB bytes" + }, + { + "name": "num_good_tx_bib_blks", + "type": "UINT", + "description": "Total successfully Tx Block Integrity Block (BIB) blocks" + }, + { + "name": "num_bad_tx_bib_blks", + "type": "UINT", + "description": "Total unsuccessfully Tx BIB blocks" + }, + { + "name": "num_good_rx_bib_blks", + "type": "UINT", + "description": "Total successfully Rx BIB blocks" + }, + { + "name": "num_bad_rx_bib_blks", + "type": "UINT", + "description": "Total unsuccessfully Rx BIB blocks" + }, + { + "name": "num_miss_rx_bib_blks", + "type": "UINT", + "description": "Total missing-on-Rx BIB blocks" + }, + { + "name": "num_fwd_bib_blks", + "type": "UINT", + "description": "Total forwarded BIB blocks" + }, + { + "name": "num_good_tx_bib_bytes", + "type": "UINT", + "description": "Total successfully Tx BIB bytes" + }, + { + "name": "num_bad_tx_bib_bytes", + "type": "UINT", + "description": "Total unsuccessfully Tx BIB bytes" + }, + { + "name": "num_good_rx_bib_bytes", + "type": "UINT", + "description": "Total successfully Rx BIB bytes" + }, + { + "name": "num_bad_rx_bib_bytes", + "type": "UINT", + "description": "Total unsuccessfully Rx BIB bytes" + }, + { + "name": "num_miss_rx_bib_bytes", + "type": "UINT", + "description": "Total missing-on-Rx BIB bytes" + }, + { + "name": "num_fwd_bib_bytes", + "type": "UINT", + "description": "Total forwarded BIB bytes" + }, + { + "name": "last_update", + "type": "TV", + "description": "Last sbsp update" + }, + { + "name": "num_known_keys", + "type": "UINT", + "description": "Number of known keys" + }, + { + "name": "key_names", + "type": "STR", + "description": "Known key names" + }, + { + "name": "ciphersuite_names", + "type": "STR", + "description": "Known ciphersuite names" + }, + { + "name": "rule_source", + "type": "STR", + "description": "Known rule sources" + }, + { + "name": "num_good_tx_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Tx BCB blocks from SRC" + }, + { + "name": "num_bad_tx_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed TX BCB blocks from SRC" + }, + { + "name": "num_good_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Rx BCB blocks from SRC" + }, + { + "name": "num_bad_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed RX BCB blocks from SRC" + }, + { + "name": "num_missing_rx_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of missing-onRX BCB blocks from SRC" + }, + { + "name": "num_fwd_bcb_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of forwarded BCB blocks from SRC" + }, + { + "name": "num_good_tx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Tx bcb bytes from SRC" + }, + { + "name": "num_bad_tx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Tx bcb bytes from SRC" + }, + { + "name": "num_good_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Rx bcb bytes from SRC" + }, + { + "name": "num_bad_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Rx bcb bytes from SRC" + }, + { + "name": "num_missing_rx_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of missing-on-Rx bcb bytes from SRC" + }, + { + "name": "num_fwd_bcb_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of forwarded bcb bytes from SRC" + }, + { + "name": "num_good_tx_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Tx BIB blocks from SRC" + }, + { + "name": "num_bad_tx_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Tx BIB blocks from SRC" + }, + { + "name": "num_good_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Rx BIB blocks from SRC" + }, + { + "name": "num_bad_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Rx BIB blocks from SRC" + }, + { + "name": "num_miss_rx_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of missing-on-Rx BIB blocks from SRC" + }, + { + "name": "num_fwd_bib_blks_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of forwarded BIB blocks from SRC" + }, + { + "name": "num_good_tx_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Tx BIB bytes from SRC" + }, + { + "name": "num_bad_tx_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Tx BIB bytes from SRC" + }, + { + "name": "num_good_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of successfully Rx BIB bytes from SRC" + }, + { + "name": "num_bad_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of failed Rx BIB bytes from SRC" + }, + { + "name": "num_missing_rx_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of missing-on-Rx BIB bytes from SRC" + }, + { + "name": "num_fwd_bib_bytes_src", + "type": "UINT", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Number of forwarded BIB bytes from SRC" + }, + { + "name": "last_update_src", + "type": "TV", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Last sbsp update from SRC" + }, + { + "name": "last_reset", + "type": "TV", + "parmspec": [{ + "type": "STR", + "name": "Src" + }], + "description": "Last reset" + } + ], + + "Tblt": [{ + "name": "bib_rules", + "columns": [{ + "type": "STR", + "name": "SrcEid" + }, { + "type": "STR", + "name": "DestEid" + }, + { + "type": "UINT", + "name": "TgtBlk" + }, + { + "type": "STR", + "name": "csName" + }, + { + "type": "STR", + "name": "keyName" + } + ], + "description": "BIB Rules." + }, + { + "name": "bcb_rules", + "columns": [{ + "type": "STR", + "name": "SrcEid" + }, { + "type": "STR", + "name": "DestEid" + }, + { + "type": "UINT", + "name": "TgtBlk" + }, + { + "type": "STR", + "name": "csName" + }, + { + "type": "STR", + "name": "keyName" + } + ], + "description": "BCB Rules." + } + ], + + "Var": [{ + "name": "total_bad_tx_blks", + "type": "UINT", + "initializer": { + "type": "UINT", + "postfix-expr": [{ + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bib_blks" + }, { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bcb_blks" + }, { + "ns": "Amp/Agent", + "nm": "Oper.plusUINT" + }] + }, + "description": "This is the number of failed TX blocks (# failed BIB + # failed bcb)." + }], + + "Rptt": [{ + "name": "full_report", + "definition": [{ + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bcb_blk" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bcb_blk" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bcb_blk" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bcb_blk" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_missing_rx_bcb_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bcb_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_missing_rx_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bcb_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_miss_rx_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bib_blks" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_miss_rx_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bib_bytes" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.last_update" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_known_keys" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.key_names" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.ciphersuite_names" + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.rule_source" + } + ], + "description": "all known meta-data, externally defined data, and variables" + }, + { + "name": "source_report", + "parmspec": [{ + "type": "STR", + "name": "Source" + }], + "definition": [{ + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_missing_rx_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bcb_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_missing_rx_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bcb_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_miss_rx_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bib_blks_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_tx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_tx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_good_rx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_bad_rx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_missing_rx_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.num_fwd_bib_bytes_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.last_update_src", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + }, + { + "ns": "DTN/sbsp", + "nm": "Edd.last_reset", + "ap": [{ + "type": "ParmName", + "value": "Source" + }] + } + ], + "description": "security info by source" + } + ], + + "Ctrl": [{ + "name": "rst_all_cnts", + "description": "This control causes the Agent to reset all counts associated with block or byte statistics and to set the Last Reset Time of the sbsp EDD data to the time when the control was run." + }, + { + "name": "rst_src_cnts", + "parmspec": [{ + "type": "STR", + "name": "src" + }], + "description": "This control causes the Agent to reset all counts (blocks and bytes) associated with a given bundle source and set the Last Reset Time of the source statistics to the time when the control was run." + }, + { + "name": "delete_key", + "parmspec": [{ + "type": "STR", + "name": "key_name" + }], + "description": "This control deletes a key from the sbsp system." + }, + { + "name": "add_key", + "parmspec": [{ + "type": "STR", + "name": "key_name" + }, + { + "type": "BYTESTR", + "name": "keyData" + } + ], + "description": "This control adds a key to the sbsp system." + }, + { + "name": "add_bib_rule", + "parmspec": [{ + "type": "STR", + "name": "source" + }, + { + "type": "STR", + "name": "destination" + }, + { + "type": "INT", + "name": "target" + }, + { + "type": "STR", + "name": "ciphersuiteId" + }, + { + "type": "STR", + "name": "key_name" + } + ], + "description": "This control configures policy on the sbsp protocol implementation that describes how BIB blocks should be applied to bundles in the system. This policy is captured as a rule which states when transmitting a bundle from the given source endpoint ID to the given destination endpoint ID, blocks of type target should have a BIB added to them using the given ciphersuite and the given key." + }, + { + "name": "del_bib_rule", + "parmspec": [{ + "type": "STR", + "name": "source" + }, + { + "type": "STR", + "name": "destination" + }, + { + "type": "INT", + "name": "target" + } + ], + "description": "This control removes any configured policy on the sbsp protocol implementation that describes how BIB blocks should be applied to bundles in the system. A BIB policy is uniquely identified by a source endpoint Id, a destination Id, and a target block type." + }, + { + "name": "add_bcb_rule", + "parmspec": [{ + "type": "STR", + "name": "source" + }, + { + "type": "STR", + "name": "destination" + }, + { + "type": "INT", + "name": "target" + }, + { + "type": "STR", + "name": "ciphersuiteId" + }, + { + "type": "STR", + "name": "key_name" + } + ], + "description": "This control configures policy on the sbsp protocol implementation that describes how BCB blocks should be applied to bundles in the system. This policy is captured as a rule which states when transmitting a bundle from the given source endpoint id to the given destination endpoint id, blocks of type target should have a bcb added to them using the given ciphersuite and the given key." + }, + { + "name": "del_bcb_rule", + "parmspec": [{ + "type": "STR", + "name": "source" + }, + { + "type": "STR", + "name": "destination" + }, + { + "type": "INT", + "name": "target" + } + ], + "description": "This control removes any configured policy on the sbsp protocol implementation that describes how BCB blocks should be applied to bundles in the system. A bcb policy is uniquely identified by a source endpoint id, a destination endpoint id, and a target block type." + } + ] +}