Mirroring traffic from a full bridge domain (also known as VLAN-based SPAN in Cisco IOS Software).

Mirroring traffic on an individual bundle member interface is not supported. SPAN must only be configured on a bundle interface and it is applied to all members.

Performance Impact with Traffic Mirroring

It is recommended that you do not mirror more than 15% of your total transit traffic. On the Cisco ASR 9000 Ethernet Line Card, that uses Ten Gigabit Ethernet interfaces or bundle interfaces there is a limit of 1.5G of data on each of the ingress and egress traffic that can be mirrored. This limitation is not applicable on the Cisco ASR 9000 Enhanced Ethernet Line Card.

Information about Traffic Mirroring

Introduction to Traffic Mirroring

Traffic mirroring, which is sometimes called port mirroring, or Switched Port Analyzer (SPAN) is a Cisco proprietary feature that enables you to monitor Layer 2 or Layer 3 network traffic passing in, or out of, a set of Ethernet interfaces. You can then pass this traffic to a network analyzer for analysis.

Traffic mirroring copies traffic from one or more Layer 3 interfaces or Layer 2 interfaces or sub-interfaces, including Layer 2 link bundle interfaces or sub-interfaces, and sends the copied traffic to one or more destinations for analysis by a network analyzer or other monitoring device. Traffic mirroring does not affect the switching of traffic on the source interfaces or sub-interfaces, and allows the mirrored traffic to be sent to a destination interface or sub-interface.

Traffic mirroring was introduced on switches because of a fundamental difference between switches and hubs. When a hub receives a packet on one port, the hub sends out a copy of that packet from all ports except from the one to which the hub received the packet. In the case of switches, after a switch boots, it starts to build up a Layer 2 forwarding table on the basis of the source MAC address of the different packets that the switch receives. After this forwarding table is built, the switch forwards traffic that is destined for a MAC address directly to the corresponding port.

For example, if you want to capture Ethernet traffic that is sent by host A to host B, and both are connected to a hub, just attach a traffic analyzer to this hub. All other ports see the traffic between hosts A and B (Figure 17).

Figure 17 Traffic Mirroring Operation on a Hub

On a switch or router, after the host B MAC address is learned, unicast traffic from A to B is only forwarded to the B port. Therefore, the traffic analyzer does not see this traffic (Figure 18).

Figure 18 Network Analysis Does Not Work on a Router Without Traffic Mirroring

In this configuration, the traffic analyzer only captures traffic that is flooded to all ports, such as:

An extra feature is necessary that artificially copies unicast packets that host A sends. This extra feature is traffic mirroring. When traffic mirroring is enabled, the traffic analyzer is attached to a port that is configured to receive a copy of every packet that host A sends. This port is called a traffic mirroring port. The other sections of this document describe how you can fine tune this feature.

Implementing Traffic Mirroring on the Cisco ASR 9000 Series Router

Traffic Mirroring Terminology

Ingress traffic—Traffic that enters the switch.

Egress traffic—Traffic that leaves the switch.

Source port—A port that is monitored with the use of traffic mirroring. It is also called a monitored port.

Destination port—A port that monitors source ports, usually where a network analyzer is connected. It is also called a monitoring port.

Monitor session—A designation for a collection of traffic mirroring configurations consisting of a single destination and, potentially, many source interfaces.

Characteristics of the Source Port

A source port, also called a monitored port, is a switched or routed port that you monitor for network traffic analysis. In a single local or remote traffic mirroring session, you can monitor source port traffic, such as received (Rx) for ingress traffic, transmitted (Tx) for egress traffic, or bidirectional (for both ingress and egress traffic). Your router supports any number of source ports (up to the maximum number of 800).

A source port has these characteristics:

It can be any port type, such as Bundle Interface, Gigabit Ethernet, 10-Gigabit Ethernet, or EFPs.

Note Bridge group virtual interfaces (BVIs) are not supported.

Each source port can be monitored in one traffic mirroring session.

It cannot be a destination port.

Each source port can be configured with a direction (ingress, egress, or both) to monitor. For bundles, the monitored direction applies to all physical ports in the group.

In Figure 19, the network analyzer is attached to a port that is configured to receive a copy of every packet that host A sends. This port is called a traffic mirroring port.

Characteristics of the Monitor Session

A monitor session is a collection of traffic mirroring configurations consisting of a single destination and, potentially, many source interfaces. For any given monitor session, the traffic from the source interfaces (called source ports ) is sent to the monitoring port (called the destination port ). Some optional operations such as VLAN tag imposition and ACL filtering can be performed on the mirrored traffic streams. If there is more than one source port in a monitoring session, the traffic from the several mirrored traffic streams is combined at the destination port. The result is that the traffic that comes out of the destination port is a combination of the traffic from one or more source ports, and the traffic from each source port may or may not have VLAN push operations or ACLs applied to it.

Monitor sessions have the following characteristics:

A single Cisco ASR 9000 Router can have a maximum of eight monitor sessions.

A single monitor session can have only one destination port.

A single destination port can belong to only one monitor session.

A single Cisco ASR 9000 Router can have a maximum of 800 source ports.

A monitor session can have a maximum of 800 source ports, as long as the maximum number of source ports from all monitoring sessions does not exceed 800.

Characteristics of the Destination Port

Each local session or remote destination session must have a destination port (also called a monitoring port) that receives a copy of the traffic from the source ports.

A destination port has these characteristics:

A destination port must reside on the same router as the source port.

A destination port can be any Ethernet physical port, EFP, pseudowire, but not a bundle interface.

A destination port can only be a Layer 2 transport interface. A Layer 3 interface as a SPAN destination is not supported on the Cisco ASR 9000 Series Router.

A destination port and can be a trunk (main) interface or a subinterface.

At any one time, a destination port can participate in only one traffic mirroring session. A destination port in one traffic mirroring session cannot be a destination port for a second traffic mirroring session. In other words, no two monitor sessions can have the same destination port.

Supported Traffic Mirroring Types

The following traffic mirroring types are supported:

Local traffic mirroring. This is the most basic form of traffic mirroring. The network analyzer or sniffer is directly attached to the destination interface. In other words, all monitored ports are all located on the same switch as the destination port.

Remote traffic mirroring (known as R-SPAN). In this case, the network analyzer is not attached directly to the destination interface, but is on a VLAN accessible to the switch. For example, the destination interface is a sub-interface with a VLAN encapsulation.

A restricted form of remote traffic mirroring can be implemented by sending traffic to a single destination port that pushes a VLAN tag, instead of switching via a bridge domain.

– Allows decoupling the network analyzer and destination, but there is no on-the-box redundancy.

– Allows multiple remote network analyzers as long as they can attach to the traffic mirroring VLAN.

This is supported on Cisco IOS XR software, because the destination port is an EFP that can push a VLAN tag.

Pseudowire traffic mirroring (known as PW-SPAN in Cisco IOS Software). Instead of using a standard destination interface, traffic is mirrored to a remote site via an MPLS pseudowire.

ACL-based traffic mirroring. Traffic is mirrored based on the configuration of the global interface ACL.

Partial Packet Mirroring. The first 64 to 256 bytes of the packet can be mirrored.

Layer 2 or Layer 3 traffic mirroring is supported. Both Layer 2 and Layer 3 source ports can be mirrored.

Pseudowire Traffic Mirroring

The traffic mirroring destination port can be configured to be a pseudowire rather than a physical port. In this case, the designated traffic on the source port is mirrored over the pseudowire to a central location. This allows the centralization of expensive network traffic analysis tools.

Because the pseudowire is carrying only the mirrored traffic, this traffic is generally unidirectional. There should not be any traffic coming from the remote provider edge.

To protect the pseudowire traffic mirroring path against network failures, it is possible to configure a traffic engineering tunnel as the preferred path and enable fast reroute protection for the pseudowire.

Figure 21 Pseudowire Traffic Mirroring

ACL-Based Traffic Mirroring

You can mirror traffic based on the definition of a global interface access list (ACL). If you are mirroring Layer 2 traffic, the ACL is configured using the ethernet-services access-list command with the capture keyword. If you are mirroring Layer 3 traffic, the ACL is configured using the ipv4 access-list or ipv6 access-list command with the capture keyword. The permit and deny commands determine the behavior of regular traffic. The capture keyword designates that the packet is to be mirrored to the destination port.

Enters interface configuration mode for the specified interface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

Enters interface configuration mode for the specified sub-interface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

The l2transport keyword is used to enable Layer 2 transport mode on the destination subinterface.

Enters interface configuration mode for the specified subinterface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

To configure a Layer 2 subinterface to be the source interface, use the l2transport keyword to enable Layer 2 transport mode on the subinterface.

Step 9

monitor-session session-name [ direction { rx-only | tx-only ]

RP/0/RSP0/CPU0:router(config-if-l2)# monitor-session mon1

Specifies the monitor session to be used on this interface. Use the direction keyword to specify that only ingress or egress traffic is mirrored.

Step 10

end

or

commit

RP/0/RSP0/CPU0:router(config-if)# end

or

RP/0/RSP0/CPU0:router(config-if)# commit

Saves configuration changes.

When you issue the end command, the system prompts you to commit changes:

Enters interface configuration mode for the specified interface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

Enters interface configuration mode for the specified interface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

Enters interface configuration mode for the specified interface. The interface number is entered in rack / slot / module / port notation. For more information about the syntax for the router, use the question mark (?) online help function.

Step 6

monitor-session session-name [ direction { rx-only | tx-only ]

RP/0/RSP0/CPU0:router(config-if-l2)# monitor-session mon1

Specifies the monitor session to be used on this interface. Use the direction keyword to specify that only ingress or egress traffic is mirrored.

Step 7

mirror first bytes

RP/0/RSP0/CPU0:router(config-if-mon)# mirror first bytes

Specifies the number of bytes of the packet to mirror. Values can range from 64 to 256 bytes.

Step 8

end

or

commit

RP/0/RSP0/CPU0:router(config-if)# end

or

RP/0/RSP0/CPU0:router(config-if)# commit

Saves configuration changes.

When you issue the end command, the system prompts you to commit changes:

Traffic Mirroring with Physical Interfaces (Local): Example

The following example shows a basic configuration for traffic mirroring with physical interfaces. When traffic flows over the point to point cross connect between gig0/2/0/19 and gig0/2/0/11, packets received and transmitted on gig0/2/0/19 are also mirrored to gig0/2/0/15.

RP/0/RSP0/CPU0:router# configure

RP/0/RSP0/CPU0:router(config)# monitor-session ms1

RP/0/RSP0/CPU0:router(config-mon)# destination interface gig0/2/0/15

RP/0/RSP0/CPU0:router(config-mon)# commit

RP/0/RSP0/CPU0:router# configure

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/11

RP/0/RSP0/CPU0:router(config-subif)# l2transport

RP/0/RSP0/CPU0:router(config-if-l2)# commit

RP/0/RSP0/CPU0:router# configure

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/15

RP/0/RSP0/CPU0:router(config-subif)# l2transport

RP/0/RSP0/CPU0:router(config-if-l2)# commit

RP/0/RSP0/CPU0:router# configure

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/19

RP/0/RSP0/CPU0:router(config-subif)# l2transport

RP/0/RSP0/CPU0:router(config-subif-l2)# monitor-session ms1

RP/0/RSP0/CPU0:router(config-if-l2)# commit

RP/0/RSP0/CPU0:router# configure

RP/0/RSP0/CPU0:router(config)# l2vpn

RP/0/RSP0/CPU0:router(config-l2vpn)# xconnect group xg1

RP/0/RSP0/CPU0:router(config-l2vpn-xc)# p2p xg1_p1

RP/0/RSP0/CPU0:router(config-l2vpn-xc-p2p)# interface gig0/2/0/11

RP/0/RSP0/CPU0:router(config-l2vpn-xc-p2p)# interface gig0/2/0/19

RP/0/RSP0/CPU0:router(config-if-l2)# commit

Traffic Mirroring with EFPs (Remote): Example

The following example shows a basic configuration for remote traffic mirroring with EFP interfaces. When traffic flows over the point-to-point cross connect between gig0/2/0/19.10 and gig0/2/0/11.10, packets received and transmitted on gig0/2/0/19.10 are also mirrored to gig0/2/0/10.1.

RP/0/RSP0/CPU0:router#monitor-session ms1

RP/0/RSP0/CPU0:router(config)# destination interface gig0/2/0/10.1

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/10.1 l2transport

RP/0/RSP0/CPU0:router(config-if-l2)# encapsulation dot1q 1

RP/0/RSP0/CPU0:router(config-if-l2)# rewrite ingress tag pop 1

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/11.10 l2transport

RP/0/RSP0/CPU0:router(config-if-l2)# encapsulation dot1q 10

RP/0/RSP0/CPU0:router(config)# interface gig0/2/0/19.10 l2transport

RP/0/RSP0/CPU0:router(config-if-l2)# encapsulation dot1q 10

RP/0/RSP0/CPU0:router(config-if-l2)# monitor-session ms1

RP/0/RSP0/CPU0:router(config)# l2vpn

RP/0/RSP0/CPU0:router(config-l2vpn)# xconnect group xg1

RP/0/RSP0/CPU0:router(config-l2vpn-xc)# p2p xg1_p1

RP/0/RSP0/CPU0:router(config-l2vpn-xc-p2p)# interface gig0/2/0/11.10

RP/0/RSP0/CPU0:router(config-l2vpn-xc-p2p)# interface gig0/2/0/19.10

Viewing Monitor Session Status: Example

The following examples show sample output of the show monitor-session command with the status keyword:

Monitor Session Statistics: Example

Use the show monitor-session command with the counters keyword to show the statistics/counters (received/transmitted/dropped) of different source ports. For each monitor session, this command displays a list of all source interfaces and the replicated packet statistics for that interface.

The full set of statistics displayed for each interface is:

RX replicated packets and octets

TX replicated packets and octets

Non-replicated packet and octets

RP/0/RSP0/CPU0:router# show monitor-session counters

Monitor-session ms1

GigabitEthernet0/2/0/19.10

Rx replicated: 1000 packets, 68000 octets

Tx replicated: 1000 packets, 68000 octets

Non-replicated: 0 packets, 0 octets

Use the clear monitor-session counters command to clear any collected statistics. By default this command clears all stored statistics; however, an optional interface filter can be supplied.

RP/0/RSP0/CPU0:router# clear monitor-session counters

Traffic Mirroring over Pseudowire: Example

The following example shows how to configure traffic mirroring over a pseudowire:

Partial Packet Mirroring: Example

The following example shows how to configure mirroring of the first 100 bytes of the packet:

RP/0/RP0/CPU0:router(config)# interface gigabitethernet0/0/0/11

RP/0/RP0/CPU0:router(config-if-l2)# monitor-session mon1

RP/0/RSP0/CPU0:router(config-if-mon)# mirror first 100

Troubleshooting Traffic Mirroring

When you have issues with your traffic mirroring, begin your troubleshooting by checking the output of the show monitor-session status command. This command displays the recorded state of all sessions and source interfaces:

In the preceding example, the line marked as <Session status> can indicate one of the following configuration errors:

Session Status

Explanation

Session is not configured globally

The session does not exist in global configuration. Check show run command output to ensure that a session with the right name has been configured.

Destination interface <intf> is not configured

The interface that has been configured as the destination does not exist. For example, the destination interface may be configured to be a VLAN subinterface, but the VLAN subinterface may not have been created yet.

Destination interface <intf> (<down-state>)

The destination interface is not in Up state in the Interface Manager. You can verify the state using the show interfaces command. Check the configuration to see what might be keeping the interface from coming up (for example, a sub-interface needs to have an appropriate encapsulation configured).

Destination pseudowire is not configured

The L2VPN configuration that is to set up the pseudowire is missing. Configure the traffic mirroring session name as one segment of the xconnect p2p.

Destination pseudowire <name> (down)

The pseudowire is configured, but is down. Check the L2VPN configuration to identify why the pseudowire is not coming up.

The <Source interface status> can report the following messages:

Source Interface Status

Explanation

Operational

Everything appears to be working correctly in traffic mirroring PI. Please follow up with the platform teams in the first instance, if mirroring is not operating as expected.

Not operational (Session is not configured globally)

The session does not exist in global configuration. Check the show run command output to ensure that a session with the right name has been configured.

Not operational (destination interface not known)

The session exists, but it either does not have a destination interface specified, or the destination interface named for the session does not exist (for example, if the destination is a sub-interface that has not been created).

Not operational (source same as destination)

The session exists, but the destination and source are the same interface, so traffic mirroring does not work.

Not operational (destination not active)

The destination interface or pseudowire is not in the Up state. See the corresponding Session status error messages for suggested resolution.

Not operational (source state <down-state>)

The source interface is not in the Up state. You can verify the state using the show interfaces command. Check the configuration to see what might be keeping the interface from coming up (for example, a sub-interface needs to have an appropriate encapsulation configured).

Error: see detailed output for explanation

Traffic mirroring has encountered an error. Run the show monitor-session status detail command to display more information.

The show monitor-session status detail command displays full details of the configuration parameters, and of any errors encountered. For example:

Standards

MIBs

To locate and download MIBs for selected platforms using Cisco IOS XR Software, use the Cisco MIB Locator found at the following URL:

http://cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml

RFCs

RFCs

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

—

Technical Assistance

Description

Link

The Cisco Technical Support website contains thousands of pages of searchable technical content, including links to products, technologies, solutions, technical tips, and tools. Registered Cisco.com users can log in from this page to access even more content.