confgraph

Cisco IOS/IOS-XE Configuration Parser - Supported Versions and Features

Supported Versions

Cisco IOS

Cisco IOS-XE

Configuration Syntax Support

The parser handles the unified configuration syntax shared across IOS and IOS-XE. The hierarchical block-based (indent-based) structure is consistent across all versions.

Key Syntax Notes


Parsing Coverage by Protocol

1. VRF (Virtual Routing and Forwarding)

Supported Commands

vrf definition <name>
  rd <route-distinguisher>
  route-target export <rt-value>
  route-target import <rt-value>
  route-target both <rt-value>
  address-family ipv4
    route-map <name> import
    route-map <name> export
  exit-address-family

Parsed Attributes


2. Interfaces

Supported Interface Types

Parsed Attributes

Layer 3:

Layer 2:

Port-channel:

OSPF (Interface-level):

FHRP:

Tunnel:

CDP/LLDP:


3. BGP (Border Gateway Protocol)

Global BGP Configuration

router bgp <as-number>
  bgp router-id <router-id>
  bgp log-neighbor-changes
  bgp bestpath as-path multipath-relax
  bgp bestpath compare-routerid
  bgp bestpath med missing-as-worst
  ...

Parsed Attributes (Global)

BGP Neighbors

neighbor <ip> remote-as <asn>
neighbor <ip> peer-group <group-name>
neighbor <ip> description <text>
neighbor <ip> update-source <interface>
neighbor <ip> ebgp-multihop <ttl>
neighbor <ip> password <password>
neighbor <ip> route-map <name> in
neighbor <ip> route-map <name> out
neighbor <ip> prefix-list <name> in
neighbor <ip> maximum-prefix <number>

Parsed Neighbor Attributes

BGP Peer-Groups

neighbor <group-name> peer-group
neighbor <group-name> remote-as <asn>
neighbor <group-name> update-source <interface>
neighbor <group-name> route-reflector-client
neighbor <group-name> send-community both

Parsed Peer-Group Attributes

Address Families (Global)

address-family ipv4
  network <prefix> [mask <mask>]
  redistribute <protocol> [<process-id>] [route-map <name>]
  aggregate-address <prefix> [mask] [summary-only] [as-set]
  neighbor <ip> activate
  neighbor <ip> next-hop-self
  neighbor <ip> send-community
  maximum-paths <number>
  maximum-paths ibgp <number>
exit-address-family

Parsed Address-Family Attributes

VRF-Specific BGP

address-family ipv4 vrf <vrf-name>
  neighbor <ip> remote-as <asn>
  neighbor <ip> activate
  neighbor <ip> as-override
  neighbor <ip> route-map <name> in
  redistribute connected
  redistribute static
exit-address-family

Parsed VRF BGP Attributes


4. OSPF (Open Shortest Path First)

Global OSPF Configuration

router ospf <process-id>
  router-id <router-id>
  log-adjacency-changes [detail]
  auto-cost reference-bandwidth <mbps>
  passive-interface default
  no passive-interface <interface>
  redistribute bgp <asn> subnets route-map <name>
  default-information originate [always] [metric <m>] [metric-type <t>]

Parsed OSPF Attributes

OSPF Areas

area <area-id> stub [no-summary]
area <area-id> nssa [no-summary] [default-information-originate]
area <area-id> authentication [message-digest]
area <area-id> range <prefix> <mask> [advertise | not-advertise]

Parsed Area Attributes

OSPF Redistribution

redistribute <protocol> [<process-id>] [metric <m>] [metric-type <1|2>] [subnets] [route-map <name>]

Parsed Redistribution Attributes


5. Route-Maps

Configuration Syntax

route-map <name> permit|deny <sequence>
  description <text>
  match ip address prefix-list <name>
  match as-path <acl-number>
  match community <list>
  match metric <value>
  set local-preference <value>
  set metric <value>
  set community <community>
  set as-path prepend <asn> [<asn> ...]
  continue <sequence>

Parsed Route-Map Attributes


6. Prefix-Lists

Configuration Syntax

ip prefix-list <name> [seq <number>] permit|deny <prefix>/<length> [ge <min-length>] [le <max-length>]
ip prefix-list <name> description <text>

Parsed Prefix-List Attributes


7. Static Routes

Configuration Syntax

ip route [vrf <vrf-name>] <prefix> <mask> <next-hop> [<distance>] [tag <tag>] [name <name>] [track <obj>]

Parsed Attributes


8. Access Control Lists (ACLs)

Configuration Syntax

ip access-list standard <name>
  [<seq>] permit <source> [log]
  [<seq>] deny <source> [log]

ip access-list extended <name>
  [<seq>] permit <protocol> <source> <destination> [log]
  [<seq>] deny <protocol> <source> <destination> [log]

Parsed Attributes


9. BGP Community Lists

Configuration Syntax

ip community-list standard <name> permit|deny <communities>
ip community-list expanded <name> permit|deny <regex>

Parsed Attributes


10. BGP AS-Path Access Lists

Configuration Syntax

ip as-path access-list <name> permit|deny <regex>

Parsed Attributes


11. IS-IS

Configuration Syntax

router isis [<tag>]
  net <NET-address>
  is-type level-1-2
  passive-interface default
  no passive-interface <interface>
  redistribute connected [route-map <name>]

Parsed Attributes


12. EIGRP

Configuration Syntax

router eigrp <as-number>
  network <prefix> <wildcard>
  no auto-summary
  redistribute static [metric ...]
  passive-interface <interface>

Parsed Attributes


13. RIP

Configuration Syntax

router rip
  version 2
  network <network>
  no auto-summary
  passive-interface <interface>
  redistribute static [metric <m>]

Parsed Attributes


14. NTP

Configuration Syntax

ntp server <ip> [prefer] [source <interface>] [key <key-id>] [vrf <vrf>]
ntp peer <ip>
ntp authenticate
ntp authentication-key <key-id> md5 <key>
ntp trusted-key <key-id>
ntp source <interface>

Parsed Attributes


15. SNMP

Configuration Syntax

snmp-server community <community> [RO|RW] [<acl>]
snmp-server host <ip> version <ver> <community> [<traps>]
snmp-server location <text>
snmp-server contact <text>
snmp-server enable traps

Parsed Attributes


16. Syslog

Configuration Syntax

logging host <ip> [transport <proto>] [port <port>]
logging source-interface <interface>
logging buffered <size> [<level>]
logging trap <level>
logging facility <facility>

Parsed Attributes


17. Banners

Configuration Syntax

banner motd ^C
  <message text>
^C
banner login ^C ... ^C
banner exec ^C ... ^C

Parsed Attributes


18. Line Configs

Configuration Syntax

line con 0
  logging synchronous
  exec-timeout <min> <sec>
line vty 0 4
  access-class <acl> in
  transport input ssh
  login local

Parsed Attributes


19. QoS (Class-Map / Policy-Map)

Configuration Syntax

class-map match-any <name>
  match dscp <value>
  match access-group name <acl>
  match protocol <protocol>

policy-map <name>
  class <class-name>
    bandwidth percent <pct>
    priority percent <pct>
    set dscp <value>
    police rate <bps>

Parsed Attributes


20. NAT

Configuration Syntax

ip nat inside source list <acl> interface <intf> overload
ip nat inside source static <local-ip> <global-ip>
ip nat pool <name> <start-ip> <end-ip> netmask <mask>
interface <intf>
  ip nat inside
  ip nat outside

Parsed Attributes


21. Crypto / IPsec

Configuration Syntax

crypto isakmp policy <priority>
  encryption <alg>
  hash <alg>
  authentication pre-share
  group <dh-group>

crypto ipsec transform-set <name> <transform> [<transform>]

crypto map <name> <seq> ipsec-isakmp
  set peer <ip>
  set transform-set <name>
  match address <acl>

Parsed Attributes


22. BFD

Configuration Syntax

bfd slow-timers <ms>
interface <intf>
  bfd interval <min-tx> min_rx <min-rx> multiplier <mult>

Parsed Attributes


23. IP SLA

Configuration Syntax

ip sla <operation-number>
  icmp-echo <dest-ip> [source-ip <src-ip>]
  frequency <seconds>
ip sla schedule <op> life forever start-time now

Parsed Attributes


24. EEM Applets

Configuration Syntax

event manager applet <name>
  event syslog pattern "<pattern>"
  action 1.0 cli command "show ip route"
  action 2.0 syslog msg "<text>"

Parsed Attributes


25. Object Tracking

Configuration Syntax

track <object-id> interface <intf> line-protocol
track <object-id> ip route <prefix> <mask> reachability
track <object-id> ip sla <op> reachability

Parsed Attributes


26. Multicast

Configuration Syntax

ip multicast-routing [distributed]
interface <intf>
  ip pim sparse-mode
  ip igmp version <ver>
  ip igmp join-group <group>
ip pim rp-address <ip> [<acl>]
ip pim bsr-candidate <intf>

Parsed Attributes


Parser Limitations and Future Enhancements

Current Limitations

  1. BGP Neighbor AF-specific attributes: Neighbor activate/deactivate within address-families not captured
  2. Confederation: BGP confederation ID and peers not parsed
  3. IPv6: Limited IPv6 support (addresses parsed, but IPv6 prefix-lists, routing not fully tested)

Planned Enhancements


Version Compatibility Matrix

Feature IOS 15.0+ IOS-XE 3.x IOS-XE 16.x IOS-XE 17.x
VRF Definition
BGP Address-Family
BGP Dynamic Neighbors ⚠️ ⚠️ ✅ (16.3+)
BGP VRF IPv6 ⚠️ ⚠️ ✅ (16.3+)
OSPF BFD
HSRP v2
VRRP
Tunnel Interfaces
Port-channel/EtherChannel
Static Routes
ACLs
Community Lists
AS-Path Lists
IS-IS
EIGRP
RIP
NTP
SNMP
Syslog
Banners
Line Configs
QoS (class-map/policy-map)
NAT
Crypto/IPsec
BFD
IP SLA
EEM Applets
Object Tracking
Multicast (PIM/IGMP)

Legend:


Testing and Validation

Sample Configurations

The parser has been tested with comprehensive sample configurations located in:

Test Coverage

Run the test suite:

uv run python test_ios_parser.py
uv run python test_ios_parser_detailed.py

Validation


References

Cisco Documentation

Parser Implementation


Last Updated: 2026-03-28 Parser Version: 1.1.0 Maintainer: Configz Development Team