summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/xref2vtysh.py12
-rw-r--r--python/xrelfo.py4
2 files changed, 13 insertions, 3 deletions
diff --git a/python/xref2vtysh.py b/python/xref2vtysh.py
index a4f8560bb0..c325979d24 100644
--- a/python/xref2vtysh.py
+++ b/python/xref2vtysh.py
@@ -44,7 +44,7 @@ daemon_flags = {
"lib/routemap.c": "VTYSH_RMAP",
"lib/routemap_cli.c": "VTYSH_RMAP",
"lib/spf_backoff.c": "VTYSH_ISISD",
- "lib/thread.c": "VTYSH_ALL",
+ "lib/event.c": "VTYSH_ALL",
"lib/vrf.c": "VTYSH_VRF",
"lib/vty.c": "VTYSH_ALL",
}
@@ -325,7 +325,17 @@ class CommandEntry:
def load(cls, xref):
nodes = NodeDict()
+ mgmtname = "mgmtd/libmgmt_be_nb.la"
for cmd_name, origins in xref.get("cli", {}).items():
+ # If mgmtd has a yang version of a CLI command, make it the only daemon
+ # to handle it. For now, daemons can still be compiling their cmds into the
+ # binaries to allow for running standalone with CLI config files. When they
+ # do this they will also be present in the xref file, but we want to ignore
+ # those in vtysh.
+ if "yang" in origins.get(mgmtname, {}).get("attrs", []):
+ CommandEntry.process(nodes, cmd_name, mgmtname, origins[mgmtname])
+ continue
+
for origin, spec in origins.items():
CommandEntry.process(nodes, cmd_name, origin, spec)
return nodes
diff --git a/python/xrelfo.py b/python/xrelfo.py
index 4c956ca6ac..a40b19e5fb 100644
--- a/python/xrelfo.py
+++ b/python/xrelfo.py
@@ -40,7 +40,7 @@ tool available) could not be found. It should be included with the sources.
# constants, need to be kept in sync manually...
-XREFT_THREADSCHED = 0x100
+XREFT_EVENTSCHED = 0x100
XREFT_LOGMSG = 0x200
XREFT_DEFUN = 0x300
XREFT_INSTALL_ELEMENT = 0x301
@@ -110,7 +110,7 @@ class XrefThreadSched(ELFDissectStruct, XrelfoJson):
struct = "xref_threadsched"
-Xref.containers[XREFT_THREADSCHED] = XrefThreadSched
+Xref.containers[XREFT_EVENTSCHED] = XrefThreadSched
class XrefLogmsg(ELFDissectStruct, XrelfoJson):