Chapter 1. Cisco Plug-in for OpenFlow

Prerequisites for Cisco Plug-in for OpenFlow

Restrictions for Cisco Plug-in for OpenFlow

About OpenFlow

Cisco Plug-in for OpenFlow Operation

OpenFlow Controller Operation

Cisco Plug-in for OpenFlow and Virtual Services Container

Cisco Plug-in for OpenFlow Feature Support

Supported Match and Actions and Pipelines

OpenFlow Workflow

Specifying a Route to a Controller

Specifying a Route to a Controller Using a Physical Interface

Specifying a Route to a Controller Using a Management Interface

Configuring OneP

Configuring a Cisco Plug-in for OpenFlow Logical Switch

Verifying Cisco Plug-in for OpenFlow

Configuration Examples for Cisco Plug-In for OpenFlow

Additional Information for Cisco Plug-In for OpenFlow

Chapter 2. Virtual Services Container

Prerequisites for a Virtual Services Container

Virtual Services Containers and Applications

Installing and Activating an Application in a Virtual Services Container

Verifying Installation of Virtual Services Container Applications

Deactivating and Uninstalling an Application from a Virtual Services Container

Configuration Examples for Virtual Services Container Installation

Upgrading a Virtual Services Container

Additional References for the Virtual Services Container

Appendix A. Troubleshooting

Collecting Troubleshooting Information

Troubleshooting: Installing Applications in a Virtual Services Container

Troubleshooting: Activating Applications in a Virtual Services Container

Troubleshooting: Uninstalling Applications in a Virtual Services Container

Troubleshooting: Deactivating Applications in a Virtual Services Container

Preface

Document Conventions

Related Documentation

Obtaining Documentation and Submitting a Service Request

Chapter 1. Cisco Plug-in for OpenFlow

- Prerequisites for Cisco Plug-in for OpenFlow

- Restrictions for Cisco Plug-in for OpenFlow

- About OpenFlow

- Cisco Plug-in for OpenFlow Operation

- OpenFlow Controller Operation

- Cisco Plug-in for OpenFlow and Virtual Services Container

- Cisco Plug-in for OpenFlow Feature Support

- Supported Match and Actions and Pipelines

- OpenFlow Workflow

- Specifying a Route to a Controller

- Specifying a Route to a Controller Using a Physical Interface

- Specifying a Route to a Controller Using a Management Interface

- Configuring OneP

- Configuring a Cisco Plug-in for OpenFlow Logical Switch

- Verifying Cisco Plug-in for OpenFlow

- Configuration Examples for Cisco Plug-In for OpenFlow

- Additional Information for Cisco Plug-In for OpenFlow

Prerequisites for Cisco Plug-in for OpenFlow

- A Cisco device and its corresponding operating system that supports the installation of Cisco Plug-in for OpenFlow.

Note

Refer to the corresponding release notes for information about which operating system release supports the features and necessary infrastructure.

- Release notes for Cisco Catalyst 4500-X Series Switches

- Release notes for Cisco Catalyst 4500-E Series Switches

- An open virtual application (OVA) package that is compatible with the device operating system and downloaded from an FTP server connected to the device. The OVA package is available for download in the same location as your system image (.bin) file.

- A controller installed on a connected server.

Controller Support

OpenFlow Version

Supported Controllers

OpenFlow 1.0

Extensible Network Controller (XNC) 1.0, POX, Cisco Open SDN Controller, or Ixia controllers .

OpenFlow 1.3

Ixia, Cisco Open SDN Controller, or OpenDaylight

- The required disk storage available on the device for installation and deployment of Cisco Plug-in for OpenFlow. The recommended disk space is 360 MB.

- 2048 TCAM entries are available before you enable OpenFlow.

Restrictions for Cisco Plug-in for OpenFlow

- Cisco Plug-in for OpenFlow supports only a subset of OpenFlow 1.3 functions. For more information, see the Cisco Plug-in for OpenFlow Feature Support section.

- You cannot configure more than one Cisco Plug-in for OpenFlow logical switch. The logical switch ID has a value of 1.

- OpenFlow hybrid model (ships-in-the-night) is supported. VLANs configured for Cisco Plug-in for OpenFlow logical switch ports should not overlap with regular device interfaces.

- Cisco Plug-in for OpenFlow logical switch ports must not be configured in a mode other than trunk port.

- You cannot configure a bridge domain, Virtual LANs, virtual routing and forwarding (VRF) or port-channel interfaces on a Cisco Plug-in for OpenFlow logical switch. You can only configure physical interfaces.

- You cannot make additional configurations to an interface configured as a port of Cisco Plug-in for OpenFlow Logical Switch without removing the configuration as a port of Cisco Plug-in for OpenFlow Logical Switch.

- High availability is not supported. On switchover, all flows are deleted resulting in traffic loss. When the standby RP becomes active, the flows are relearned from the controller and reprogrammed. Until then, traffic loss is experienced.

- Cisco IOS In-Service Software Upgrade (ISSU) is not supported for Cisco Plug-in for OpenFlow.

- Virtual Switching System (VSS) is not supported for Cisco Plug-in for OpenFlow.

- MIBs and XMLs are not supported.

- You must not add or remove an interface as a port of a Cisco Plug-in for OpenFlow if the Cisco Plug-in for OpenFlow is inactive or not running.

- You cannot configure more than 1000 flows.

- A maximum of 48 ports can be assigned for Openflow operation.

- In general, the maximum sustained flow programming rate from the controller should not exceed 70 (added or deleted) flows per second. For flows that have more than 1 match criteria (more than input port + 1 match), the sustained controller programming rate should not exceed 40 flows per second.

- The maximum burst flow programming rate from the controller should not exceed 1000 flows, spaced by 30-second time intervals. A minimum of 30-second time interval should be maintained between addition or deletion of flows.

- The rate of PACKET_IN messages sent to the controller should be rate-limited to 300 packets per second, using configuration.

About OpenFlow

OpenFlow Switch Specification Version 1.0.1 (Wire Protocol 0x01), referred to as OpenFlow 1.0, and OpenFlow Switch Specification Version 1.3.0 (Wire Protocol 0x04), referred to as OpenFlow 1.3, are based on the concept of an Ethernet switch with an internal flow table and standardized interface to allow traffic flows on a device to be added or removed. OpenFlow 1.3 defines the communication channel between Cisco Plug-in for OpenFlow and controllers.

Cisco supports a subset of OpenFlow 1.0 and OpenFlow 1.3 functions. Beginning with the latest, the following Cisco OpenFlow versions are available—Cisco Plug-in for OpenFlow, Version 2.0.2, Cisco Plug-in for OpenFlow, Version 2.0.0.

A controller can be Extensible Network Controller (XNC) 1.0, or any controller compliant with OpenFlow 1.3.

The following figure gives an overview of the OpenFlow network:
OpenFlow Overview

Related concepts include:

- Cisco Plug-in for OpenFlow Operation

- OpenFlow Controller Operation

- Cisco Plug-in for OpenFlow and Virtual Services Container

Related Information

Cisco Plug-in for OpenFlow Feature Support

Cisco Plug-in for OpenFlow and Virtual Services Container

OpenFlow Workflow

Cisco Plug-in for OpenFlow Operation

Cisco Plug-in for OpenFlow creates OpenFlow–based connections to controllers for a Cisco Plug-in for OpenFlow logical switch. The Cisco Plug-in for OpenFlow creates databases for the following:

- A configured logical switch—Contains all the information needed to connect to a controller.

- OpenFlow-enabled interfaces—Contains the list of OpenFlow-enabled interfaces associated with a logical switch.

- Flows—Contains the list of flows on a logical switch and for the interface that is programmed into forwarded traffic.

OpenFlow Controller Operation

OpenFlow controller (referred to as controller) controls the switch and inserts flows with a subset of OpenFlow 1.3 and 1.0 match and action criteria through Cisco Plug-in for OpenFlow logical switch. Cisco Plug-in for OpenFlow rejects all OpenFlow messages with any other action.

Cisco Plug-in for OpenFlow and Virtual Services Container

Cisco Plug-in for OpenFlow runs in an operating–system–level virtual service container on the device. The Cisco Plug-in for OpenFlow virtual service container is delivered in an open virtual application (OVA) file package (.ova). The OVA package is installed and enabled on the device through the CLI.

Cisco Plug-in for OpenFlow Feature Support

The following is a subset of OpenFlow 1.3 and OpenFlow 1.0 functions that are supported by Cisco Plug-in for OpenFlow.

Feature

Notes

The OpenFlow hybrid (ships-in-night) model is supported.

OpenFlow-hybrid models where traffic can flow between Cisco Plug-in for OpenFlow ports and regular interfaces (integrated) are not supported. Both types of ports can transmit and receive packets.

Note:
VLANs must be configured such that the VLANs on the Cisco Plug-in for OpenFlow do not overlap with those on the regular device interfaces.

Configuration of physical interfaces as Cisco Plug-in for OpenFlow logical switch ports

Bridge domain, Virtual LANs and Virtual Routing and Forwarding (VRF), and port-channel interfaces are not supported.

Only L2 interfaces can be Cisco Plug-in for OpenFlow logical switch ports.

Supported OpenFlow message types

- Controller to switch:

- Handshake

- Switch Configuration

- Modify State (Port Modification message is not supported)

- Read State

- Packet-Out

- Barrier

- Asynchronous messages:

- Packet-In

- Flow Removed

- Port Status

- Error

- Symmetric messages:

- Hello

- Echo Request

- Echo Reply

- Vendor

Connection to controllers

You can connect up to eight controllers.

Connection to the controller through a management interface or a switched virtual interface (SVI) is supported.

Connection via TCP and TLS is supported.

Multiple actions

If multiple actions are associated with a flow, they are processed in the order specified. The output action should be the last action in the action list. Any action after the output action is not supported, and can cause the flow to fail and return an error to the controller.

Flows defined on the controller must follow the these guidelines:

- The flow can have only one output action.

- Some action combinations which are not supported may be rejected at flow programming time.

- The flow should not have an output–to–controller action in combination with other rewrite actions.

Supported OpenFlow counters

Per Table—Active entries, packet lookups, and packet matches.

Per Flow—Received Packets, Duration (seconds), Duration (milliseconds).

Per Port—Received or transmitted packets, and bytes.

Per Controller— Flow addition, modification, deletion, error messages, echo requests or replies, barrier requests or replies, connection attempts, successful connections, packet in or packet out.

Default forwarding rule

All packets that cannot be matched to programmed flows are dropped by default. You can configure sending unmatched packets to the controller. You can modify the default action taken on unmatched packets either using the default-miss command or by the controller.

Idle timeout

A minimum Idle timeout of 15 seconds is supported for 700 flows and 48 ports.

The statistics collection interval influences the minimum idle timeout. When the interval is set to 7 seconds, the timeout is a minimum of 15 seconds. 700 flows are supported with the 15-second idle timeout.

When using an idle timeout of less than 25 seconds, the number of L3 flows should be limited to 700.

Supported Match and Actions and Pipelines

Feature

Notes

Pipelines for Cisco Plug-in for OpenFlow Logical Switch

Pipelines are mandatory for the logical switch.

The logical switch supports two tables: an L2 MAC forwarding table and an L3 forwarding table.

L2 MAC forwarding table

Match criteria:

- Ingress port

- Ethertype

- Source MAC address

- Destination MAC address

- VLAN priority

- DOT1q VLAN ID

Action Criteria:

- Set VLAN priority

- Strip VLAN

- Set source MAC address (SMAC)

- Set destination MAC address (DMAC)

- Set VLAN ID

- Output to single port

- Punt to controller (OpenFlow packet-in message)

- Drop

- Set queue ID

- Go to next table (If default-miss is configured)
Note:
This action cannot be combined with any other action for a flow in an L2 table.

L3 forwarding table

The following match criteria are supported:

- Ethertype (IPv4 only)

- Ingress port

- IP protocol number

- IP Type of Service (DSCP bits)

- IPv4 source address

- IPv4 destination address

- Layer 4 source port

- Layer 4 destination port

- ICMPv4 type and code

- IPv6 source address

- IPv6 destination address

The following action criteria are supported:

- Set IPv4 Type of Service

- Set IPv4 source address

- Set IPv4 destination address

- Set Layer 4 source port

- Set Layer 4 destination port

- Output to single port

- Punt to controller (OpenFlow packet-out message)

- Drop

- Set queue ID

- Drop, or punt, or forward to the output port

An L3 flow supports Rewrite for these L2 fields:

- set ethernet source mac

- set ethernet destination mac

- set vlan id

- set vlan priority (cos)

- pop vlan tag

Note:

- L3 forwarding table match restrictions—For IPV6 match on an L3 table, the only supported matches are input port, IPv6 source, and IPv6 destination address.

- L3 forwarding table action restrictions:

- All rewrite combinations are supported, except for those that have the following fields as a subset— source MAC + source IP + destination IP .

- For IPV6 match on an L3 table, the only supported actions are drop or punt to controller and output to a physical port.

Number of flows

You can configure up to 1000 flows.

Configuration of VLANs for each port of the Cisco Plug-in for OpenFlow logical switch

VLAN range is from 1 to 4094.

OpenFlow Workflow

The following figure describes the overall process of installing and activating the Cisco Plug-In for Open Flow.
OpenFlow WorkFlow

Specifying a Route to a Controller

The following tasks are used to specify a route from the device to a controller. This can be done using a physical interface (Front Panel) or a management interface.

- Specifying a Route to a Controller Using a Physical Interface

- Specifying a Route to a Controller Using a Management Interface

Related Information

Specifying a Route to a Controller Using a Physical Interface

Specifying a Route to a Controller Using a Management Interface

Specifying a Route to a Controller Using a Physical Interface

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface type number

4.    no switchport

5.    ip address ip-address mask

6.    exit

7.    ip route 0.0.0.0 0.0.0.0 next-hop

8.    exit

9.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

interface type number

Example:

Switch(config)# interface GigabitEthernet1/0/1

Enters the physical interface. The interface used here should not be an Cisco Plug-in for OpenFlow ports.

Step 4

no switchport

Example:

Switch(config-if)# no switchport

Configures a specified interface as a Layer 3 interface and deletes any interface configuration specific to Layer 2.

Step 5

ip address ip-address mask

Example:

Switch(config-if)# ip-address 10.0.1.4 255.255.255.0

Configures an IP address for a specified interface.

Step 6

exit

Example:

Switch(config-if)# exit

Exits interface configuration mode and enters global configuration mode.

Step 7

ip route 0.0.0.0 0.0.0.0 next-hop

Example:

Switch(config)# ip route 0.0.0.0 0.0.0.0 10.0.1.6

Configures a default route for packet addresses not listed in the routing table. Packets are directed to a controller.

Step 8

exit

Example:

Switch(config)# exit

Exits global configuration mode and enters privileged EXEC mode.

Step 9

copy running-config startup-config

Example:

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

What to Do Next

Configure interfaces for the Cisco Plug-in for OpenFlow logical switch.

Specifying a Route to a Controller Using a Management Interface

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    interface type number

4.    ip address ip-address mask

5.    exit

6.    ip route vrf vrf-name 0.0.0.0 0.0.0.0 next-hop

7.    exit

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

interface type number

Example:

Switch(config)# interface FastEthernet1

Enters the management interface. The interface used here should not be an Cisco Plug-in for OpenFlow ports.

Step 4

ip address ip-address mask

Example:

Switch(config-if)# ip-address 10.0.1.4 255.255.255.0

Configures an IP address for the specified interface.

Step 5

exit

Example:

Switch(config-if)# exit

Exits interface configuration mode and enters global configuration mode.

Step 6

ip route vrf vrf-name 0.0.0.0 0.0.0.0 next-hop

Example:

Switch(config)# ip route vrf mgmtVrf 0.0.0.0 0.0.0.0 10.0.1.6

Configures an IP address for the specified interface.

Step 7

exit

Example:

Switch(config)# exit

Exits global configuration mode and enters privileged EXEC mode.

What to Do Next

Configure interfaces for the Cisco Plug-in for OpenFlow logical switch.

Configuring OneP

To enable the internal OneP infrastructure required to support the OpenFlow Plug-in, perform this task

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    onep

4.    end

5.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

onep

Example:

Switch(config)# onep

Enters OneP configuration mode.

Step 4

end

Example:

Switch(config-onep)# end

Returns to privileged EXEC mode.

Step 5

copy running-config startup-config

Example:

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

Configuring a Cisco Plug-in for OpenFlow Logical Switch

To configure a Cisco Plug-in for OpenFlow logical switch and the IP address of a controller, perform this task:

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    openflow

4.    switch logical-switch-id

5.    pipeline pipeline-id

6.    of-port interface interface-name

7.    protocol-version version-info

8.    controller ipv4 ip-address [ port tcp-port ][ vrf vrf-name ] security{ none | tls }

9.    default-miss action-for-unmatched-flows

10.    datapath-id datapath-id

11.    (Optional) tls trust-point local local-trust-point remote remote-trust-point

12.    (Optional) logging flow-mod

13.    (Optional) probe-interval probe-interval

14.    (Optional) rate-limit packet_in controllet-packet-rate burst maximum-packets-to-controller

15.    (Optional) max-backoff backoff-timer

16.    statistics collection-interval interval

17.    end

18.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

openflow

Example:

Switch(config)# openflow

Enters Cisco Plug-in for OpenFlow mode.

Step 4

switch logical-switch-id

Example:

Switch(config-ofa-switch)# switch 1

Specifies an ID for a logical switch that is used for OpenFlow switching and enters logical switch configuration mode.

The only logical switch ID supported is 1.

Step 5

pipeline pipeline-id

Example:

Switch(config-ofa-switch)# pipeline 1

Configures a pipeline .

This step is mandatory for a logical switch configuration. The only pipeline ID supported is 1.

Step 6

of-port interface interface-name

Example:

Switch(config-ofa-switch)# of-port interface GigabitEthernet5/23

Example:

Switch(config-ofa-switch)# of-port interface TenGigabitEthernet5/23

Configures an Ethernet interface as a port of a Cisco Plug-in for OpenFlow logical switch. Observe these guidelines:

- Do not abbreviate the interface type. Ensure that the interface type is spelled out completely and is as shown in the examples. If the keyword is abbreviated, the interface is not configured.

- The interface must be designated for the Cisco Plug-in for OpenFlow logical switch only.

- The onep application openflow exclusive configuration is added to an interface when an interface is configured as a port of Cisco Plug-in for OpenFlow. To add or remove an interface as a port of Cisco Plug-in for OpenFlow, ensure that the Cisco Plug-in for OpenFlow is activated and running to ensure the proper automatic addition and removal of the onep application openflow exclusive configuration. To remove an interface as a port of Cisco Plug-in for OpenFlow, use the no form of this command.

Repeat this step to configure additional interfaces.

Step 7

protocol-version version-info

Example:

Switch(config-ofa-switch)# protocol-version negotiate

Configures the protocol version. Supported values are:

- 1.0—Configures device to connect to 1.0 controllers only.

- 1.3—Configures device to connect to 1.3 controllers only.

- negotiate—Negotiates the protocol version with the controller. Device uses 1.3 for negotiation.

The default value is negotiate.

Step 8

controller ipv4 ip-address [ port tcp-port ][ vrf vrf-name ] security{ none | tls }

Example:

Controller in default VRF:
Switch(config-ofa-switch)# controller ipv4 10.1.1.2 security none

Controller in management VRF:
Switch(config-ofa-switch)# controller ipv4 10.1.1.2 vrf mgmtVrf security none

Specifies the IPv4 address, port number used by the controller to connect to the logical switch and the VRF of the controller. Observe these guidelines:

- Repeat this step if you need to configure additional controllers. You can configure up to eight controllers.

- If TLS is used in this step, configure TLS trustpoints in the next step.

- You can use the clear openflow switch 1 controller all command to clear controller connections. This command can reset a connection after Transport Layer Security (TLS) certificates and keys are updated. This is not required for TCP connections.

If unspecified, the default VRF is used; Controllers use TCP port 6653 by default.

A connection to a controller is initiated by the logical switch.

Step 9

default-miss action-for-unmatched-flows

Example:

Switch(config-ofa-switch)# default-miss controller

Configures the action to be taken for packets that do not match any of the flow defined. Supported values are:

- continue-drop

- continue-controller

- drop

- controller

The default action for both tables or pipeline 1 is drop. This can be overridden by this configuration or the controller.

Step 10

datapath-id datapath-id

Example:

Switch(config-ofa-switch)# datapath-id 0x222

Configures a unique datapath ID for the switch.

This step is mandatory for a logical switch configuration. Enter a 64-bit hexadecimal value.

Step 11

tls trust-point local local-trust-point remote remote-trust-point

Example:

Switch(config-ofa-switch)# tls trust-point local mylocal remote myremote

(Optional)
Specifies the local and remote TLS trustpoints to be used for the controller connection.

For more information about configuring trustpoints, see chapter PKI Trustpool Management in the Public Key Infrastructure Configuration Guide.

Step 12

logging flow-mod

Example:

Switch(config-ofa-switch)# logging flow-mod

(Optional)
Enables logging of flow changes, including addition, deletion, and modification of flows.

Logging of flow changes is a CPU intensive activity and should not be enabled for a large number of flows.

Logging of flow changes is disabled by default.

Flow changes are logged in syslog and can be viewed using the show logging command.

Step 13

probe-interval probe-interval

Example:

Switch(config-ofa-switch)# probe-interval 5

(Optional)
Configures the interval (in seconds) at which the controller is probed.

After the configured interval of time passes, if the switch has not received any messages from the controller, the switch sends an echo request (echo_request) to the controller. It should normally receive an echo reply (echo_reply). If no message is seen for the duration of another probe interval, the switch presumes that the controller is down and disconnects the controller connection. The switch tries to reconnect periodically.

The default value is 5 seconds; the range is from 5 to 65535 seconds.

Step 14

rate-limit packet_in controllet-packet-rate burst maximum-packets-to-controller

Example:

Switch(config-ofa-switch)# rate-limit packet_in 300 burst 50

(Optional)
Configures the maximum packet rate sent to the controller and the maximum packets burst sent to the controller in a second.

The default value is zero, that is, an indefinite packet rate and packet burst is permitted.

This rate limit is for Cisco Plug-in for OpenFlow. It is not related to the rate limit of the device (data plane) configured by COPP.

Step 15

max-backoff backoff-timer

Example:

Switch(config-ofa-switch)# max-backoff 8

(Optional)
Configures the duration (in seconds) for which the device must wait before attempting to initiate a connection with the controller.

The device initially tries to initiate connection frequently, as the number of unsuccessful attempts increases, the device tries less frequently, that is, the waiting period between attempts also increases. The backoff timer configures the maximum period that the device waits in-between each retry.

The default value is 8 seconds; the range is from 1 to 65535 seconds.

Step 16

statistics collection-interval interval

Example:

Switch(config-ofa-switch)# statistics collection-interval 10

Configures the statistics collection interval (in seconds) for all configured flows of Cisco Plug-in for OpenFlow. Observe these guidelines:

- The default interval value is 41 seconds.

- The minimum interval is 7 seconds; the maximum is 82 seconds.

- You can also specify a value of 0, this disables statistics collection.

- Flows with an idle timeout value less than 2 * interval are rejected.

Configured interval value is displayed in the output of the show openflow switch 1 command.

Step 17

end

Example:

Switch(config-ofa-switch)# end

Step 18

copy running-config startup-config

Example:

Switch# copy running-config startup-config

(Optional) Saves your entries in the configuration file.

What to Do Next

Verify Cisco Plug-in for OpenFlow.

Related Information

Verifying Cisco Plug-in for OpenFlow

Configuration Examples for Cisco Plug-In for OpenFlow

Verifying Cisco Plug-in for OpenFlow

SUMMARY STEPS

1.    show openflow copyright

2.    show openflow switch switch-id

3.    show openflow switch switch-id controllers [ stats ]

4.    show openflow switch switch ports

5.    show openflow switch-id flows [ configured | controller | default | fixed | pending | pending-del ] [ brief | summary]

6.    show openflow switch switch-id stats

7.    show interfaces type number counter

8.    show running-config | section openflow

9.    show openflow hardware capabilities

DETAILED STEPS

Step 1

show openflow copyright

Displays copyright information related to Cisco Plug-in for OpenFlow.

Example:

Switch# show openflow copyright
openflow-ott-of-c4k-103-3620
Cisco Plug-in for OpenFlow
TAC support: http://www.cisco.com/tac
Copyright (c) 2013-2015 by Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0, the GNU
Lesser General Public License (LGPL) Version 2.1, or or the GNU
Library General Public License (LGPL) Version 2. A copy of each
such license is available at
http://www.opensource.org/licenses/gpl-2.0.php and
http://www.opensource.org/licenses/lgpl-2.1.php and
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt

Step 2

show openflow switch switch-id

Displays information related to Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1
Logical Switch Context
Id: 1
Switch type: Forwarding
Pipeline id: 1
Data plane: secure
Table-Miss default: continue-drop
Configured protocol version: Negotiate
Config state: no-shutdown
Working state: enabled
Rate limit (packet per second): 300
Burst limit: 50
Max backoff (sec): 8
Probe interval (sec): 5
TLS local trustpoint name: not configured
TLS remote trustpoint name: not configured
Logging flow changes: Disabled
Stats collect interval (sec): 7
Stats collect Max flows: 2000
Stats collect period (sec): 1
Minimum flow idle timeout (sec): 15
OFA Description:
Manufacturer: Cisco Systems, Inc.
Hardware: WS-C4507R+E V01
Software: Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.07.03.E3.212 EARLY DEPLOYMENT [DEV IMAGE] ENGINEERING NOVA_WEEKLY BUILD, synced to V152_3_2_46_E2
Technical Support: http://www.cisco.com/techsupp
Serial Num: FOX1447GWNY
DP Description: ott-of-c4k-102:sw1
OF Features:
DPID:0000000000000222
Number of tables:2
Number of buffers:256
Capabilities: FLOW_STATS TABLE_STATS PORT_STATS
Controllers:
5.0.3.3:6102, Protocol: TCP, VRF: default
Interfaces:
GigabitEthernet5/1
GigabitEthernet5/2

Step 3

show openflow switch switch-id controllers [ stats ]

Displays information related to the connection status between an Cisco Plug-in for OpenFlow logical switch and connected controllers.

Example:Here the switch is not connected to the controller

Switch# show openflow switch 1 controllers stats
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
address                         :  tcp:5.0.3.3:6102
connection attempts             :  9
successful connection attempts  :  0
flow adds                       :  0
flow mods                       :  0
flow deletes                    :  0
flow removals                   :  0
flow errors                     :  0
flow unencodable errors         :  0
total errors                    :  0
echo requests                   :  rx: 0, tx: 0
echo reply                      :  rx: 0, tx: 0
flow stats                      :  rx: 0, tx: 0
barrier                         :  rx: 0, tx: 0
packet-in/packet-out            :  rx: 0, tx: 0

Switch# show openflow switch 1 controllers
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
5.0.3.3:6102
Protocol: tcp
VRF: default
Connected: No
Role: Master
Negotiated Protocol Version: disconnected
Last Alive Ping: N/A
last_error:Connection refused
state:BACKOFF
sec_since_disconnect:7

Example:Here the switch is connected to the controller.

Switch# show openflow switch 1 controllers
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
5.0.3.3:6102
Protocol: tcp
VRF: default
Connected: Yes
Role: Master
Negotiated Protocol Version: OpenFlow 1.0
Last Alive Ping: 03/30/2015 16:19:02
last_error:Connection refused
state:ACTIVE
sec_since_connect:143
sec_since_disconnect:151

Switch# show openflow switch 1 controllers stats
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
address                         :  tcp:5.0.3.3:6102
connection attempts             :  110313
successful connection attempts  :  3
flow adds                       :  0
flow mods                       :  0
flow deletes                    :  0
flow removals                   :  0
flow errors                     :  0
flow unencodable errors         :  0
total errors                    :  0
echo requests                   :  rx: 0, tx: 49628
echo reply                      :  rx: 49627, tx: 0
flow stats                      :  rx: 0, tx: 0
barrier                         :  rx: 3, tx: 3
packet-in/packet-out            :  rx: 1, tx: 257093

Step 4

show openflow switch switch ports

Displays the mapping between physical device interfaces and ports of an Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1 ports
Logical Switch Id: 1
Port  Interface Name    Config-State   Link-State     Features
5097  Gi1/24            PORT_UP        LINK_DOWN      1GB-FD

Step 5

show openflow switch-id flows [ configured | controller | default | fixed | pending | pending-del ] [ brief | summary]

Displays flows defined for the device by controllers.

Example:This example shows how to add a flow, which sends packet with src=1.1.1.0/24 to ‘Gi5/1’.

Switch# show openflow switch 1 flows
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total flows: 3

Flow: 1
Match:             any
Actions:           goto_table:1
Priority:          0
Table:             0
Cookie:            0x0
Duration:          1341.41s
Number of packets: 0
Number of bytes:   0

Flow: 2
Match:             ip,nw_src=1.1.1.0/24
Actions:           output:5100
Priority:          32768
Table:             1
Cookie:            0x465f30352e3031
Duration:          9.173s
Number of packets: 0
Number of bytes:   0

Flow: 3
Match:             any
Actions:           drop
Priority:          0
Table:             1
Cookie:            0x0
Duration:          1341.437s
Number of packets: 0
Number of bytes:   0

Example:

Switch# show openflow switch 1 flows configured
Logical Switch Id: 1
Total flows: 2

Flow: 1
Match:             any
Actions:           goto_table:1
Priority:          0
Table:             0
Cookie:            0x0
Duration:          1374.617s
Number of packets: 0
Number of bytes:   0

Flow: 2
Match:             any
Actions:           drop
Priority:          0
Table:             1
Cookie:            0x0
Duration:          1374.644s
Number of packets: 0
Number of bytes:   0

Example:

Switch# show openflow switch 1 flows controller
Logical Switch Id: 1
Total flows: 1

Flow: 1
Match:             ip,nw_src=1.1.1.0/24
Actions:           output:5100
Priority:          32768
Table:             1
Cookie:            0x465f30352e3031
Duration:          92.122s
Number of packets: 0
Number of bytes:   0

Step 6

show openflow switch switch-id stats

Displays send and receive statistics for each port defined for a Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1 stats
openflow-ott-of-c4k-102-415
Logical Switch Id: 1

Total ports: 4
Port 5100: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5098: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5097: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5099: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Total tables: 2
Table 0: L2 Table
Wildcards = 0x00000
Max entries =  10000
Active entries = 1
Number of lookups = 0
Number of matches = 0
Table 1: L3 Table
Wildcards = 0x00000
Max entries =  10000
Active entries = 1
Number of lookups = 0
Number of matches = 0

Step 7

show interfaces type number counter

Displays send and receive statistics for the specified port defined for an Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show interfaces GigabitEthernet 5/32 counters detail
Port                     InBytes       InUcastPkts      InMcastPkts       InBcastPkts
Gi5/32                         0                 0                0                 0

Port                    OutBytes      OutUcastPkts     OutMcastPkts      OutBcastPkts
Gi5/32                         0                 0                0                 0

Port                   InPkts 64        OutPkts 64    InPkts 65-127    OutPkts 65-127
Gi5/32                         0                 0                0                 0

Port              InPkts 128-255   OutPkts 128-255   InPkts 256-511   OutPkts 256-511
Gi5/32                         0                 0                0                 0

Port             InPkts 512-1023  OutPkts 512-1023
Gi5/32                         0                 0

Port            InPkts 1024-1518 OutPkts 1024-1518 InPkts 1519-1548 OutPkts 1519-1548
Gi5/32                         0                 0                0                 0

Port            InPkts 1549-9216 OutPkts 1549-9216
Gi5/32                         0                 0

Port            Tx-Bytes-Queue-1  Tx-Bytes-Queue-2 Tx-Bytes-Queue-3  Tx-Bytes-Queue-4
Gi5/32                         0                 0                0                 0

Port            Tx-Bytes-Queue-5  Tx-Bytes-Queue-6 Tx-Bytes-Queue-7  Tx-Bytes-Queue-8
Gi5/32                         0                 0                0                 0

Port            Tx-Drops-Queue-1  Tx-Drops-Queue-2 Tx-Drops-Queue-3  Tx-Drops-Queue-4
Gi5/32                         0                 0                0                 0

Port            Tx-Drops-Queue-5  Tx-Drops-Queue-6 Tx-Drops-Queue-7  Tx-Drops-Queue-8
Gi5/32                         0                 0                0                 0

Port            Dbl-Drops-Queue-1 Dbl-Drops-Queue-2 Dbl-Drops-Queue-3 Dbl-Drops-Queue-4
Gi5/32                          0                 0                 0                 0

Port            Dbl-Drops-Queue-5 Dbl-Drops-Queue-6 Dbl-Drops-Queue-7 Dbl-Drops-Queue-8
Gi5/32                          0                 0                 0                 0

Port              Rx-No-Pkt-Buff     RxPauseFrames    TxPauseFrames   PauseFramesDrop
Gi5/32                         0                 0                0                 0

Port            UnsupOpcodePause
Gi5/32                         0

Step 8

show running-config | section openflow

Displays configurations made for Cisco Plug-in for OpenFlow.

Example:

Switch# show running-config | section openflow
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
openflow
switch 1
pipeline 1
of-port interface GigabitEthernet5/1
of-port interface GigabitEthernet5/2
of-port interface GigabitEthernet5/3
of-port interface GigabitEthernet5/4
controller ipv4 5.0.3.3 port 6102 security none
default-miss drop
probe-interval 5
statistics collection-interval 7
rate-limit packet_in 300 burst 50
datapath-id 0x2222

Step 9

show openflow hardware capabilities

Displays Cisco Plug-in for OpenFlow configurations.

Example:

Switch# show openflow hardware capabilities
Max Flow Batch Size: 250

Statistics Max Polling Rate (flows/sec): 500

Max Interfaces: 1000

Aggregated Statistics: NO

Pipeline ID: 1

Pipeline Max Flows: 2000

Pipeline Default Statistics Collect Interval: 7

Flow table ID: 0

Max Flow Batch Size: 250
Max Flows: 1000
Bind Subintfs: FALSE
Primary Table: TRUE
Table Programmable: TRUE
Miss Programmable: TRUE
Number of goto tables: 1
goto table id:      1
Stats collection period (sec): 2000

Match Capabilities                  Match Types
------------------                  -----------
ethernet mac destination            optional
ethernet mac source                 optional
ethernet type                       optional
VLAN ID                             optional
VLAN priority code point            optional
in port (virtual or physical)       optional

Actions                     Count Limit             Order
specified interface                 1               100
controller                          1               100
divert a copy of pkt to application 1               100

set eth source mac                  1               10
set eth destination mac             1               10
set vlan id                         1               10
set vlan priority (cos)             1               10
set qos group                       1               10

pop vlan tag                        1               10

drop packet                         1               100

Miss actions                        Count Limit             Order
controller                          1               100
perform another lookup in the specified table       1               200

drop packet                         1               100

Flow table ID: 1

Max Flow Batch Size: 250
Max Flows: 1000
Bind Subintfs: FALSE
Primary Table: FALSE
Table Programmable: TRUE
Miss Programmable: TRUE
Number of goto tables: 0
goto table id:
Stats collection period (sec): 2000

Match Capabilities                  Match Types
------------------                  -----------
ethernet type                       mandatory
IP DSCP                             optional
IP protocol                         optional
IPv4 source address                 lengthmask
IPv4 destination address            lengthmask
ipv6 source addresss                lengthmask
ipv6 destination address            lengthmask
source port                         optional
destination port                    optional
icmpv4 type                         optional
icmpv4 code                         optional
in port (virtual or physical)       optional

Actions                     Count Limit             Order
specified interface                 1               100
controller                          1               100
divert a copy of pkt to application 1               100

set eth source mac                  1               10
set eth destination mac             1               10
set vlan id                         1               10
set vlan priority (cos)             1               10
set IPv4 source address             1               10
set IPv4 destination address        1               10
set IP tos byte                     1               10
set IP dscp                         1               10
set TCP source port                 1               10
set TCP destination port            1               10
set UDP source port                 1               10
set UDP destination port            1               10
set qos group                       1               10

pop vlan tag                        1               10

drop packet                         1               100

Miss actions                        Count Limit             Order
controller                          1               100

drop packet                         1               100

Configuration Examples for Cisco Plug-In for OpenFlow

Example: Configuring Control Plane Policing for Packets Sent to a Controller

Switch> enable
Switch# configure terminal
Switch(config)# setup
---- Basic System Configuration Dialog ----

This setup utility will guide you through the basic configuration of
the system. Setup configures only enough connectivity for management
of the system.

*Note: setup is mainly used for configuring the system initially,
when no configuration is present. So setup always assumes system
defaults and not the current system configuration values.

Press Enter at anytime to skip a dialog. Use ctrl-c at anytime
to skip the remaining dialogs.

Would you like to enter the basic configuration dialog (yes/no): yes

Create another login account (yes/no) [n]:

Configure read-only SNMP community string (yes/no) [n]:

Configure read-write SNMP community string (yes/no) [n]:

Enter the switch name : QI32

Continue with Out-of-band (mgmt0) management configuration? (yes/no) [y]: n

Configure the default gateway? (yes/no) [y]: n

Enable the telnet service? (yes/no) [n]: y

Enable the ssh service? (yes/no) [y]: n

Configure the ntp server? (yes/no) [n]:

Configure default interface layer (L3/L2) [L2]:

Configure default switchport interface state (shut/noshut) [noshut]:
Configure CoPP System Policy Profile ( default / l2 / l3 ) [default]:

The following configuration will be applied:
switchname QI32
telnet server enable
no ssh server enable
system default switchport
no system default switchport shutdown
policy-map type control-plane copp-system-policy ( default )

Would you like to edit the configuration? (yes/no) [n]:

Use this configuration and save it? (yes/no) [y]:

[########################################] 100%
Copy complete, now saving to disk (please wait)...

Switch# configure terminal
Switch(config)# policy-map type control-plane copp-system-policy
Switch(config-pmap)# class copp-s-dpss
Switch(config-pmap-c)# police pps 1000
Switch(config-pmap-c)# end
Switch# show run copp

Example: Specifying a Route to a Controller Using a Physical Interface

Switch> enable
Switch# configure terminal
Switch(config)# interface GigabitEthernet1/1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.1.4 255.255.255.255
Switch(config-if)# exit
Switch(config)# ip route 0.0.0.0 0.0.0.0 10.0.1.6
Switch# copy running-config startup-config
Switch(config)# exit

Example: Specifying a Route to a Controller Using a Management Interface

Device> enable
Switch# configure terminal
Switch(config)# interface FastEthernet1
Switch(config-if)# no switchport
Switch(config-if)# ip address 10.0.1.4 255.255.255.0
Switch(config-if)# exit
Switch(config)# ip route vrf mgmtVrf 0.0.0.0 0.0.0.0 10.0.1.6
Switch# copy running-config startup-config
Switch(config)# exit

Example: Cisco Plug-In for OpenFlow Logical Switch Configuration (Default VRF)

Switch> enable

Switch# configure terminal
Switch(config)# onep
Switch(config-onep)# exit

Switch(config)# openflow
Switch(config-ofa)# switch 1
! Specifies the pipeline that enables the IP Forwarding Table.

Switch(config-ofa-switch)# pipeline 1
Switch(config-ofa-switch)# logging flow-mod
Switch(config-ofa-switch)# tls trust-point local local-trustpoint-name remote remote-trustpoint-name
Switch(config-ofa-switch)# max-backoff 5
Switch(config-ofa-switch)# probe-interval 5
Switch(config-ofa-switch)# rate-limit packet-in 300 burst 50
Switch(config-ofa-switch)# controller ipv4 10.0.1.6 security none
Switch(config-ofa-switch)# datapath-id 0x222
! Adding an interface to the Cisco Plug-In for OpenFlow logical switch.

Switch(config-ofa-switch)# of-port interface GigabitEthernet5/23
Switch(config-ofa-switch)# end
Switch# copy running-config startup-config

Example: Configuring a Cisco Plug-In for OpenFlow Logical Switch (Management VRF)

Switch> enable
Switch# configure terminal
Switch(config)# onep
Switch(config-onep)# exit
Switch(config)# openflow
Switch(config-ofa)# switch 1

Switch(config-ofa-switch)# pipeline 1
! Specifying a controller that is part of a VRF.

Switch(config-ofa-switch)# controller ipv4 10.0.1.6 vrf mgmtVrf security none
! Adding an interface to the Cisco Plug-In for OpenFlow logical switch.

Switch(config-ofa-switch)# of-port interface GigabitEthernet5/23
Switch(config-ofa-switch)# end
Switch# copy running-config startup-config

Additional Information for Cisco Plug-In for OpenFlow

Related Documents

Related Topic

Document Title

Cisco commands

Cisco IOS Master Command List, All Releases

Standards and RFCs

Standard/RFC

Title

OpenFlow 1.3

OpenFlow Switch Specification Version 1.3.0 (Wire Protocol 0x04).

OpenFlow 1.0

OpenFlow Switch Specification Version 1.0.1 (Wire Protocol 0x01).

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation and tools. Use these resources to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

Click Here

Chapter 2. Virtual Services Container

- Prerequisites for a Virtual Services Container

- Virtual Services Containers and Applications

- Installing and Activating an Application in a Virtual Services Container

- Verifying Installation of Virtual Services Container Applications

- Deactivating and Uninstalling an Application from a Virtual Services Container

- Configuration Examples for Virtual Services Container Installation

- Upgrading a Virtual Services Container

- Additional References for the Virtual Services Container

Prerequisites for a Virtual Services Container

- A Cisco device installed with an operating system release that supports virtual services and has the needed system infrastructure required for specific applications like Cisco Plug-In for OpenFlow.

Note

Refer to the corresponding release notes for information about which operating system release supports the features and necessary infrastructure.

- Release notes for Cisco Catalyst 4500-X Series Switches

- Release notes for Cisco Catalyst 4500-E Series Switches

- An open virtual application (OVA) package that is compatible with the device operating system has been downloaded from an FTP server connected to the device. The OVA package is available for download in the same location as your system image (.bin) file.

- Enough memory is available for the installation and deployment of the application. The container and its applications require 256 MB.

Virtual Services Containers and Applications

A virtual services container is a virtualized environment on a device. It is also referred to as a virtual machine (VM), virtual service, or container.

You can install an application within a virtual services container. The application runs in the virtual services container of the operating system of a device. The application is delivered as an open virtual application (OVA), which is a tar file with a .ova extension. The OVA package is installed and enabled on a device through the device CLI.

Cisco Plug-In for OpenFlow is an example of an application that can be deployed within a virtual services container.

Some of the files that can be found in an OVA file are the following:

- Virtual machine definition file, in libvirt XML format, with Cisco extensions.

- Manifest file, listing the contents of a distribution. It contains the hash information for each file in the OVA package.

- Certificate file containing the signature of a manifest file. This file is used in validating the integrity of an OVA package.

- Version file, used to check compatibility with the virtualization infrastructure.

Related Information

Cisco Plug-in for OpenFlow and Virtual Services Container

Installing and Activating an Application in a Virtual Services Container

Installing and Activating an Application in a Virtual Services Container

This task copies an open virtual application (OVA) package from an FTP file location, installs the application in a virtual services container, provisions the application, and activates it.

SUMMARY STEPS

1.    enable

2.    copy from://source-directory-url destination-directory-url

3.    virtual-service install name virtual-services-name package file

4.    configure terminal

5.    virtual-service virtual-services-name

6.    activate

7.    end

8.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

copy from://source-directory-url destination-directory-url

Example:

Switch# copy tftp://myserver.com/downloads/ofa-2.0.0-r1-cat4500-SPA-k9.ova bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Downloads the new OVA package to the device for upgrade. Possible values are:

- bootflash:

- tftp:

Ensure you have configured the ip tftp source-interface mgmt_interface for the tftp to be usable.

Step 3

virtual-service install name virtual-services-name package file

Example:

Switch# virtual-service install name openflow_agent package bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Installs an OVA package from the specified location onto a device. Ensure that the ova file is located in the root directory of the storage device

The virtual-services-name defined here should be used in all occurrences of this argument in this document.

Step 4

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 5

virtual-service virtual-services-name

Example:

Switch(config)# virtual-service openflow_agent

Configures a virtual services container and enters virtual services configuration mode. Observe these guidelines:

- Use the virtual-services-name defined during installation of the application.

- Ensure that installation is complete before proceeding to the next step using the show virtual-service list command.

Step 6

activate

Example:

Switch(config-virt-serv)# activate

Activates the installed virtual services container.

Step 7

end

Example:

Switch(config-virt-serv)# end

Exits virtual services configuration mode and enters privileged EXEC mode.

Step 8

copy running-config startup-config

Example:

Switch# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

What to Do Next

You can now begin using your application.

Verifying Installation of Virtual Services Container Applications

SUMMARY STEPS

1.    show virtual-service [global]

2.    show virtual-service detail [name virtual-services-name]

3.    show virtual-service list

4.    show virtual-service storage pool list

5.    show virtual-service storage volume list

6.    show virtual-service version name virtual-services-name installed

7.    show virtual-service tech-support

8.    show virtual-service redundancy state

9.    show virtual-service utilization name virtual-services-name

10.    show virtual-service utilization statistics CPU

DETAILED STEPS

Step 1

show virtual-service [global]

This command displays available memory, disk space, and CPU allocated for applications.

Example:

Switch# show virtual-service

Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Step 2

show virtual-service detail [name virtual-services-name]

This command displays a list of resources committed to a specified application, including attached devices.

Example:

Switch# show virtual-service detail name openflow_agent

Virtual service ofa detail
State                 : Activated
Package information
Name                : cat4k_4065-k9.ova
Path                : bootflash:/virtual-instance/OVA/ofa/cat4k_4065-k9.ova
Application
Name              : CiscoPluginForOpenFlow
Installed version : 1.1.910_4065
Description       : Cisco Plug-in for OpenFlow
Signing
Key type          : Cisco key
Method            : SHA-512
Licensing
Name              : Not Available
Version           : Not Available

Resource reservation
Disk                : 95 MB
Memory              : 256 MB
CPU                 : 1% system CPU

Attached devices
Type              Name        Alias
---------------------------------------------
Disk              _rootfs
Disk              /mnt/ofa
Disk              /cisco/...
Serial/shell
Serial/aux
Serial/Syslog                 serial2
Serial/Trace                  serial3
Watchdog

Step 3

show virtual-service list

This command displays an overview of resources utilized by the applications.

Example:

Switch# show virtual-service list

Virtual Service List:

Name                    Status             Package Name
------------------------------------------------------------------------------
ofa                     Activated          cat4k_4065-k9.ova

Step 4

show virtual-service storage pool list

This command displays an overview of storage locations (pools) used for virtual service containers.

Example:

Switch# show virtual-service storage pool list

Virtual-Service storage pool list

Name                  Pool Type   Path
--------------------------------------------------------------------------
virt_strg_pool_bf_vdc_1  directory   /bootflash/virt_strg_pool_bf_vdc_1

Step 5

show virtual-service storage volume list

This command displays an overview of storage volume information for virtual service containers.

Example:

Switch# show virtual-service storage volume list

Virtual-Service storage volume list

Name                       Capacity    In Use      Virtual-Service
--------------------------------------------------------------------------------------
_rootfs.ofa                90 MB       Yes         ofa

Step 6

show virtual-service version name virtual-services-name installed

This command displays the version of an installed application.

Example:

Switch# show virtual-service version name openflow_agent installed

Virtual service openflow_agent installed version:
Name : CiscoPluginForOpenFlow
Version : 1.1.0_fc1

Step 7

show virtual-service tech-support

Displays all relevant container-based information.

Step 8

show virtual-service redundancy state

Example:

Switch# show virtual-service redundancy state

Device# show virtual-service redundancy state
Virtual Service Redundancy State:

Switch No.       Role        Configure sync status      OVA sync status
----------------------------------------------------------------------------
3                Active      N/A                        N/A

Displays state of virtual-services.

Step 9

show virtual-service utilization name virtual-services-name

Example:

Switch# show virtual-service utilization name openflow_agent
Virtual-Service Utilization:

CPU Utilization:
CPU Time:  0 % (30 second average)
CPU State: R : Running

Memory Utilization:
Memory Allocation: 262144 Kb
Memory Used:       19148 Kb

Storage Utilization:
Name: _rootfs, Alias: _rootfs
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  89243       Used(1K blocks): 66976
Available(1K blocks): 17659       Usage: 80 %
Name: cisco, Alias: cisco
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  861512      Used(1K blocks): 218216
Available(1K blocks): 643296      Usage: 26 %
Name: /mnt/ofa, Alias: /mnt/ofa
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  4955        Used(1K blocks): 35
Available(1K blocks): 4664        Usage: 1  %
Name: /cisco/core, Alias: /cisco/core
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  138119      Used(1K blocks): 91053
Available(1K blocks): 39935       Usage: 70 %
Name: /tmp1, Alias: /tmp1
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  861512      Used(1K blocks): 218216
Available(1K blocks): 643296      Usage: 26 %
Name: /cisco123, Alias: /cisco123
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  856308      Used(1K blocks): 19200
Available(1K blocks): 837108      Usage: 3  %

Displays virtual-services utilization information.

Step 10

show virtual-service utilization statistics CPU

Displays virtual service CPU utilization statistics.

Deactivating and Uninstalling an Application from a Virtual Services Container

(Optional) Perform this task to uninstall and deactivate an application from within a virtual services container.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    virtual-service virtual-services-name

4.    no activate

5.    no virtual-service virtual-services-name

6.    end

7.    virtual-service uninstall name virtual-services-name

8.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

virtual-service virtual-services-name

Example:

Switch(config)# virtual-service openflow_agent

Enters virtual services configuration mode to configure a specified application.

- Use the virtual-services-name defined during installation of the application.

Step 4

no activate

Example:

Switch(config-virt-serv)# no activate

Disables the application.

Step 5

no virtual-service virtual-services-name

Example:

Switch(config)# no virtual-service openflow_agent

Unprovisions the application.

- Use the virtual-services-name defined during installation of the application.

- This command is optional for all devices running Cisco IOS-XE.

Step 6

end

Example:

Switch(config-virt-serv)# end

Exits virtual services configuration mode and enters privileged EXEC mode.

Step 7

virtual-service uninstall name virtual-services-name

Example:

Switch# virtual-service uninstall name openflow_agent

Uninstalls the application.

- Use the virtual-services-name defined during installation of the application.

- Run this command only after receiving a successful deactivation response from the device.

Step 8

copy running-config startup-config

Example:

Switch# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Configuration Examples for Virtual Services Container Installation

Example: Cisco Plug-In for OpenFlow Virtual Services Container Installation

Switch# enable
Switch# copy scp://myserver.com/downloads/ofa-2.0.0-r1-cat4500-SPA-k9.ova bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova
Switch# virtual-service install name openflow_agent package bootflash:ofa-2.0.0-r1-cat4500-SPA-k9.ova
Switch# configure terminal
Switch(config)# virtual-service openflow_agent
Switch(config-virt-serv)# activate
Switch(config-virt-serv)# end
Switch# copy running-config startup-config

Example: Verifying Cisco Plug-In for OpenFlow Virtual Services Container Installation

Switch# show virtual-service list
Virtual Service List:

Name                    Status             Package Name
-----------------------------------------------------------------------
openflow_agent          Installed          ofa-2.0.0-r1-cat4500-SPA-k9.ova

Upgrading a Virtual Services Container

The virtual-service upgrade command is not supported. Follow the instructions in the previous sections to deactivate, uninstall, then install and activate the new OVA.

Additional References for the Virtual Services Container

Related Documents

Related Topic

Document Title

Cisco commands

Cisco IOS Master Command List, All Releases

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation and tools. Use these resources to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

Click Here

Appendix A. Troubleshooting

- Collecting Troubleshooting Information

- Troubleshooting: Installing Applications in a Virtual Services Container

- Troubleshooting: Activating Applications in a Virtual Services Container

- Troubleshooting: Uninstalling Applications in a Virtual Services Container

- Troubleshooting: Deactivating Applications in a Virtual Services Container

Collecting Troubleshooting Information

Information collected using the commands listed below can be sent to Cisco Technical Support for troubleshooting purposes.

SUMMARY STEPS

1.    show system sysmgr service name vman

2.    show mgmt-infra trace message vman_trace

3.    virtual-service move name virtual-services-name [core | log] to destination-url

4.    show mgmt-infra trace settings vman_trace

5.    set trace control vman_trace buffer-size buffer-size

6.    set trace control vman_trace clear [location active]

7.    set trace vman_trace level {debug | default | err | info | warning} [location active]

DETAILED STEPS

Command or Action

Purpose

Step 1

show system sysmgr service name vman

Example:

Switch# show system sysmgr service name vman
Service "vman" ("vman", 209):
UUID = 0x49B, PID = 3283, SAP = 808
State: SRV_STATE_HANDSHAKED (entered at time Tue Mar  5 01:11:41 2013).
Restart count: 1
Time of last restart: Tue Mar  5 01:11:41 2013.
The service never crashed since the last reboot.
Tag = N/A
Plugin ID: 0

This command shows the health of the virtualization manager (VMAN) process.

Step 2

show mgmt-infra trace message vman_trace

Example:

Switch# show mgmt-infra trace message vman_trace
[07/09/14 21:48:03.580 UTC 1 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.626 UTC 2 4634] (debug): storage elem: 90 1 1 virt_strg_pool_bf
[07/09/14 21:48:03.626 UTC 3 4634] (debug): storage elem: /bootflash/virtual-instance/ofa/ha_sync.img
[07/09/14 21:48:03.626 UTC 4 4634] (debug): storage elem: /crashinfo/virtual-instance/ofa/core
[07/09/14 21:48:03.626 UTC 5 4634] (debug): done walking...

[07/09/14 21:48:03.626 UTC 6 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.627 UTC 7 4634] (notice): Per-VM mac address binding is not set
[07/09/14 21:48:03.627 UTC 8 4634] (ERR): Could not get info from FileDB.
[07/09/14 21:48:03.627 UTC 9 4634] (debug): aborting walk at vm ofa
[07/09/14 21:48:03.627 UTC a 4634] (debug): done walking...

[07/09/14 21:48:03.627 UTC b 4634] (debug): Added tech support info: /tmp/vman_techsupport.20140709214803.4634
[07/09/14 21:48:03.627 UTC c 4634] (debug): cmd 'modprobe tipc' executing
[07/09/14 21:48:06.040 UTC d 4634] (debug): cmd 'tipc-config -addr=1.1.1 -netid=4711' executing
[07/09/14 21:48:06.106 UTC e 4634] (debug): OIR-Client init: Registered with handle(0x4252c2db)

This command contains information logged by the VMAN process.

Step 3

virtual-service move name virtual-services-name [core | log] to destination-url

Example:

Switch# virtual-service move name openflow_agent core to bootflash:/

Moves application log or core files to a specified destination location. This command can be used when the application running in the container has an issue (but the container is running as expected).

Step 4

show mgmt-infra trace settings vman_trace

Example:

Switch# show mgmt-infra trace settings vman_trace

One shot Trace Settings:

Buffer Name: vman_trace
Default Size: 262144
Current Size: 262144
Traces Dropped due to internal error: Yes
Total Entries Written: 2513
One shot mode: No
One shot and full: No
Disabled: False

This command displays trace settings of a trace buffer.

Step 5

set trace control vman_trace buffer-size buffer-size

This command sets the trace buffer size.

Step 6

set trace control vman_trace clear [location active]

This command clears the trace buffer.

Step 7

set trace vman_trace level {debug | default | err | info | warning} [location active]

This command sets the trace level.

Troubleshooting: Installing Applications in a Virtual Services Container

This topic describes the possible reasons why installation of an application in a virtual services container may not have been successful, and the corresponding solutions.

Problem    Installation of an application in a virtual services container is not successful.

Possible Cause    Installation of the application may still be ongoing.

Check the installation status, by using the show virtual-service list command. The following sample output shows an application that has status Installed.

Switch# show virtual-service list
Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
multiova                Activated          multiova-working.ova
WAAS                    Installed          ISR4451X-WAAS-5.2.0-b...

Possible Cause    An application with the same name has already been installed.

Solution    Ensure that an application with the same name has not already been installed, by using the show virtual-service list command. You can verify this by referencing the Name field.

Possible Cause    The target media has not been installed.

Solution    Target media for Cisco Catalyst 4500 series switches —bootflash. Solution    Ensure that the target media is installed, by using the show version command.

Switch# show version
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.07.01.E.227 EARLY DEPLOYMENT [PROD BUILD] ENGINEERING NOVA_WEEKLY BUILD, synced to SYNC_FOR_BENI_MR1
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Tue 31-Mar-15 17:48 by gereddy

Cisco IOS-XE software, Copyright (c) 2005-2015 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0. The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY. You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0.
(http://www.gnu.org/licenses/gpl-2.0.html) For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
software.

ROM: 15.0(1r)SG1
ott-of-c4k-103 uptime is 5 days, 21 hours, 45 minutes
Uptime for this control processor is 5 days, 21 hours, 47 minutes
System returned to ROM by reload
System image file is "slot0:/cat4500e-universalk9.SSA.03.07.01.E.227.152-3.2.27.E1.bin"
Jawa Revision 7, Snowtrooper Revision 0x0.0x1C

Last reload reason: Reload command

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

License Information for 'WS-X45-SUP7-E'
License Level: entservices Type: Permanent
Next reboot license Level: entservices

cisco WS-C4507R+E (MPC8572) processor (revision 8) with 2097152K bytes of physical memory.
Processor board ID FOX1447GWNQ
MPC8572 CPU at 1.5GHz, Supervisor 7
Last reset from Reload
2 Virtual Ethernet interfaces
96 Gigabit Ethernet interfaces
8 Ten Gigabit Ethernet interfaces
511K bytes of non-volatile configuration memory.

Configuration register is 0x0

Possible Cause    There is insufficient space to install an application.

Solution    Check the amount of space that is available, by using the dir command.

Switch# dir bootflash:
Directory of bootflash:/

72980 drwx 4096 Apr 8 2015 07:59:36 +00:00 tracelogs
72981 drwx 4096 Mar 21 2014 14:08:37 +00:00 temp
14597 drwx 4096 Apr 8 2015 08:00:52 +00:00 temp_amd
72963 drwx 4096 Apr 12 2014 11:47:04 +00:00 onep
72986 drwx 4096 Feb 25 2015 17:59:49 +00:00 virtual-instance-stby-sync
72984 -rw- 26388480 Mar 20 2015 19:08:38 +00:00 cat4k_rel.ova
73051 -rw- 180 Apr 8 2015 08:00:02 +00:00 virtual-instance.conf
72982 -rw- 52068 Mar 28 2014 17:39:38 +00:00 label_3
73006 -rw- 72601600 Apr 2 2015 16:46:07 +00:00 ofa-cat4k.ova
87553 -rw- 1037 Mar 6 2015 12:13:43 +00:00 vman_ofa.log.4720.20150306121343
87554 -rw- 3427 Mar 6 2015 12:18:52 +00:00 vman_ofa.log.4720.20150306121852
87555 -rw- 113201 Mar 14 2015 18:51:05 +00:00 vman_ofa.log.4720.20150314185105
87556 -rw- 22215 Mar 14 2015 18:54:55 +00:00 vman_ofa.log.4720.20150314185455
87557 -rw- 72642560 Mar 18 2015 12:26:32 +00:00 ofa-1.1.64113n-cat4500-SSA-k9.ova
73005 -rw- 26388480 Apr 3 2015 10:55:09 +00:00 ofa-2.0.0-r1-cat4500-SPA-k9.ova
87569 -rw- 72642560 Feb 27 2015 16:05:41 +00:00 ofa-1.1.64109n-cat4500-SSA-k9.ova

Possible Cause    Disk quota for container is insufficient.

Solution    Ensure that sufficient disk quota is allotted to the virtual services container, by using the show virtual-service global command.

Switch# show virtual-service global
Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Possible Cause    An invalid OVA package has been used for installation (Invalid package/Parsing error/Invalid machine specification error).

Solution    Ensure that the OVA package copied to the device matches in size with the OVA package on the FTP server. Refer to the release for details or Contact Cisco Technical Support to ensure that the OVA file provided is compatible with the device operating system and not corrupted.

Possible Cause    The virtual services container does not install properly due to unknown reasons.

Solution    Uninstall the virtual services container. If the problem persists, collect general troubleshooting information and contact Cisco Technical Support.

Troubleshooting: Activating Applications in a Virtual Services Container

This topic describes the possible reasons why the activation of an application in a virtual services container may not have been successful, and the corresponding solutions.

Problem    Activation of an application in a virtual services container is not successful.

Possible Cause    Activation of the application may still be ongoing.

Solution    Check the activation status of the application, by using the show virtual-service list command. The following sample output shows an application that status Activated.

Switch# show virtual-service list

Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
WAAS                    Activated          ISR4451X-WAAS-5.2.0-b...

Possible Cause    The virtual services container does not have sufficient resources for activation of the application.

Solution    Check if the device has sufficient resources for virtualization, including—memory, disk space, and CPU utilization. You can display the resource requirement for virtualization, by using the show virtual-service command.

Switch# show virtual-service

Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Possible Cause    The application does not activate properly due to unknown reasons.

Solution    Deactivate and uninstall the application. If the problem persists, collect general troubleshooting information and contact Cisco Technical Support.

Troubleshooting: Uninstalling Applications in a Virtual Services Container

This topic describes the possible reasons why you may not have been successful with the process of uninstalling an application in a virtual services container, and the corresponding solutions.

Problem    Uninstallation of an application from the virtual services container is not successful.

Possible Cause    The application being uninstalled is not completely deactivated.

Solution    Check the activation status of the application, by using the show virtual-service list command. The following sample output shows an application in the Deactivated status, and can be uninstalled.

Switch# show virtual-service list

Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
WAAS                    Deactivated        ISR4451X-WAAS-5.2.0-b...

Possible Cause    The application does not uninstall due to unknown reasons.

Solution    As a last resort, delete the virtual-instance.conf, by using the delete command, and then reload the device.

Switch# delete bootflash:virtual-instance.conf
Switch#  reload

If the problem persists, collect general troubleshooting information and contact Cisco Technical Support.

Troubleshooting: Deactivating Applications in a Virtual Services Container

This topic describes the possible reasons why you may not have been successful with the process of deactivating an application in a virtual services container, and the corresponding solutions.

Problem    Deactivation of an application is not successful.

Possible Cause    The application being deactivated is not activated.

Solution    Check the activation status of the application, by using the show virtual-service list command. The following sample output shows an application that is in the Activated state, and can be deactivated.

Switch# show virtual-service list

Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
oneFW                   Activated          iosxe-cx-9.0.2-hudson...

Possible Cause    Deactivation takes a long time (5 minutes).

Solution    Check if application directories are in use. Ensure that there are no shells open in the application file system directories on the device.

Possible Cause    The application does not deactivate gracefully due to unknown reasons.

Solution    As a last resort, uninstall the application (if you have not already done this) and delete the virtual-instance.conf configuration file, by entering the delete command, and then reload the device. This step deletes all applications installed in the virtual services container.

Switch#  delete bootflash:virtual-instance.conf
Switch#  reload

Solution    If the problem persists, collect general troubleshooting information and contact Cisco Technical support.

Preface

- Document Conventions

- Related Documentation

- Obtaining Documentation and Submitting a Service Request

Document Conventions

This document uses the following conventions:

Convention

Description

^ or Ctrl

Both the ^ symbol and Ctrl represent the Control (Ctrl) key on a keyboard. For example, the key combination ^D or Ctrl-D means that you hold down the Control key while you press the D key. (Keys are indicated in capital letters but are not case sensitive.)

bold font

Commands and keywords and user-entered text appear in bold font.

Italic font

Document titles, new or emphasized terms, and arguments for which you supply values are in italic font.

Courier font

Terminal sessions and information the system displays appear in courier font.

Bold Courier font

Bold Courier font indicates text that the user must enter.

[x]

Elements in square brackets are optional.

...

An ellipsis (three consecutive nonbolded periods without spaces) after a syntax element indicates that the element can be repeated.

|

A vertical line, called a pipe, indicates a choice within a set of keywords or arguments.

[x | y]

Optional alternative keywords are grouped in brackets and separated by vertical bars.

{x | y}

Required alternative keywords are grouped in braces and separated by vertical bars.

[x {y | z}]

Nested set of square brackets or braces indicate optional or required choices within optional or required elements. Braces and a vertical bar within square brackets indicate a required choice within an optional element.

string

A nonquoted set of characters. Do not use quotation marks around the string or the string will include the quotation marks.

< >

Nonprinting characters such as passwords are in angle brackets.

[ ]

Default responses to system prompts are in square brackets.

!, #

An exclamation point (!) or a pound sign (#) at the beginning of a line of code indicates a comment line.

Reader Alert Conventions

This document may use the following conventions for reader alerts:

Note

Means reader take note. Notes contain helpful suggestions or references to material not covered in the manual.

Tip

Means the following information will help you solve a problem.

Caution

Means reader be careful. In this situation, you might do something that could result in equipment damage or loss of data.

Timesaver

Means the described action saves time. You can save time by performing the action described in the paragraph.

Warning

IMPORTANT SAFETY INSTRUCTIONS

This warning symbol means danger. You are in a situation that could cause bodily injury. Before you work on any equipment, be aware of the hazards involved with electrical circuitry and be familiar with standard practices for preventing accidents. Use the statement number provided at the end of each warning to locate its translation in the translated safety warnings that accompanied this device. Statement 1071

SAVE THESE INSTRUCTIONS

Related Documentation

Release Notes

Note

Before installing or upgrading, refer to the switch release notes.

- Catalyst 4500-X release notes: Click Here

- Catalyst 4500E release notes: Click Here

Software Documentation

Software documents for the Catalyst 4000 family of switches is available at the following URLs:

- Software Configuration Guides

Click Here

- Software Command References

Click Here

- System Message Guides

Click Here

Hardware Documentation

Installation guides and notes including specifications and relevant safety information are available at the following URLs:

- International agency compliance, safety, and statutory information for the Catalyst 4000 family of switches

Click Here

- Catalyst 4500 E-series Switches Installation Guide

Click Here

- Information about individual switching modules and supervisors for the Catalyst 4500 Series modules

Click Here

- Installation notes for specific supervisor engines or for accessory hardware

Click Here

- Catalyst 4500-X hardware installation information

Click Here

Other References

- Cisco SFP and SFP+ modules documentation, including compatibility matrixes, located at: Click Here

- Cisco Validated Designs documents, located at: Click Here

- Error Message Decoder, located at: Click Here

Obtaining Documentation and Submitting a Service Request

For information on obtaining documentation, submitting a service request, and gathering additional information, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at:

Click Here

Subscribe to the What's New in Cisco Product Documentation as a Really Simple Syndication (RSS) feed and set content to be delivered directly to your desktop using a reader application. The RSS feeds are a free service and Cisco currently supports RSS version 2.0.

Cisco Plug-in for OpenFlow and Virtual Services Container

Cisco Plug-in for OpenFlow runs in an operating–system–level virtual service container on the device. The Cisco Plug-in for OpenFlow virtual service container is delivered in an open virtual application (OVA) file package (.ova). The OVA package is installed and enabled on the device through the CLI.

Verifying Cisco Plug-in for OpenFlow

SUMMARY STEPS

1.    show openflow copyright

2.    show openflow switch switch-id

3.    show openflow switch switch-id controllers [ stats ]

4.    show openflow switch switch ports

5.    show openflow switch-id flows [ configured | controller | default | fixed | pending | pending-del ] [ brief | summary]

6.    show openflow switch switch-id stats

7.    show interfaces type number counter

8.    show running-config | section openflow

9.    show openflow hardware capabilities

DETAILED STEPS

Step 1

show openflow copyright

Displays copyright information related to Cisco Plug-in for OpenFlow.

Example:

Switch# show openflow copyright
openflow-ott-of-c4k-103-3620
Cisco Plug-in for OpenFlow
TAC support: http://www.cisco.com/tac
Copyright (c) 2013-2015 by Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0, the GNU
Lesser General Public License (LGPL) Version 2.1, or or the GNU
Library General Public License (LGPL) Version 2. A copy of each
such license is available at
http://www.opensource.org/licenses/gpl-2.0.php and
http://www.opensource.org/licenses/lgpl-2.1.php and
http://www.gnu.org/licenses/old-licenses/lgpl-2.0.txt

Step 2

show openflow switch switch-id

Displays information related to Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1
Logical Switch Context
Id: 1
Switch type: Forwarding
Pipeline id: 1
Data plane: secure
Table-Miss default: continue-drop
Configured protocol version: Negotiate
Config state: no-shutdown
Working state: enabled
Rate limit (packet per second): 300
Burst limit: 50
Max backoff (sec): 8
Probe interval (sec): 5
TLS local trustpoint name: not configured
TLS remote trustpoint name: not configured
Logging flow changes: Disabled
Stats collect interval (sec): 7
Stats collect Max flows: 2000
Stats collect period (sec): 1
Minimum flow idle timeout (sec): 15
OFA Description:
Manufacturer: Cisco Systems, Inc.
Hardware: WS-C4507R+E V01
Software: Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.07.03.E3.212 EARLY DEPLOYMENT [DEV IMAGE] ENGINEERING NOVA_WEEKLY BUILD, synced to V152_3_2_46_E2
Technical Support: http://www.cisco.com/techsupp
Serial Num: FOX1447GWNY
DP Description: ott-of-c4k-102:sw1
OF Features:
DPID:0000000000000222
Number of tables:2
Number of buffers:256
Capabilities: FLOW_STATS TABLE_STATS PORT_STATS
Controllers:
5.0.3.3:6102, Protocol: TCP, VRF: default
Interfaces:
GigabitEthernet5/1
GigabitEthernet5/2

Step 3

show openflow switch switch-id controllers [ stats ]

Displays information related to the connection status between an Cisco Plug-in for OpenFlow logical switch and connected controllers.

Example:Here the switch is not connected to the controller

Switch# show openflow switch 1 controllers stats
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
address                         :  tcp:5.0.3.3:6102
connection attempts             :  9
successful connection attempts  :  0
flow adds                       :  0
flow mods                       :  0
flow deletes                    :  0
flow removals                   :  0
flow errors                     :  0
flow unencodable errors         :  0
total errors                    :  0
echo requests                   :  rx: 0, tx: 0
echo reply                      :  rx: 0, tx: 0
flow stats                      :  rx: 0, tx: 0
barrier                         :  rx: 0, tx: 0
packet-in/packet-out            :  rx: 0, tx: 0

Switch# show openflow switch 1 controllers
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
5.0.3.3:6102
Protocol: tcp
VRF: default
Connected: No
Role: Master
Negotiated Protocol Version: disconnected
Last Alive Ping: N/A
last_error:Connection refused
state:BACKOFF
sec_since_disconnect:7

Example:Here the switch is connected to the controller.

Switch# show openflow switch 1 controllers
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
5.0.3.3:6102
Protocol: tcp
VRF: default
Connected: Yes
Role: Master
Negotiated Protocol Version: OpenFlow 1.0
Last Alive Ping: 03/30/2015 16:19:02
last_error:Connection refused
state:ACTIVE
sec_since_connect:143
sec_since_disconnect:151

Switch# show openflow switch 1 controllers stats
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total Controllers: 1
Controller: 1
address                         :  tcp:5.0.3.3:6102
connection attempts             :  110313
successful connection attempts  :  3
flow adds                       :  0
flow mods                       :  0
flow deletes                    :  0
flow removals                   :  0
flow errors                     :  0
flow unencodable errors         :  0
total errors                    :  0
echo requests                   :  rx: 0, tx: 49628
echo reply                      :  rx: 49627, tx: 0
flow stats                      :  rx: 0, tx: 0
barrier                         :  rx: 3, tx: 3
packet-in/packet-out            :  rx: 1, tx: 257093

Step 4

show openflow switch switch ports

Displays the mapping between physical device interfaces and ports of an Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1 ports
Logical Switch Id: 1
Port  Interface Name    Config-State   Link-State     Features
5097  Gi1/24            PORT_UP        LINK_DOWN      1GB-FD

Step 5

show openflow switch-id flows [ configured | controller | default | fixed | pending | pending-del ] [ brief | summary]

Displays flows defined for the device by controllers.

Example:This example shows how to add a flow, which sends packet with src=1.1.1.0/24 to ‘Gi5/1’.

Switch# show openflow switch 1 flows
openflow-ott-of-c4k-102-3890
Logical Switch Id: 1
Total flows: 3

Flow: 1
Match:             any
Actions:           goto_table:1
Priority:          0
Table:             0
Cookie:            0x0
Duration:          1341.41s
Number of packets: 0
Number of bytes:   0

Flow: 2
Match:             ip,nw_src=1.1.1.0/24
Actions:           output:5100
Priority:          32768
Table:             1
Cookie:            0x465f30352e3031
Duration:          9.173s
Number of packets: 0
Number of bytes:   0

Flow: 3
Match:             any
Actions:           drop
Priority:          0
Table:             1
Cookie:            0x0
Duration:          1341.437s
Number of packets: 0
Number of bytes:   0

Example:

Switch# show openflow switch 1 flows configured
Logical Switch Id: 1
Total flows: 2

Flow: 1
Match:             any
Actions:           goto_table:1
Priority:          0
Table:             0
Cookie:            0x0
Duration:          1374.617s
Number of packets: 0
Number of bytes:   0

Flow: 2
Match:             any
Actions:           drop
Priority:          0
Table:             1
Cookie:            0x0
Duration:          1374.644s
Number of packets: 0
Number of bytes:   0

Example:

Switch# show openflow switch 1 flows controller
Logical Switch Id: 1
Total flows: 1

Flow: 1
Match:             ip,nw_src=1.1.1.0/24
Actions:           output:5100
Priority:          32768
Table:             1
Cookie:            0x465f30352e3031
Duration:          92.122s
Number of packets: 0
Number of bytes:   0

Step 6

show openflow switch switch-id stats

Displays send and receive statistics for each port defined for a Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show openflow switch 1 stats
openflow-ott-of-c4k-102-415
Logical Switch Id: 1

Total ports: 4
Port 5100: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5098: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5097: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Port 5099: rx pkts=0, bytes=0, drop=0, errs=0,
tx pkts=0, bytes=0, drop=0, errs=0,
Total tables: 2
Table 0: L2 Table
Wildcards = 0x00000
Max entries =  10000
Active entries = 1
Number of lookups = 0
Number of matches = 0
Table 1: L3 Table
Wildcards = 0x00000
Max entries =  10000
Active entries = 1
Number of lookups = 0
Number of matches = 0

Step 7

show interfaces type number counter

Displays send and receive statistics for the specified port defined for an Cisco Plug-in for OpenFlow logical switch.

Example:

Switch# show interfaces GigabitEthernet 5/32 counters detail
Port                     InBytes       InUcastPkts      InMcastPkts       InBcastPkts
Gi5/32                         0                 0                0                 0

Port                    OutBytes      OutUcastPkts     OutMcastPkts      OutBcastPkts
Gi5/32                         0                 0                0                 0

Port                   InPkts 64        OutPkts 64    InPkts 65-127    OutPkts 65-127
Gi5/32                         0                 0                0                 0

Port              InPkts 128-255   OutPkts 128-255   InPkts 256-511   OutPkts 256-511
Gi5/32                         0                 0                0                 0

Port             InPkts 512-1023  OutPkts 512-1023
Gi5/32                         0                 0

Port            InPkts 1024-1518 OutPkts 1024-1518 InPkts 1519-1548 OutPkts 1519-1548
Gi5/32                         0                 0                0                 0

Port            InPkts 1549-9216 OutPkts 1549-9216
Gi5/32                         0                 0

Port            Tx-Bytes-Queue-1  Tx-Bytes-Queue-2 Tx-Bytes-Queue-3  Tx-Bytes-Queue-4
Gi5/32                         0                 0                0                 0

Port            Tx-Bytes-Queue-5  Tx-Bytes-Queue-6 Tx-Bytes-Queue-7  Tx-Bytes-Queue-8
Gi5/32                         0                 0                0                 0

Port            Tx-Drops-Queue-1  Tx-Drops-Queue-2 Tx-Drops-Queue-3  Tx-Drops-Queue-4
Gi5/32                         0                 0                0                 0

Port            Tx-Drops-Queue-5  Tx-Drops-Queue-6 Tx-Drops-Queue-7  Tx-Drops-Queue-8
Gi5/32                         0                 0                0                 0

Port            Dbl-Drops-Queue-1 Dbl-Drops-Queue-2 Dbl-Drops-Queue-3 Dbl-Drops-Queue-4
Gi5/32                          0                 0                 0                 0

Port            Dbl-Drops-Queue-5 Dbl-Drops-Queue-6 Dbl-Drops-Queue-7 Dbl-Drops-Queue-8
Gi5/32                          0                 0                 0                 0

Port              Rx-No-Pkt-Buff     RxPauseFrames    TxPauseFrames   PauseFramesDrop
Gi5/32                         0                 0                0                 0

Port            UnsupOpcodePause
Gi5/32                         0

Step 8

show running-config | section openflow

Displays configurations made for Cisco Plug-in for OpenFlow.

Example:

Switch# show running-config | section openflow
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
onep application openflow exclusive
openflow
switch 1
pipeline 1
of-port interface GigabitEthernet5/1
of-port interface GigabitEthernet5/2
of-port interface GigabitEthernet5/3
of-port interface GigabitEthernet5/4
controller ipv4 5.0.3.3 port 6102 security none
default-miss drop
probe-interval 5
statistics collection-interval 7
rate-limit packet_in 300 burst 50
datapath-id 0x2222

Step 9

show openflow hardware capabilities

Displays Cisco Plug-in for OpenFlow configurations.

Example:

Switch# show openflow hardware capabilities
Max Flow Batch Size: 250

Statistics Max Polling Rate (flows/sec): 500

Max Interfaces: 1000

Aggregated Statistics: NO

Pipeline ID: 1

Pipeline Max Flows: 2000

Pipeline Default Statistics Collect Interval: 7

Flow table ID: 0

Max Flow Batch Size: 250
Max Flows: 1000
Bind Subintfs: FALSE
Primary Table: TRUE
Table Programmable: TRUE
Miss Programmable: TRUE
Number of goto tables: 1
goto table id:      1
Stats collection period (sec): 2000

Match Capabilities                  Match Types
------------------                  -----------
ethernet mac destination            optional
ethernet mac source                 optional
ethernet type                       optional
VLAN ID                             optional
VLAN priority code point            optional
in port (virtual or physical)       optional

Actions                     Count Limit             Order
specified interface                 1               100
controller                          1               100
divert a copy of pkt to application 1               100

set eth source mac                  1               10
set eth destination mac             1               10
set vlan id                         1               10
set vlan priority (cos)             1               10
set qos group                       1               10

pop vlan tag                        1               10

drop packet                         1               100

Miss actions                        Count Limit             Order
controller                          1               100
perform another lookup in the specified table       1               200

drop packet                         1               100

Flow table ID: 1

Max Flow Batch Size: 250
Max Flows: 1000
Bind Subintfs: FALSE
Primary Table: FALSE
Table Programmable: TRUE
Miss Programmable: TRUE
Number of goto tables: 0
goto table id:
Stats collection period (sec): 2000

Match Capabilities                  Match Types
------------------                  -----------
ethernet type                       mandatory
IP DSCP                             optional
IP protocol                         optional
IPv4 source address                 lengthmask
IPv4 destination address            lengthmask
ipv6 source addresss                lengthmask
ipv6 destination address            lengthmask
source port                         optional
destination port                    optional
icmpv4 type                         optional
icmpv4 code                         optional
in port (virtual or physical)       optional

Actions                     Count Limit             Order
specified interface                 1               100
controller                          1               100
divert a copy of pkt to application 1               100

set eth source mac                  1               10
set eth destination mac             1               10
set vlan id                         1               10
set vlan priority (cos)             1               10
set IPv4 source address             1               10
set IPv4 destination address        1               10
set IP tos byte                     1               10
set IP dscp                         1               10
set TCP source port                 1               10
set TCP destination port            1               10
set UDP source port                 1               10
set UDP destination port            1               10
set qos group                       1               10

pop vlan tag                        1               10

drop packet                         1               100

Miss actions                        Count Limit             Order
controller                          1               100

drop packet                         1               100

Related Information

Collecting Troubleshooting Information

Installing and Activating an Application in a Virtual Services Container

This task copies an open virtual application (OVA) package from an FTP file location, installs the application in a virtual services container, provisions the application, and activates it.

SUMMARY STEPS

1.    enable

2.    copy from://source-directory-url destination-directory-url

3.    virtual-service install name virtual-services-name package file

4.    configure terminal

5.    virtual-service virtual-services-name

6.    activate

7.    end

8.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

copy from://source-directory-url destination-directory-url

Example:

Switch# copy tftp://myserver.com/downloads/ofa-2.0.0-r1-cat4500-SPA-k9.ova bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Downloads the new OVA package to the device for upgrade. Possible values are:

- bootflash:

- tftp:

Ensure you have configured the ip tftp source-interface mgmt_interface for the tftp to be usable.

Step 3

virtual-service install name virtual-services-name package file

Example:

Switch# virtual-service install name openflow_agent package bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Installs an OVA package from the specified location onto a device. Ensure that the ova file is located in the root directory of the storage device

The virtual-services-name defined here should be used in all occurrences of this argument in this document.

Step 4

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 5

virtual-service virtual-services-name

Example:

Switch(config)# virtual-service openflow_agent

Configures a virtual services container and enters virtual services configuration mode. Observe these guidelines:

- Use the virtual-services-name defined during installation of the application.

- Ensure that installation is complete before proceeding to the next step using the show virtual-service list command.

Step 6

activate

Example:

Switch(config-virt-serv)# activate

Activates the installed virtual services container.

Step 7

end

Example:

Switch(config-virt-serv)# end

Exits virtual services configuration mode and enters privileged EXEC mode.

Step 8

copy running-config startup-config

Example:

Switch# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

What to Do Next

You can now begin using your application.

Related Information

Verifying Installation of Virtual Services Container Applications

Configuration Examples for Virtual Services Container Installation

Verifying Installation of Virtual Services Container Applications

SUMMARY STEPS

1.    show virtual-service [global]

2.    show virtual-service detail [name virtual-services-name]

3.    show virtual-service list

4.    show virtual-service storage pool list

5.    show virtual-service storage volume list

6.    show virtual-service version name virtual-services-name installed

7.    show virtual-service tech-support

8.    show virtual-service redundancy state

9.    show virtual-service utilization name virtual-services-name

10.    show virtual-service utilization statistics CPU

DETAILED STEPS

Step 1

show virtual-service [global]

This command displays available memory, disk space, and CPU allocated for applications.

Example:

Switch# show virtual-service

Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Step 2

show virtual-service detail [name virtual-services-name]

This command displays a list of resources committed to a specified application, including attached devices.

Example:

Switch# show virtual-service detail name openflow_agent

Virtual service ofa detail
State                 : Activated
Package information
Name                : cat4k_4065-k9.ova
Path                : bootflash:/virtual-instance/OVA/ofa/cat4k_4065-k9.ova
Application
Name              : CiscoPluginForOpenFlow
Installed version : 1.1.910_4065
Description       : Cisco Plug-in for OpenFlow
Signing
Key type          : Cisco key
Method            : SHA-512
Licensing
Name              : Not Available
Version           : Not Available

Resource reservation
Disk                : 95 MB
Memory              : 256 MB
CPU                 : 1% system CPU

Attached devices
Type              Name        Alias
---------------------------------------------
Disk              _rootfs
Disk              /mnt/ofa
Disk              /cisco/...
Serial/shell
Serial/aux
Serial/Syslog                 serial2
Serial/Trace                  serial3
Watchdog

Step 3

show virtual-service list

This command displays an overview of resources utilized by the applications.

Example:

Switch# show virtual-service list

Virtual Service List:

Name                    Status             Package Name
------------------------------------------------------------------------------
ofa                     Activated          cat4k_4065-k9.ova

Step 4

show virtual-service storage pool list

This command displays an overview of storage locations (pools) used for virtual service containers.

Example:

Switch# show virtual-service storage pool list

Virtual-Service storage pool list

Name                  Pool Type   Path
--------------------------------------------------------------------------
virt_strg_pool_bf_vdc_1  directory   /bootflash/virt_strg_pool_bf_vdc_1

Step 5

show virtual-service storage volume list

This command displays an overview of storage volume information for virtual service containers.

Example:

Switch# show virtual-service storage volume list

Virtual-Service storage volume list

Name                       Capacity    In Use      Virtual-Service
--------------------------------------------------------------------------------------
_rootfs.ofa                90 MB       Yes         ofa

Step 6

show virtual-service version name virtual-services-name installed

This command displays the version of an installed application.

Example:

Switch# show virtual-service version name openflow_agent installed

Virtual service openflow_agent installed version:
Name : CiscoPluginForOpenFlow
Version : 1.1.0_fc1

Step 7

show virtual-service tech-support

Displays all relevant container-based information.

Step 8

show virtual-service redundancy state

Example:

Switch# show virtual-service redundancy state

Device# show virtual-service redundancy state
Virtual Service Redundancy State:

Switch No.       Role        Configure sync status      OVA sync status
----------------------------------------------------------------------------
3                Active      N/A                        N/A

Displays state of virtual-services.

Step 9

show virtual-service utilization name virtual-services-name

Example:

Switch# show virtual-service utilization name openflow_agent
Virtual-Service Utilization:

CPU Utilization:
CPU Time:  0 % (30 second average)
CPU State: R : Running

Memory Utilization:
Memory Allocation: 262144 Kb
Memory Used:       19148 Kb

Storage Utilization:
Name: _rootfs, Alias: _rootfs
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  89243       Used(1K blocks): 66976
Available(1K blocks): 17659       Usage: 80 %
Name: cisco, Alias: cisco
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  861512      Used(1K blocks): 218216
Available(1K blocks): 643296      Usage: 26 %
Name: /mnt/ofa, Alias: /mnt/ofa
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  4955        Used(1K blocks): 35
Available(1K blocks): 4664        Usage: 1  %
Name: /cisco/core, Alias: /cisco/core
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  138119      Used(1K blocks): 91053
Available(1K blocks): 39935       Usage: 70 %
Name: /tmp1, Alias: /tmp1
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  861512      Used(1K blocks): 218216
Available(1K blocks): 643296      Usage: 26 %
Name: /cisco123, Alias: /cisco123
RD Bytes:    0                    WR Bytes:    0
RD Requests: 0                    WR Requests: 0
Errors:      0
Capacity(1K blocks):  856308      Used(1K blocks): 19200
Available(1K blocks): 837108      Usage: 3  %

Displays virtual-services utilization information.

Step 10

show virtual-service utilization statistics CPU

Displays virtual service CPU utilization statistics.

Related Information

Troubleshooting: Installing Applications in a Virtual Services Container

Troubleshooting: Activating Applications in a Virtual Services Container

Troubleshooting: Installing Applications in a Virtual Services Container

This topic describes the possible reasons why installation of an application in a virtual services container may not have been successful, and the corresponding solutions.

Problem    Installation of an application in a virtual services container is not successful.

Possible Cause    Installation of the application may still be ongoing.

Check the installation status, by using the show virtual-service list command. The following sample output shows an application that has status Installed.

Switch# show virtual-service list
Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
multiova                Activated          multiova-working.ova
WAAS                    Installed          ISR4451X-WAAS-5.2.0-b...

Possible Cause    An application with the same name has already been installed.

Solution    Ensure that an application with the same name has not already been installed, by using the show virtual-service list command. You can verify this by referencing the Name field.

Possible Cause    The target media has not been installed.

Solution    Target media for Cisco Catalyst 4500 series switches —bootflash. Solution    Ensure that the target media is installed, by using the show version command.

Switch# show version
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSALK9-M), Version 03.07.01.E.227 EARLY DEPLOYMENT [PROD BUILD] ENGINEERING NOVA_WEEKLY BUILD, synced to SYNC_FOR_BENI_MR1
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Tue 31-Mar-15 17:48 by gereddy

Cisco IOS-XE software, Copyright (c) 2005-2015 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0. The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY. You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0.
(http://www.gnu.org/licenses/gpl-2.0.html) For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
software.

ROM: 15.0(1r)SG1
ott-of-c4k-103 uptime is 5 days, 21 hours, 45 minutes
Uptime for this control processor is 5 days, 21 hours, 47 minutes
System returned to ROM by reload
System image file is "slot0:/cat4500e-universalk9.SSA.03.07.01.E.227.152-3.2.27.E1.bin"
Jawa Revision 7, Snowtrooper Revision 0x0.0x1C

Last reload reason: Reload command

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

License Information for 'WS-X45-SUP7-E'
License Level: entservices Type: Permanent
Next reboot license Level: entservices

cisco WS-C4507R+E (MPC8572) processor (revision 8) with 2097152K bytes of physical memory.
Processor board ID FOX1447GWNQ
MPC8572 CPU at 1.5GHz, Supervisor 7
Last reset from Reload
2 Virtual Ethernet interfaces
96 Gigabit Ethernet interfaces
8 Ten Gigabit Ethernet interfaces
511K bytes of non-volatile configuration memory.

Configuration register is 0x0

Possible Cause    There is insufficient space to install an application.

Solution    Check the amount of space that is available, by using the dir command.

Switch# dir bootflash:
Directory of bootflash:/

72980 drwx 4096 Apr 8 2015 07:59:36 +00:00 tracelogs
72981 drwx 4096 Mar 21 2014 14:08:37 +00:00 temp
14597 drwx 4096 Apr 8 2015 08:00:52 +00:00 temp_amd
72963 drwx 4096 Apr 12 2014 11:47:04 +00:00 onep
72986 drwx 4096 Feb 25 2015 17:59:49 +00:00 virtual-instance-stby-sync
72984 -rw- 26388480 Mar 20 2015 19:08:38 +00:00 cat4k_rel.ova
73051 -rw- 180 Apr 8 2015 08:00:02 +00:00 virtual-instance.conf
72982 -rw- 52068 Mar 28 2014 17:39:38 +00:00 label_3
73006 -rw- 72601600 Apr 2 2015 16:46:07 +00:00 ofa-cat4k.ova
87553 -rw- 1037 Mar 6 2015 12:13:43 +00:00 vman_ofa.log.4720.20150306121343
87554 -rw- 3427 Mar 6 2015 12:18:52 +00:00 vman_ofa.log.4720.20150306121852
87555 -rw- 113201 Mar 14 2015 18:51:05 +00:00 vman_ofa.log.4720.20150314185105
87556 -rw- 22215 Mar 14 2015 18:54:55 +00:00 vman_ofa.log.4720.20150314185455
87557 -rw- 72642560 Mar 18 2015 12:26:32 +00:00 ofa-1.1.64113n-cat4500-SSA-k9.ova
73005 -rw- 26388480 Apr 3 2015 10:55:09 +00:00 ofa-2.0.0-r1-cat4500-SPA-k9.ova
87569 -rw- 72642560 Feb 27 2015 16:05:41 +00:00 ofa-1.1.64109n-cat4500-SSA-k9.ova

Possible Cause    Disk quota for container is insufficient.

Solution    Ensure that sufficient disk quota is allotted to the virtual services container, by using the show virtual-service global command.

Switch# show virtual-service global
Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Possible Cause    An invalid OVA package has been used for installation (Invalid package/Parsing error/Invalid machine specification error).

Solution    Ensure that the OVA package copied to the device matches in size with the OVA package on the FTP server. Refer to the release for details or Contact Cisco Technical Support to ensure that the OVA file provided is compatible with the device operating system and not corrupted.

Possible Cause    The virtual services container does not install properly due to unknown reasons.

Solution    Uninstall the virtual services container. If the problem persists, collect general troubleshooting information and contact Cisco Technical Support.

Related Information

Collecting Troubleshooting Information

Troubleshooting: Activating Applications in a Virtual Services Container

This topic describes the possible reasons why the activation of an application in a virtual services container may not have been successful, and the corresponding solutions.

Problem    Activation of an application in a virtual services container is not successful.

Possible Cause    Activation of the application may still be ongoing.

Solution    Check the activation status of the application, by using the show virtual-service list command. The following sample output shows an application that status Activated.

Switch# show virtual-service list

Virtual Service List:
Name                    Status             Package Name
-------------------------------------------------------------------
WAAS                    Activated          ISR4451X-WAAS-5.2.0-b...

Possible Cause    The virtual services container does not have sufficient resources for activation of the application.

Solution    Check if the device has sufficient resources for virtualization, including—memory, disk space, and CPU utilization. You can display the resource requirement for virtualization, by using the show virtual-service command.

Switch# show virtual-service

Virtual Service Global State and Virtualization Limits:

Infrastructure version : 1.5
Total virtual services installed : 1
Total virtual services activated : 1

Machine types supported   : LXC
Machine types disabled    : KVM

Maximum VCPUs per virtual service : 1
Resource virtualization limits:
Name                         Quota     Committed     Available
--------------------------------------------------------------
system CPU (%)                   6             1             5
memory (MB)                    256           256             0
bootflash (MB)                 256           164            92

Possible Cause    The application does not activate properly due to unknown reasons.

Solution    Deactivate and uninstall the application. If the problem persists, collect general troubleshooting information and contact Cisco Technical Support.

Related Information

Collecting Troubleshooting Information

Collecting Troubleshooting Information

Information collected using the commands listed below can be sent to Cisco Technical Support for troubleshooting purposes.

SUMMARY STEPS

1.    show system sysmgr service name vman

2.    show mgmt-infra trace message vman_trace

3.    virtual-service move name virtual-services-name [core | log] to destination-url

4.    show mgmt-infra trace settings vman_trace

5.    set trace control vman_trace buffer-size buffer-size

6.    set trace control vman_trace clear [location active]

7.    set trace vman_trace level {debug | default | err | info | warning} [location active]

DETAILED STEPS

Command or Action

Purpose

Step 1

show system sysmgr service name vman

Example:

Switch# show system sysmgr service name vman
Service "vman" ("vman", 209):
UUID = 0x49B, PID = 3283, SAP = 808
State: SRV_STATE_HANDSHAKED (entered at time Tue Mar  5 01:11:41 2013).
Restart count: 1
Time of last restart: Tue Mar  5 01:11:41 2013.
The service never crashed since the last reboot.
Tag = N/A
Plugin ID: 0

This command shows the health of the virtualization manager (VMAN) process.

Step 2

show mgmt-infra trace message vman_trace

Example:

Switch# show mgmt-infra trace message vman_trace
[07/09/14 21:48:03.580 UTC 1 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.626 UTC 2 4634] (debug): storage elem: 90 1 1 virt_strg_pool_bf
[07/09/14 21:48:03.626 UTC 3 4634] (debug): storage elem: /bootflash/virtual-instance/ofa/ha_sync.img
[07/09/14 21:48:03.626 UTC 4 4634] (debug): storage elem: /crashinfo/virtual-instance/ofa/core
[07/09/14 21:48:03.626 UTC 5 4634] (debug): done walking...

[07/09/14 21:48:03.626 UTC 6 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.627 UTC 7 4634] (notice): Per-VM mac address binding is not set
[07/09/14 21:48:03.627 UTC 8 4634] (ERR): Could not get info from FileDB.
[07/09/14 21:48:03.627 UTC 9 4634] (debug): aborting walk at vm ofa
[07/09/14 21:48:03.627 UTC a 4634] (debug): done walking...

[07/09/14 21:48:03.627 UTC b 4634] (debug): Added tech support info: /tmp/vman_techsupport.20140709214803.4634
[07/09/14 21:48:03.627 UTC c 4634] (debug): cmd 'modprobe tipc' executing
[07/09/14 21:48:06.040 UTC d 4634] (debug): cmd 'tipc-config -addr=1.1.1 -netid=4711' executing
[07/09/14 21:48:06.106 UTC e 4634] (debug): OIR-Client init: Registered with handle(0x4252c2db)

This command contains information logged by the VMAN process.

Step 3

virtual-service move name virtual-services-name [core | log] to destination-url

Example:

Switch# virtual-service move name openflow_agent core to bootflash:/

Moves application log or core files to a specified destination location. This command can be used when the application running in the container has an issue (but the container is running as expected).

Step 4

show mgmt-infra trace settings vman_trace

Example:

Switch# show mgmt-infra trace settings vman_trace

One shot Trace Settings:

Buffer Name: vman_trace
Default Size: 262144
Current Size: 262144
Traces Dropped due to internal error: Yes
Total Entries Written: 2513
One shot mode: No
One shot and full: No
Disabled: False

This command displays trace settings of a trace buffer.

Step 5

set trace control vman_trace buffer-size buffer-size

This command sets the trace buffer size.

Step 6

set trace control vman_trace clear [location active]

This command clears the trace buffer.

Step 7

set trace vman_trace level {debug | default | err | info | warning} [location active]

This command sets the trace level.

Collecting Troubleshooting Information

Information collected using the commands listed below can be sent to Cisco Technical Support for troubleshooting purposes.

SUMMARY STEPS

1.    show system sysmgr service name vman

2.    show mgmt-infra trace message vman_trace

3.    virtual-service move name virtual-services-name [core | log] to destination-url

4.    show mgmt-infra trace settings vman_trace

5.    set trace control vman_trace buffer-size buffer-size

6.    set trace control vman_trace clear [location active]

7.    set trace vman_trace level {debug | default | err | info | warning} [location active]

DETAILED STEPS

Command or Action

Purpose

Step 1

show system sysmgr service name vman

Example:

Switch# show system sysmgr service name vman
Service "vman" ("vman", 209):
UUID = 0x49B, PID = 3283, SAP = 808
State: SRV_STATE_HANDSHAKED (entered at time Tue Mar  5 01:11:41 2013).
Restart count: 1
Time of last restart: Tue Mar  5 01:11:41 2013.
The service never crashed since the last reboot.
Tag = N/A
Plugin ID: 0

This command shows the health of the virtualization manager (VMAN) process.

Step 2

show mgmt-infra trace message vman_trace

Example:

Switch# show mgmt-infra trace message vman_trace
[07/09/14 21:48:03.580 UTC 1 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.626 UTC 2 4634] (debug): storage elem: 90 1 1 virt_strg_pool_bf
[07/09/14 21:48:03.626 UTC 3 4634] (debug): storage elem: /bootflash/virtual-instance/ofa/ha_sync.img
[07/09/14 21:48:03.626 UTC 4 4634] (debug): storage elem: /crashinfo/virtual-instance/ofa/core
[07/09/14 21:48:03.626 UTC 5 4634] (debug): done walking...

[07/09/14 21:48:03.626 UTC 6 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.627 UTC 7 4634] (notice): Per-VM mac address binding is not set
[07/09/14 21:48:03.627 UTC 8 4634] (ERR): Could not get info from FileDB.
[07/09/14 21:48:03.627 UTC 9 4634] (debug): aborting walk at vm ofa
[07/09/14 21:48:03.627 UTC a 4634] (debug): done walking...

[07/09/14 21:48:03.627 UTC b 4634] (debug): Added tech support info: /tmp/vman_techsupport.20140709214803.4634
[07/09/14 21:48:03.627 UTC c 4634] (debug): cmd 'modprobe tipc' executing
[07/09/14 21:48:06.040 UTC d 4634] (debug): cmd 'tipc-config -addr=1.1.1 -netid=4711' executing
[07/09/14 21:48:06.106 UTC e 4634] (debug): OIR-Client init: Registered with handle(0x4252c2db)

This command contains information logged by the VMAN process.

Step 3

virtual-service move name virtual-services-name [core | log] to destination-url

Example:

Switch# virtual-service move name openflow_agent core to bootflash:/

Moves application log or core files to a specified destination location. This command can be used when the application running in the container has an issue (but the container is running as expected).

Step 4

show mgmt-infra trace settings vman_trace

Example:

Switch# show mgmt-infra trace settings vman_trace

One shot Trace Settings:

Buffer Name: vman_trace
Default Size: 262144
Current Size: 262144
Traces Dropped due to internal error: Yes
Total Entries Written: 2513
One shot mode: No
One shot and full: No
Disabled: False

This command displays trace settings of a trace buffer.

Step 5

set trace control vman_trace buffer-size buffer-size

This command sets the trace buffer size.

Step 6

set trace control vman_trace clear [location active]

This command clears the trace buffer.

Step 7

set trace vman_trace level {debug | default | err | info | warning} [location active]

This command sets the trace level.

Deactivating and Uninstalling an Application from a Virtual Services Container

(Optional) Perform this task to uninstall and deactivate an application from within a virtual services container.

SUMMARY STEPS

1.    enable

2.    configure terminal

3.    virtual-service virtual-services-name

4.    no activate

5.    no virtual-service virtual-services-name

6.    end

7.    virtual-service uninstall name virtual-services-name

8.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 3

virtual-service virtual-services-name

Example:

Switch(config)# virtual-service openflow_agent

Enters virtual services configuration mode to configure a specified application.

- Use the virtual-services-name defined during installation of the application.

Step 4

no activate

Example:

Switch(config-virt-serv)# no activate

Disables the application.

Step 5

no virtual-service virtual-services-name

Example:

Switch(config)# no virtual-service openflow_agent

Unprovisions the application.

- Use the virtual-services-name defined during installation of the application.

- This command is optional for all devices running Cisco IOS-XE.

Step 6

end

Example:

Switch(config-virt-serv)# end

Exits virtual services configuration mode and enters privileged EXEC mode.

Step 7

virtual-service uninstall name virtual-services-name

Example:

Switch# virtual-service uninstall name openflow_agent

Uninstalls the application.

- Use the virtual-services-name defined during installation of the application.

- Run this command only after receiving a successful deactivation response from the device.

Step 8

copy running-config startup-config

Example:

Switch# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

Related Information

Collecting Troubleshooting Information

Collecting Troubleshooting Information

Information collected using the commands listed below can be sent to Cisco Technical Support for troubleshooting purposes.

SUMMARY STEPS

1.    show system sysmgr service name vman

2.    show mgmt-infra trace message vman_trace

3.    virtual-service move name virtual-services-name [core | log] to destination-url

4.    show mgmt-infra trace settings vman_trace

5.    set trace control vman_trace buffer-size buffer-size

6.    set trace control vman_trace clear [location active]

7.    set trace vman_trace level {debug | default | err | info | warning} [location active]

DETAILED STEPS

Command or Action

Purpose

Step 1

show system sysmgr service name vman

Example:

Switch# show system sysmgr service name vman
Service "vman" ("vman", 209):
UUID = 0x49B, PID = 3283, SAP = 808
State: SRV_STATE_HANDSHAKED (entered at time Tue Mar  5 01:11:41 2013).
Restart count: 1
Time of last restart: Tue Mar  5 01:11:41 2013.
The service never crashed since the last reboot.
Tag = N/A
Plugin ID: 0

This command shows the health of the virtualization manager (VMAN) process.

Step 2

show mgmt-infra trace message vman_trace

Example:

Switch# show mgmt-infra trace message vman_trace
[07/09/14 21:48:03.580 UTC 1 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.626 UTC 2 4634] (debug): storage elem: 90 1 1 virt_strg_pool_bf
[07/09/14 21:48:03.626 UTC 3 4634] (debug): storage elem: /bootflash/virtual-instance/ofa/ha_sync.img
[07/09/14 21:48:03.626 UTC 4 4634] (debug): storage elem: /crashinfo/virtual-instance/ofa/core
[07/09/14 21:48:03.626 UTC 5 4634] (debug): done walking...

[07/09/14 21:48:03.626 UTC 6 4634] (debug): walking db file vman_fdb_vm_ofa forvm ofa
[07/09/14 21:48:03.627 UTC 7 4634] (notice): Per-VM mac address binding is not set
[07/09/14 21:48:03.627 UTC 8 4634] (ERR): Could not get info from FileDB.
[07/09/14 21:48:03.627 UTC 9 4634] (debug): aborting walk at vm ofa
[07/09/14 21:48:03.627 UTC a 4634] (debug): done walking...

[07/09/14 21:48:03.627 UTC b 4634] (debug): Added tech support info: /tmp/vman_techsupport.20140709214803.4634
[07/09/14 21:48:03.627 UTC c 4634] (debug): cmd 'modprobe tipc' executing
[07/09/14 21:48:06.040 UTC d 4634] (debug): cmd 'tipc-config -addr=1.1.1 -netid=4711' executing
[07/09/14 21:48:06.106 UTC e 4634] (debug): OIR-Client init: Registered with handle(0x4252c2db)

This command contains information logged by the VMAN process.

Step 3

virtual-service move name virtual-services-name [core | log] to destination-url

Example:

Switch# virtual-service move name openflow_agent core to bootflash:/

Moves application log or core files to a specified destination location. This command can be used when the application running in the container has an issue (but the container is running as expected).

Step 4

show mgmt-infra trace settings vman_trace

Example:

Switch# show mgmt-infra trace settings vman_trace

One shot Trace Settings:

Buffer Name: vman_trace
Default Size: 262144
Current Size: 262144
Traces Dropped due to internal error: Yes
Total Entries Written: 2513
One shot mode: No
One shot and full: No
Disabled: False

This command displays trace settings of a trace buffer.

Step 5

set trace control vman_trace buffer-size buffer-size

This command sets the trace buffer size.

Step 6

set trace control vman_trace clear [location active]

This command clears the trace buffer.

Step 7

set trace vman_trace level {debug | default | err | info | warning} [location active]

This command sets the trace level.

Installing and Activating an Application in a Virtual Services Container

This task copies an open virtual application (OVA) package from an FTP file location, installs the application in a virtual services container, provisions the application, and activates it.

SUMMARY STEPS

1.    enable

2.    copy from://source-directory-url destination-directory-url

3.    virtual-service install name virtual-services-name package file

4.    configure terminal

5.    virtual-service virtual-services-name

6.    activate

7.    end

8.    copy running-config startup-config

DETAILED STEPS

Command or Action

Purpose

Step 1

enable

Example:

Switch> enable

Enables privileged EXEC mode. Enter your password if prompted.

Step 2

copy from://source-directory-url destination-directory-url

Example:

Switch# copy tftp://myserver.com/downloads/ofa-2.0.0-r1-cat4500-SPA-k9.ova bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Downloads the new OVA package to the device for upgrade. Possible values are:

- bootflash:

- tftp:

Ensure you have configured the ip tftp source-interface mgmt_interface for the tftp to be usable.

Step 3

virtual-service install name virtual-services-name package file

Example:

Switch# virtual-service install name openflow_agent package bootflash:/ofa-2.0.0-r1-cat4500-SPA-k9.ova

Installs an OVA package from the specified location onto a device. Ensure that the ova file is located in the root directory of the storage device

The virtual-services-name defined here should be used in all occurrences of this argument in this document.

Step 4

configure terminal

Example:

Switch# configure terminal

Enters the global configuration mode.

Step 5

virtual-service virtual-services-name

Example:

Switch(config)# virtual-service openflow_agent

Configures a virtual services container and enters virtual services configuration mode. Observe these guidelines:

- Use the virtual-services-name defined during installation of the application.

- Ensure that installation is complete before proceeding to the next step using the show virtual-service list command.

Step 6

activate

Example:

Switch(config-virt-serv)# activate

Activates the installed virtual services container.

Step 7

end

Example:

Switch(config-virt-serv)# end

Exits virtual services configuration mode and enters privileged EXEC mode.

Step 8

copy running-config startup-config

Example:

Switch# copy running-config startup-config

Saves the change persistently through reboots and restarts by copying the running configuration to the startup configuration.

What to Do Next

You can now begin using your application.