3 About the VPLS Reference Cartridge

This chapter describes the functionality and design of the Oracle Communications Network Integrity Virtual Private LAN Service (VPLS) reference cartridge and how to use and build the cartridge.

About Actions and Processors

The VPLS reference cartridge contains the Discover Cisco IOS XR VPLS CLI action.

The Discover Cisco IOS XR VPLS CLI action does the following:

  • Discovers Cisco IOS XR devices in a VPLS service

  • Retrieves information about VPLS services on the Cisco IOS XR devices

  • Models logical device hierarchies that represent the discovered Cisco IOS XR device

  • Models the VPLS service hierarchy

This discovery action inherits all the processors from the Discover Abstract CLI actions. See "About the CLI Cartridge" for more information about the inherited processors.

The Discover Cisco IOS XR VPLS CLI action contains the following processors run in the following order:

  1. CLI Property Initializer (inherited)

  2. CLI Property Customizer (inherited)

  3. CLI Connection Manager (inherited)

  4. Cisco IOS XR VPLS CLI Device Collector

  5. Cisco IOS XR VPLS CLI Device Modeler

  6. Cisco IOS XR VPLS CLI Device Persister

Figure 3-1 illustrates the processor workflow of the Discover Cisco IOS XR VPLS CLI action.

Figure 3-1 Discover Cisco IOS XR VPLS CLI Action Processor Workflow

Surrounding text describes Figure 3-1 .

Cisco IOS XR VPLS CLI Device Collector

This processor retrieves the device data and VPLS network data using CLI commands and makes the data available for modeling. This processor runs commands specific to Cisco IOS XR device.

Cisco IOS XR VPLS CLI Device Modeler

This processor models the data collected by the Cisco IOS XR VPLS CLI Device Collector processor into logical device hierarchy and VPLS services.

Cisco IOS XR VPLS CLI Device Persister

This processor persists the logical device tree and the VPLS services data to the Network Integrity database.

About Collected Data

This section describes the data that is collected for modeling, listing and explaining each command response.

CLI Commands

This section provides information about the CLI commands and the sample responses that the processors may receive from a device.

show version

This command displays the device type, software version, and host name.

Example 3-1 shows the sample response for the show version CLI command.

Example 3-1 Sample Response for show version Command


Tue Feb 24 01:27:55.783 EST

Cisco IOS XR Software, Version 4.2.4[Default]
Copyright (c) 2012 by Cisco Systems, Inc.

ROM: System Bootstrap, Version 12.00(20100127:230559) [skumarss-33s 1.24] 
RELEASE SOFTWARE
Copyright (c) 1994-2010 by cisco Systems, Inc.
rotgsr-2 uptime is 6 weeks, 5 days, 2 hours, 42 minutes
System image file is "disk0:c12k-os-mbi-4.2.4/mbiprp-rp.vm"

cisco 12410/PRP (7457) processor with 3670016K bytes of memory.
7457 processor at 1265Mhz, Revision 1.2
GSR 12410 200 Gbps

1 Cisco 12000 Series Performance Route Processor
1 Cisco 12000 4 Port Gigabit Ethernet Controller (4 GigabitEthernet)
3 Management Ethernet
1 PLIM_QOS
4 GigabitEthernet/IEEE 802.3 interface(s)
1019k bytes of non-volatile configuration memory.
2000352k bytes of disk0: (Sector size 512 bytes).
46692k bytes of disk1: (Sector size 512 bytes).
65536k bytes of Flash internal SIMM (Sector size 256k).
...........

show interfaces

This command lists all the available interfaces.

Example 3-2 shows the sample response for the show interfaces CLI command.

Example 3-2 Sample Response for show interfaces Command

Wed Feb 25 01:14:42.200 EST
Loopback0 is up, line protocol is up
Interface state transitions: 1
Hardware is Loopback interface(s)
Internet address is 12.12.12.12/32
MTU 1500 bytes, BW 0 Kbit
reliability Unknown, txload Unknown, rxload Unknown
Encapsulation Loopback,  loopback not set,
Last input Unknown, output Unknown
Last clearing of "show interface" counters Unknown
Input/output data rate is disabled.

MgmtEth0/4/CPU0/1 is up, line protocol is up
Interface state transitions: 1
Hardware is Management Ethernet, address is 0011.bcf1.8965 (bia 0011.bcf1.8965)
Description: Management Interface DOT NOT CONFIGURE
Internet address is 198.51.100.254/24
MTU 1514 bytes, BW 100000 Kbit (Max: 100000 Kbit)
reliability 254/255, txload 0/255, rxload 0/255
Encapsulation ARPA,
Full-duplex, 100Mb/s, TX, link type is autonegotiation
output flow control is off, input flow control is off
loopback not set,
ARP type ARPA, ARP timeout 04:00:00
Last input 00:00:03, output 00:00:03
Last clearing of "show interface" counters never
5 minute input rate 0 bits/sec, 1 packets/sec
5 minute output rate 3000 bits/sec, 2 packets/sec
2296633 packets input, 178794962 bytes, 3 total input drops
0 drops for unrecognized upper-level protocol
Received 1570634 broadcast packets, 711099 multicast packets
153 runts, 0 giants, 0 throttles, 0 parity
418 input errors, 265 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
978323 packets output, 68803752 bytes, 0 total output drops
Output 237581 broadcast packets, 8 multicast packets
0 output errors, 0 underruns, 0 applique, 0 resets
0 output buffer failures, 0 output buffers swapped out
1 carrier transitions
...........

show l2vpn bridge-domain detail

This command retrieves information about all the VPLS instances running on the device. Following are some of the important attributes that can be extracted from the command response:

  • Bridge Group

  • Bridge Domain

  • Neighbors (PEs only; does not include transit Providers)

  • Pseudo-wire IDs connecting to different neighbors

  • BGP Auto-discovery

  • VFI ID

  • VPN ID

  • VPLS ID

  • Signaling Protocol

  • MPLS Label

  • Remote MPLS Label

  • Route Distinguisher

  • Import Route Target

  • Export Route Target

  • VE ID

  • Advertised VE ID

  • VE Range

  • AS Number

  • L2VPN Router ID

Example 3-3 shows the sample response for the show l2vpn bridge-domain detail CLI command.

Example 3-3 Sample Response for show l2vpn bridge-domain detail Command

Mon Mar 16 06:55:49.990 EDT
Legend: pp = Partially Programmed.
Bridge group: niVpls, bridge-domain: niDomain12k, id: 3, state: up, ShgId: 0, MSTi: 0
Coupled state: disabled
MAC learning: enabled
MAC withdraw: enabled
MAC withdraw for Access PW: enabled
MAC withdraw sent on bridge port down: disabled
Flooding:
Broadcast & Multicast: enabled
Unknown unicast: enabled
MAC aging time: 300 s, Type: inactivity
MAC limit: 4000, Action: none, Notification: syslog
MAC limit reached: no
MAC port down flush: enabled
MAC Secure: disabled, Logging: disabled
Split Horizon Group: none
Dynamic ARP Inspection: disabled, Logging: disabled
IP Source Guard: disabled, Logging: disabled
DHCPv4 snooping: disabled
IGMP Snooping profile: none
Bridge MTU: 1500
MIB cvplsConfigIndex: 4
Filter MAC addresses:
Create time: 08/02/2015 23:08:51 (5w0d ago)
No status change since creation
ACs: 1 (0 up), VFIs: 1, PWs: 1 (0 up), PBBs: 0 (0 up)
List of ACs:
    AC: GigabitEthernet0/5/0/0.5, state is unresolved
  MAC learning: enabled
  Flooding:
      Broadcast & Multicast: enabled
      Unknown unicast: enabled
  MAC aging time: 300 s, Type: inactivity
  MAC limit: 4000, Action: none, Notification: syslog
  MAC limit reached: no
  MAC port down flush: enabled
  MAC Secure: disabled, Logging: disabled
  Split Horizon Group: none
  Dynamic ARP Inspection: disabled, Logging: disabled
  IP Source Guard: disabled, Logging: disabled
  DHCPv4 snooping: disabled
  IGMP Snooping profile: none
  Storm Control: disabled
  Static MAC addresses:
List of Access PWs:
List of VFIs:
  VFI 1 (up)
    PW: neighbor 198.51.100.254, PW ID 1, state is down ( provisioned ) (Transport LSP Down)
PW class not set, XC ID 0xff000009
   Encapsulation MPLS, protocol LDP
   Source address 12.12.12.12
   PW type Ethernet, control word disabled, interworking none
   PW backup disable delay 0 sec
   Sequencing not set
   PW Status TLV in use   
MPLS        Local     Remote
-----------------------------     
Label       16018     unknown
Group ID    0x3       0x0
Interface   1         unknown
MTU         1500      unknown
Control word disabled unknown
PW type     Ethernet  unknown
VCCV CV type 0x2      0x0
(LSP ping verification) (none)
VCCV CC type 0x6  0x0 (none)
(Router Label) (TTL Expiry)
-----------------------------
MIB cpwVcIndex: 4278190089
  Create time: 08/02/2015 23:08:51 (5w0d ago)
  Last time status changed: 08/02/2015 23:09:07 (5w0d ago)
  MAC withdraw message: send 0 receive 0
  Static MAC addresses:
  DHCPv4 snooping: disabled
  IGMP Snooping profile: none
VFI Statistics:
  drops: illegal VLAN 0, illegal length 0

About Cartridge Modeling

The VPLS reference cartridge models collected data according to the Oracle Communications Information Model. Collected data is modeled into the following entities:

  • LogicalDevice

  • DeviceInterface

  • InventoryGroup

  • Pipe

See Oracle Communications Information Model Reference for more information. Oracle Communications Information Model Reference is located in the Network Integrity Developer Documentation on the Oracle software delivery website.

Figure 3-2 shows how the VPLS reference cartridge models collected data according to the Oracle Communications Information Model.

Figure 3-2 Collected Data Modeling

Surrounding text describes Figure 3-2 .

Field Mapping

The following tables explain the field mappings for each Information Model object.

Table 3-1 Logical Device Mappings

Information Model Attribute Information Model Support Type

Description

Static

String

Device Identifier

Static

String

ID

Static

String

Name

Static

String

Network Location Entity Code

Static

String

Management IP Address

Dynamic

String

Native EMS Admin Service State

Dynamic

String

Native EMS Name

Dynamic

String

Native EMS Service State

Dynamic

String

System Object ID

Dynamic

String


Table 3-2 Device Interface Mappings

Information Model Attribute Information Model Support Type

Customer Interface Number

Static

String

Description

Static

String

ID

Static

String

Interface Number

Static

String

Name

Static

String

Nominal Speed

Static

String

Vendor Interface Number

Static

String

IfAlias

Dynamic

String

IfName

Dynamic

String

ifPromiscuousMode

Dynamic

String

Current MTU

Dynamic

String

Supported MTU

Dynamic

String

Native EMS Admin Service State

Dynamic

String

Native EMS Connector Present

Dynamic

String

Native EMS Name

Dynamic

String

Native EMS Service State

Dynamic

String

Physical Address

Dynamic

String


Table 3-3 Inventory Group (VPLS Service) Mappings

Information Model Attribute Information Model Support Type

Name

Static

String

Description

Static

String


Table 3-4 Inventory Group (VPLS Configuration) Mappings

Information Model Attribute Information Model Support Type

Name

Static

String

Description

Static

String

BridgeGroup

Dynamic

String

BridgeDomain

Dynamic

String

VpnId

Dynamic

String

BridgeMTU

Dynamic

String

PeDiscovery

Dynamic

String

BroadcastAndMulticast

Dynamic

String

UnknownUnicast

Dynamic

String

SplitHorizonGroup

Dynamic

String

SignalingProtocol

Dynamic

String

VeRange

Dynamic

String

VeId

Dynamic

String

AdvertisedVEId

Dynamic

String

VplsId

Dynamic

String

AsNumber

Dynamic

String

L2VPNRouterId

Dynamic

String

RouteDistinguisher

Dynamic

String

ImportRouteTarget

Dynamic

String

ExportRouteTarget

Dynamic

String


Table 3-5 Inventory Group (Virtual Forwarding Instance) Mappings

Information Model Attribute Information Model Support Field Type

Name

Static

String

Description

Static

String

Status

Dynamic

String


Table 3-6 Inventory Group (Attachment Circuit) Mappings

Information Model Attribute Information Model Support Field Type

Name

Static

String

Description

Static

String

ID

Static

String

Status

Dynamic

String


Table 3-7 Pipe Mappings

Information Model Attribute Information Model Support Field Type

Name

Static

String

Description

Static

String

ID

Static

String

Medium

Static

String

Transmission Signal Type

Static

String

Gap Pipe

Static

Boolean

Versioned

Static

Boolean

PwType

Dynamic

String

PwStatus

Dynamic

String

PwClass

Dynamic

String

LoopbackInterface

Dynamic

String

Protocol

Dynamic

String

Encapsulation

Dynamic

String

MplsLabel

Dynamic

String

RemoteMPLSLabel

Dynamic

String

AEnd

Dynamic

String

ZEnd

Dynamic

String


Using the VPLS Reference Cartridge

This section describes how to use the VPLS reference cartridge.

Creating a VPLS Discovery Scan

The VPLS reference cartridge does not introduce any new scan parameter groups. Because the VPLS reference cartridge extends the CLI cartridge, the configurable scan parameter groups are those from the CLI cartridge.

VPLS Service Discovery

To discover a VPLS service on a Cisco IOS XR device, create a VPLS discovery scan in the same way that you create a discovery scan for CLI devices. See "Using the CLI Cartridge" for the procedure. When setting the values in the General tab in the Scan Action Parameters area, do the following:

  • From the Select Parameter Group list, select CLI Device Discovery Parameters and enter the required information in the following fields:

    • From the Device Type list, select the type of the device. For example, Cisco Device.

    • From the Service list, select the type of service to be discovered on the device. For example, Virtual Private LAN Service.

    • From the Software Version list, select the operating system of the device. For example, Cisco IOS XR.

Discovered Results

Discovered results have a result group for each device.

Figure 3-3 shows sample data for VPLS configuration discovered by the VPLS reference cartridge.

Figure 3-3 Sample Discovered Data for VPLS Configuration

Surrounding text describes Figure 3-3 .

Figure 3-4 shows sample data for an attachment circuit discovered by the VPLS reference cartridge.

Figure 3-4 Sample Discovered Data for an Attachment Circuit

Surrounding text describes Figure 3-4 .

Figure 3-5 shows sample data for a virtual forward instance discovered by the VPLS reference cartridge.

Figure 3-5 Sample Discovered Data for a Virtual Forwarding Instance

Surrounding text describes Figure 3-5 .

Figure 3-6 shows sample data for pseudo wire discovered by the VPLS reference cartridge.

Figure 3-6 Sample Discovered Data for a Pseudo Wire

Surrounding text describes Figure 3-6 .

Design Studio Construction

This section provides information about the composition of the VPLS reference cartridge from the Oracle Communications Design Studio perspective.

Model Collections

Table 3-8 shows the model collection used in the VPLS reference cartridge.

Table 3-8 VPLS Model Collection

Specification OCIM Model Entity Type

Generic Device (ora_ni_uim_device)

Logical Device

Generic Interface (ora_ni_uim_device)

Device Interface

VPLS Service

Inventory Group

VPLS Configuration

Inventory Group

Virtual Forwarding Instance

Inventory Group

Attachment Circuit

Custom Object

Pseudo Wire

Pipe


Actions

The following tables outline the Design Studio construction of the VPLS reference actions and associated components:

Table 3-9 VPLS Cartridge Actions

Action Name Result Category Address Handler Scan Parameter Groups Processors

Discover Cisco IOS XR VPLS CLI

Device

IPAddressHandler

N/A

  • CLI Property Initializer

  • CLI Property Customizer

  • CLI Connection Manager

  • Cisco IOS XR VPLS CLI Device Collector

  • Cisco IOS XR VPLS CLI Device Modeler

  • Cisco IOS XR VPLS CLI Device Persister


Table 3-10 VPLS Cartridge Processors

Processor Name Variable

CLI Property Initializer

See "CLI Cartridge Processors" for more information.

CLI Property Customizer

See "CLI Cartridge Processors" for more information.

CLI Connection Manager

See "CLI Cartridge Processors" for more information.

Cisco IOS XR VPLS CLI Device Collector

Input:

  • cliConnection

  • cliProperties

Output: entityList

Cisco IOS XR VPLS CLI Device Modeler

Input: entityList

Output:

  • logicalTree

  • vplsServices

Cisco IOS XR VPLS CLI Device Persister

Input:

  • logicalTree

  • vplsServices

Output: N/A


Design Studio Extension

This section provides information about Design Studio extensions to the VPLS reference cartridge.

The VPLS reference cartridge contains code used to run CLI commands specific to Cisco IOS XR devices, parse command responses, and model the VPLS service as an unsealed cartridge. You can change any part of the code to customize this cartridge to fit your environment, or you can use the code as an example on which to model your own custom VPLS cartridge. For more information about extensibility, see Network Integrity Developer's Guide and Network Integrity Concepts.