Skip to main content

Table Output

Devices that support responding to a query with structured or easily parsable data can have their response data placed into an easier to read table (or JSON, when using the REST API). Currently, the following platforms have structured data supported in hyperglass:

  • Juniper Junos
  • Arista EOS
note

Unlike with standard text output, devices with structured data enabled do not support customization of their commands. This is because the response must be something hyperglass is preconfigured to understand and parse, so hyperglass must maintain control over the specific command to run for a given platform.

The structured subsection contains multiple subsections of its own:

SectionDescriptionAll Options
communitiesInclude or exclude BGP communities
➡️
rpkiConfigure RPKI validation
➡️

communities#

ParameterTypeDefaultDescription
modeString'deny''deny' denies any matching patterns and permits anything else. 'permit' only permits matching patterns and denies everything else
itemsList[]List of regular expression patterns to match
Regular Expressions with YAML

If you're using any regex patterns with special characters, you'll probably need to wrap the patterns in single quotes, to denote a raw string. For example:

normal_string: Normal String
raw_string: '^Raw\sString$'

rpki#

ParameterTypeDefault
modeString'router'

router mode#

router mode uses the RPKI state from the perspective of the router. This means if your network is not using Origin Validation, the RPKI state will be shown as "Not Verified". Otherwise, the corresponding RPKI state will be shown.

external mode#

external mode takes each prefix, the last ASN in the AS_PATH and requests the RPKI validation state via the Cloudflare RPKI Portal.

Example#

hyperglass.yaml
structured:
communities:
mode: permit
items:
- '65000:\d+'
- '65[1-4]00:\d+'
rpki:
mode: external

Caveats#

Arista EOS#

For whatever reason, Arista EOS does not supply certain details about routes in its JSON output when running commands show ip bgp regex <pattern> or show ip bgp community <community>. Specifically, the the route's timestamp and any attached communities are not supplied. When these commands are used with Arista EOS, hyperglass sets the timestamp to the current time, and the community to an empty list.