Skip to main content

Model Data Files

Invariant loads your network snapshot into a network simulation environment which simulates protocols like IPSec, BGP, OSPF, and others, and generates simulated route tables for all devices and VRFs. Invariant makes all aspects of this simulated network available to you through data files.

You can use these data files to:

  • Examine the simulated network in detail
  • Compare data files between two versions of your network
  • Understand the simulated environment in which Invariant rules were evaluated
  • Archive the simulated network data files for query over time

Model Data Files Listing

Model data files are organized into these categories.

  • Network Information: Details about nodes, interfaces, IP addressing, VLANs, and routing tables (RIBs).
  • Topology: Layer 3 adjacencies and other connectivity information.
  • Routing Protocols: Status and configuration of BGP, OSPF, and IPSec sessions.
  • Model Creation Details: Information on how device configurations were parsed and interpreted, including any warnings or ignored lines.

A full listing appears here.

Network Information Files

Complete information about the network model.

FileDescriptionRows Correspond To
nodesNetwork nodes (devices, hosts, cloud resources).Number of nodes loaded in the model.
interfacesNetwork interfaces.Number of interfaces loaded in the model.
named_structuresVendor-independent structures (ACLs, VXLANs, etc).Number of abstract structures loaded in the model.
vlan_propertiesVLANs and VXLANs.Number of VLANs and VXLANs loaded in the model.
hsrp_propertiesHSRP groups.Number of HSRP groups loaded in the model.
mlag_propertiesMLAG domains.Number of MLAG domains loaded in the model.
ip_ownersIP assignments.Number of interfaces with IP addresses assigned.
vrrp_propertiesVRRP groups.Number of VRRP groups loaded in the model.
routesRouting tables.Number of routing table entries across all devices in the model.

Topology Files

FileDescriptionRows Correspond To
layer_3_edgesLayer 3 edges.Number of layer 3 edges in the model.
layer_1_edgesUser-provided layer 1 edges.Number of user-provided layer 1 edges in the model.
edgesLayer 3 edges (duplicate).Number of layer 3 edges in the model.

BGP Files

FileDescriptionRows Correspond To
bgp_process_configConfiguration settings for BGP processes.Number of BGP processes loaded in the model.
bgp_peer_configConfiguration settings for configured BGP peerings.Number of configured BGP peerings loaded in the model.
bgp_session_compatibilityIssues found in configured BGP peerings.Number of configured BGP peerings with issues found.
bgp_session_statusStatus information for configured BGP peerings.Number of configured BGP peerings loaded in the model.
bgp_edgesBGP edges.Number of BGP edges loaded in the model.
bgp_ribsBGP RIBs.Number of BGP RIB entries across all devices in the model.

OSPF Files

FileDescriptionRows Correspond To
ospf_process_configOSPF routing processes.Number of running OSPF processes in the model.
ospf_interface_configInterface-level OSPF configuration details.Number of interfaces running OSPF.
ospf_area_configOSPF areas.Number of OSPF areas in the model.
ospf_session_compatibilityOSPF sessions.Number of OSPF sessions in the model.

Inconsistent Traffic Files

FileDescriptionRows Correspond To
subnet_multipathExamples of traffic flows that are treated differently (i.e., dropped versus forwarded) by different paths in the network.Number of example flows found.
loopback_multipathExamples of traffic flows between loopbacks that are treated differently (i.e., dropped versus forwarded) in the presence of multipath routing.Number of example flows found.

Model Creation Files

Files in this section illustrate how the digital twin model was created from the provided input.

FileDescriptionRows Correspond To
defined_structuresStructure definitions as they appear in config files (ACLs, VXLANs, etc).Number of structure definitions found.
referenced_structuresStructure references as they appear in config files (ACLs, VXLANs, etc).Number of references to defined structures.
unused_structuresStructure definitions not referenced or used.Number of unused structure definitions.
undefined_referencesStructure references with no matching definition.Number of undefined references.
unconnected_nodesNodes with no connection to any other node in the model.Number of unconnected nodes.
file_parse_statusParsing status of snapshot files.Number of files found in the snapshot.
ignored_linesLines parsed but ignored by the model.Number of ignored lines.
parse_warningsWarnings that occurred when parsing snapshot files.Number of warnings produced.

Full documentation including columns can be found in the Output Reference.

Access from CLI

You can access data files using the invariant show <file_name> command.

# Fetch 'routes' data file from snapshot by ID
$ invariant show routes --snapshot adf11172-9f8a-4333-b7c7-f9f0ecefe8d9

# By default, uses the last uploaded snapshot for this terminal session
$ invariant show routes

JSON Output

For programmatic use or detailed inspection, you can output data files in JSON format using the --json flag.

# Get interface properties as JSON
invariant show interfaces --json

# Get BGP session status as JSON
invariant show bgp_session_status --json > bgp_sessions.json

# Get BGP session status as JSON (no whitespace)
invariant show bgp_session_status --fast-json > bgp_sessions.json

TSV Output

Tab-Separated Values (TSV) format is also available using the --tsv flag, useful for spreadsheet programs or simple scripting.

# Get OSPF session compatibility as TSV
invariant show ospf_session_compatibility --tsv

# Get IP ownership details as TSV
invariant show ip_owners --tsv > ip_owners.tsv

Accessing Prior Snapshots

To access data files from a specific previous snapshot, use the --snapshot <snapshot_uuid> flag. You can list snapshot UUIDs using the invariant snapshots command.

# Show routes from a specific previous snapshot
invariant show routes --snapshot f17e9368-67fd-4094-b191-4da3f837eb60 --json

For information on how Invariant uses this model data to validate your network, see: