Network Automation using YANG Models across XE, XR, & NX

Bonus Content - YANG Catalog

In this Bonus Module, we explore interactively browing YANG model dependencies and interaction using YANG Catalog. In your browser, navigate to www.yangcatalog.org

YANG Database Search

The database search is useful for using plain text string queries to try to find arbitary elements across all YANG models loaded into the YANG Catalog. For example, let's search for all instances of the word "redistribute" across all YANG modules loaded in YANG Catalog. Navigate to the YANG DB Search page at yangcatalog.org. Let's search for all occurences of the word "redistribute" across all modules.

The search can take seconds to minutes depending on how many matches are found within the modules searchable by YANG catalog. After patiently waiting, you should see search results that look like this:

This neat little table tells us where the string redistribute was found, what module it was found in, the path to the element containing the string, and the type of element matched. This search is really useful when asking questions like "I wonder where CLI feature X lives in YANG model land?"

Impact Graph Analysis

Another useful feature of the YANG Catalog is the ability to inspect how different YANG modules inter-relate to each other. Navigate to the Impact Analysis page.

Type in ietf-interfaces and openconfig-network-instances, and openconfig-bgp-common-multiprotocol, or any other modules that you are interested in exploring the dependency graphs. The input field will list out modules matching the characters you have currently typed. Click Generate when you are ready to generate the impact graph.

The results are two part. The first table displayed shows a graph key representing each models maturity and status within the respective working groups.

Scrolling further down in the search results is the graph representation of how the models interconnect. An interpretation of the graph is that each circle represents a YANG module, the color represents maturity and status, and the lines represent modules that are related or used by other modules.

Use this tool when exploring how various YANG modules from the various standards bodies and vendors relate to and depend on each other.