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
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