annotations: []
smart_annotations: []
nodes:
  - boot_disk_size: null
    configuration:
      - name: ios_config.txt
        content: |-
          hostname SW1
          no ip domain lookup
          no aaa new-model
          !
          vtp mode transparent
          !
          vlan 10
           name DATA
          vlan 20
           name VOICE
          vlan 99
           name NATIVE
          !
          spanning-tree mode rapid-pvst
          spanning-tree vlan 10 priority 4096
          spanning-tree vlan 20 priority 4096
          !
          interface range GigabitEthernet0/0 - 1
           description Trunk uplink
           switchport trunk encapsulation dot1q
           switchport trunk allowed vlan 10,20,99
           switchport trunk native vlan 99
           switchport mode trunk
           no shutdown
          !
          interface GigabitEthernet0/2
           description Access port (host facing)
           switchport mode access
           switchport access vlan 10
           switchport voice vlan 20
           spanning-tree portfast
           spanning-tree bpduguard enable
           no shutdown
          !
          interface GigabitEthernet0/3
           description EtherChannel candidate to SW2
           switchport trunk encapsulation dot1q
           switchport trunk allowed vlan 10,20,99
           switchport trunk native vlan 99
           switchport mode trunk
           channel-group 1 mode active
           no shutdown
          !
          line con 0
           logging synchronous
          end
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n0
    image_definition: null
    label: SW1
    node_definition: iosvl2
    parameters: {}
    ram: null
    tags: []
    x: -200
    y: -100
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: GigabitEthernet0/0
        mac_address: null
        type: physical
        slot: 0
      - id: i2
        label: GigabitEthernet0/1
        mac_address: null
        type: physical
        slot: 1
      - id: i3
        label: GigabitEthernet0/2
        mac_address: null
        type: physical
        slot: 2
      - id: i4
        label: GigabitEthernet0/3
        mac_address: null
        type: physical
        slot: 3
  - boot_disk_size: null
    configuration:
      - name: ios_config.txt
        content: |-
          hostname SW2
          no ip domain lookup
          no aaa new-model
          !
          vtp mode transparent
          !
          vlan 10
           name DATA
          vlan 20
           name VOICE
          vlan 99
           name NATIVE
          !
          spanning-tree mode rapid-pvst
          spanning-tree vlan 10 priority 8192
          spanning-tree vlan 20 priority 8192
          !
          interface range GigabitEthernet0/0 - 1
           description Trunk uplink
           switchport trunk encapsulation dot1q
           switchport trunk allowed vlan 10,20,99
           switchport trunk native vlan 99
           switchport mode trunk
           no shutdown
          !
          interface GigabitEthernet0/2
           description Access port (host facing)
           switchport mode access
           switchport access vlan 10
           spanning-tree portfast
           spanning-tree bpduguard enable
           no shutdown
          !
          interface GigabitEthernet0/3
           description EtherChannel candidate to SW1
           switchport trunk encapsulation dot1q
           switchport trunk allowed vlan 10,20,99
           switchport trunk native vlan 99
           switchport mode trunk
           channel-group 1 mode active
           no shutdown
          !
          line con 0
           logging synchronous
          end
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n1
    image_definition: null
    label: SW2
    node_definition: iosvl2
    parameters: {}
    ram: null
    tags: []
    x: 200
    y: -100
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: GigabitEthernet0/0
        mac_address: null
        type: physical
        slot: 0
      - id: i2
        label: GigabitEthernet0/1
        mac_address: null
        type: physical
        slot: 1
      - id: i3
        label: GigabitEthernet0/2
        mac_address: null
        type: physical
        slot: 2
      - id: i4
        label: GigabitEthernet0/3
        mac_address: null
        type: physical
        slot: 3
  - boot_disk_size: null
    configuration:
      - name: ios_config.txt
        content: |-
          hostname SW3
          no ip domain lookup
          no aaa new-model
          !
          vtp mode transparent
          !
          vlan 10
           name DATA
          vlan 20
           name VOICE
          vlan 99
           name NATIVE
          !
          spanning-tree mode rapid-pvst
          !
          interface range GigabitEthernet0/0 - 1
           description Trunk uplink
           switchport trunk encapsulation dot1q
           switchport trunk allowed vlan 10,20,99
           switchport trunk native vlan 99
           switchport mode trunk
           no shutdown
          !
          interface GigabitEthernet0/2
           description Access port (host facing)
           switchport mode access
           switchport access vlan 10
           switchport voice vlan 20
           spanning-tree portfast
           spanning-tree bpduguard enable
           no shutdown
          !
          interface GigabitEthernet0/3
           shutdown
          !
          line con 0
           logging synchronous
          end
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n2
    image_definition: null
    label: SW3
    node_definition: iosvl2
    parameters: {}
    ram: null
    tags: []
    x: 0
    y: 200
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: GigabitEthernet0/0
        mac_address: null
        type: physical
        slot: 0
      - id: i2
        label: GigabitEthernet0/1
        mac_address: null
        type: physical
        slot: 1
      - id: i3
        label: GigabitEthernet0/2
        mac_address: null
        type: physical
        slot: 2
      - id: i4
        label: GigabitEthernet0/3
        mac_address: null
        type: physical
        slot: 3
links:
  - id: l0
    n1: n0
    n2: n1
    i1: i1
    i2: i1
    conditioning: {}
    label: SW1-GigabitEthernet0/0<->SW2-GigabitEthernet0/0
  - id: l1
    n1: n0
    n2: n2
    i1: i2
    i2: i1
    conditioning: {}
    label: SW1-GigabitEthernet0/1<->SW3-GigabitEthernet0/0
  - id: l2
    n1: n1
    n2: n2
    i1: i2
    i2: i2
    conditioning: {}
    label: SW2-GigabitEthernet0/1<->SW3-GigabitEthernet0/1
  - id: l3
    n1: n0
    n2: n1
    i1: i4
    i2: i4
    conditioning: {}
    label: SW1-GigabitEthernet0/3<->SW2-GigabitEthernet0/3
lab:
  description: PingLabz CCNA Pillar 2 (Network Access) Reference Topology - 3 IOSvL2 switches in a triangle with VLANs 10/20/99, dot1q trunks, rapid-PVST root election (SW1 root, SW2 backup), LACP EtherChannel between SW1 and SW2. Used for na-01 through na-10 in the CCNA Labs library.
  notes: |-
    PingLabz STP and VLAN Reference Lab
    ====================================

    Used as the canonical Pillar 2 lab for the PingLabz CCNA Labs library:
    na-01 through na-10 build on this topology.

    TOPOLOGY
       SW1 ---Gi0/0--------- Gi0/0 SW2
       SW1 Gi0/1 ----Gi0/0 SW3 Gi0/1---- Gi0/1 SW2
       SW1 Gi0/3 ============== Gi0/3 SW2   (LACP EtherChannel Po1)

    VLANS
    - 10 DATA
    - 20 VOICE
    - 99 NATIVE (set as native VLAN on all trunks - moved off VLAN 1)

    STP
    - mode: rapid-pvst
    - SW1 priority 4096 for VLAN 10 + 20 (explicit primary root)
    - SW2 priority 8192 for VLAN 10 + 20 (explicit backup root)
    - SW3 priority default 32768 (leaf)

    NODE COUNT (CML Free)
    - 3 counted (all 3 iosvl2 switches). 2 slots free for additional hosts if a
      lab needs traffic generation.

    PYATS AUTH
    - Console line has no authentication; PyATS reaches all 3 switches via the
      CML controller (admin/Cisco@123 jump-host pattern).
title: PingLabz STP and VLAN Reference Lab
  version: 0.3.0
