Flexible NetFlow - Layer 2 Fields

The Flexible NetFlow - Layer 2 Fields feature enables collecting statistics for Layer 2 fields such as MAC addresses and virtual LAN (VLAN) IDs from traffic.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Restrictions for Flexible Netflow - Layer 2

  • Flexible NetFlow is not supported on L2 interface.

Information About Flexible NetFlow Layer 2 Fields

Flexible NetFlow - Layer 2 Fields Overview

The Flexible NetFlow - Layer 2 Fields feature enables collecting statistics for Layer 2 fields such as MAC addresses and virtual LAN (VLAN) IDs from traffic.

How to Configure Flexible NetFlow Layer 2 Fields

Creating a Flow Record

Perform this task to configure a customized flow record.

Customized flow records are used to analyze traffic data for a specific purpose. A customized flow record must have at least one match criterion for use as the key field and typically has at least one collect criterion for use as a nonkey field.

There are hundreds of possible permutations of customized flow records. This task shows the steps that are used to create one of the possible permutations. Modify the steps in this task as appropriate to create a customized flow record for your requirements.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. flow record record-name
  4. description description
  5. match {ip | ipv6 } {destination | source } address
  6. Repeat Step 5 as required to configure additional key fields for the record.
  7. match flow cts {source | destination } group-tag
  8. Repeat the above step as required to configure additional nonkey fields for the record.
  9. end
  10. show flow record record-name
  11. show running-config flow record record-name

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

flow record record-name

Example:


Device(config)# flow record FLOW-RECORD-1

Creates a flow record and enters Flexible NetFlow flow record configuration mode.

  • This command also allows you to modify an existing flow record.

Step 4

description description

Example:


Device(config-flow-record)# description Used for basic traffic analysis

(Optional) Creates a description for the flow record.

Step 5

match {ip | ipv6 } {destination | source } address

Example:


Device(config-flow-record)# match ipv4 destination address
Note 

This example configures the IPv4 destination address as a key field for the record. For information about the other key fields available for the match ipv4 command, and the other match commands that are available to configure key fields.

Step 6

Repeat Step 5 as required to configure additional key fields for the record.

Step 7

match flow cts {source | destination } group-tag

Example:


Device(config-flow-record)# match flow cts source group-tag

Device(config-flow-record)# match flow cts destination group-tag
Note 

This example configures the CTS source group tag and destination group tag as a key field for the record. For information about the other key fields available for the match ipv4/ ipv6 command, and the other match commands that are available to configure key fields.

Note 
  • Ingress:
    • In an incoming packet, if a header is present, SGT will reflect the same value as the header. If no value is present, it will show zero.

    • The DGT value will not depend on the ingress port SGACL configuration.

  • Egress:
    • If either propagate SGT or CTS is disabled on the egress interface, then SGT will be zero.

    • In an outgoing packet, if SGACL configuration that corresponds to the (SGT, DGT) exists, DGT will be non-zero.

    • If SGACL is disabled on the egress port/VLAN or if global SGACL enforcement is disabled, then DGT will be zero

Step 8

Example:



Configures the input interface as a nonkey field for the record.

Note 

This example configures the input interface as a nonkey field for the record.

Step 9

Repeat the above step as required to configure additional nonkey fields for the record.

Step 10

end

Example:


Device(config-flow-record)# end

Exits Flexible NetFlow flow record configuration mode and returns to privileged EXEC mode.

Step 11

show flow record record-name

Example:


Device# show flow record FLOW_RECORD-1

(Optional) Displays the current status of the specified flow record.

Step 12

show running-config flow record record-name

Example:


Device# show running-config flow record FLOW_RECORD-1 

(Optional) Displays the configuration of the specified flow record.

Creating a Customized Flow Monitor

Perform this required task to create a customized flow monitor.

Each flow monitor has a separate cache assigned to it. Each flow monitor requires a record to define the contents and layout of its cache entries. These record formats can be one of the predefined formats or a user-defined format. An advanced user can create a customized format using the flow record command.

Before you begin

If you want to use a customized record instead of using one of the Flexible NetFlow predefined records, you must create the customized record before you can perform this task. If you want to add a flow exporter to the flow monitor for data export, you must create the exporter before you can complete this task.


Note

You must use the no ip flow monitor command to remove a flow monitor from all of the interfaces to which you have applied it before you can modify the parameters for the record command on the flow monitor.


SUMMARY STEPS

  1. enable
  2. configure terminal
  3. flow monitor monitor-name
  4. description description
  5. record {record-name }
  6. cache {timeout {active } seconds | { normal }
  7. Repeat Step 6 as required to finish modifying the cache parameters for this flow monitor.
  8. exporter exporter-name
  9. end
  10. show flow monitor [[name ] monitor-name [cache [format {csv | record | table } ]] ]
  11. show running-config flow monitor monitor-name

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Device> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Device# configure terminal

Enters global configuration mode.

Step 3

flow monitor monitor-name

Example:



Device(config)# flow monitor FLOW-MONITOR-1

Creates a flow monitor and enters Flexible NetFlow flow monitor configuration mode.

  • This command also allows you to modify an existing flow monitor.

Step 4

description description

Example:



Device(config-flow-monitor)# description Used for basic ipv4 traffic analysis

(Optional) Creates a description for the flow monitor.

Step 5

record {record-name }

Example:



Device(config-flow-monitor)# record FLOW-RECORD-1

Specifies the record for the flow monitor.

Step 6

cache {timeout {active } seconds | { normal }

Example:

    Step 7

    Repeat Step 6 as required to finish modifying the cache parameters for this flow monitor.

    Step 8

    exporter exporter-name

    Example:

    
    
    Device(config-flow-monitor)# exporter EXPORTER-1 

    (Optional) Specifies the name of an exporter that was created previously.

    Step 9

    end

    Example:

    
    
    Device(config-flow-monitor)# end

    Exits Flexible NetFlow flow monitor configuration mode and returns to privileged EXEC mode.

    Step 10

    show flow monitor [[name ] monitor-name [cache [format {csv | record | table } ]] ]

    Example:

    
    
    Device# show flow monitor FLOW-MONITOR-2 cache

    (Optional) Displays the status for a Flexible NetFlow flow monitor.

    Step 11

    show running-config flow monitor monitor-name

    Example:

    
    
    Device# show running-config flow monitor FLOW_MONITOR-1

    (Optional) Displays the configuration of the specified flow monitor.

    Applying a Flow Monitor to an Interface

    Before it can be activated, a flow monitor must be applied to at least one interface. Perform this required task to activate a flow monitor.

    While running the ip flow monitor command for the first interface to enable FNF monitor, you may see the following warning message displaying a GLOBAL memory allocation failure. This log is triggered by enabling FNF monitoring with a large cache size.

    Jul  4 01:45:00.255: %CPPEXMEM-3-NOMEM: F0/0: cpp_cp_svr: QFP: 0, GLOBAL memory allocation of 90120448 bytes by FNF failed
    Jul  4 01:45:00.258: %CPPEXMEM-3-TOPUSER: F0/0: cpp_cp_svr: QFP: 0, Top User: CPR STILE EXMEM GRAPH, Allocations: 877, Type: GLOBAL
    Jul  4 01:45:00.258: %CPPEXMEM-3-TOPUSER: F0/0: cpp_cp_svr: QFP: 0, Top User: SBC, Bytes Allocated: 53850112, Type: GLOBAL
    

    The warning message does not necessarily indicate a flow monitor application failure. The warning message can indicate internal steps that FNF uses for applying memory from the EXMEM infrastructure.

    To ensure that the FNF monitor is enabled successfully, use the show flow monitor monitor-name command to check Status (allocated or not allocated) of a flow monitor. For more information, see Displaying the Current Status of a Flow Monitor.

    SUMMARY STEPS

    1. enable
    2. configure terminal
    3. interface type number
    4. {ip | ipv6 } flow monitor monitor-name {input | output }
    5. Repeat Steps 3 and 4 to activate a flow monitor on any other interfaces in the device over which you want to monitor traffic.
    6. end
    7. show flow interface type number
    8. show flow monitor name monitor-name cache format record

    DETAILED STEPS

      Command or Action Purpose
    Step 1

    enable

    Example:

    
    Device> enable

    Enables privileged EXEC mode.

    • Enter your password if prompted.

    Step 2

    configure terminal

    Example:

    
    Device# configure terminal

    Enters global configuration mode.

    Step 3

    interface type number

    Example:

    
    Device(config)# interface GigabitEthernet 0/0/0
    

    Specifies an interface and enters interface configuration mode.

    Step 4

    {ip | ipv6 } flow monitor monitor-name {input | output }

    Example:

    
    Device(config-if)# ip flow monitor FLOW-MONITOR-1 input

    Activates a flow monitor that was created previously by assigning it to the interface to analyze traffic.

    Step 5

    Repeat Steps 3 and 4 to activate a flow monitor on any other interfaces in the device over which you want to monitor traffic.

    Step 6

    end

    Example:

    
    Device(config-if)# end

    Exits interface configuration mode and returns to privileged EXEC mode.

    Step 7

    show flow interface type number

    Example:

    
    Device# show flow interface GigabitEthernet 0/0/0
    

    Displays the status of Flexible NetFlow (enabled or disabled) on the specified interface.

    Step 8

    show flow monitor name monitor-name cache format record

    Example:

    
    Device# show flow monitor name FLOW_MONITOR-1 cache format record

    Displays the status, statistics, and flow data in the cache for the specified flow monitor.

    Configuration Examples for Flexible NetFlow Layer 2 Fields

    Example: Configuring Flexible NetFlow for Monitoring MAC and VLAN Statistics

    The following example shows how to configure Flexible NetFlow for monitoring MAC and VLAN statistics.

    This example starts in global configuration mode.

    
    !
     flow record LAYER-2-FIELDS-1
     match ipv4 source address
     match ipv4 destination address
     match datalink dot1q vlan output
     match datalink mac source address input
     match datalink mac source address output
     match datalink mac destination address input
     match flow direction
    !
     exit
    !
    !
    flow monitor FLOW-MONITOR-4
     record LAYER-2-FIELDS-1
     exit
    !
    ip cef
    !
    interface GigabitEthernet0/0/1
     ip address 172.16.6.2 255.255.255.0
     ip flow monitor FLOW-MONITOR-1 input
    !

    Additional References

    Related Documents

    Related Topic

    Document Title

    Cisco IOS commands

    Cisco IOS Master Command List, All Releases

    Flexible NetFlow conceptual information and configuration tasks

    Flexible NetFlow Configuration Guide

    Flexible NetFlow commands

    Cisco IOS Flexible NetFlow Command Reference

    Standards/RFCs

    Standard

    Title

    No new or modified standards/RFCs are supported by this feature.

    MIBs

    MIB

    MIBs Link

    None

    To locate and download MIBs for selected platforms, Cisco software releases, and feature sets, use Cisco MIB Locator found at the following URL:

    http://www.cisco.com/go/mibs

    Technical Assistance

    Description

    Link

    The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and 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.

    http://www.cisco.com/cisco/web/support/index.html

    Feature Information for Flexible NetFlow - Layer 2 Fields

    The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

    Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
    Table 1. Feature Information for Flexible NetFlow - Layer 2 Fields

    Feature Name

    Releases

    Feature Information

    Flexible NetFlow - Layer 2 Fields

    12.2(33)SRE

    12.4(22)T

    Cisco IOS XE Release 3.2SE

    Enables collecting statistics for Layer 2 fields such as MAC addresses and virtual LAN (VLAN) IDs from traffic.

    Support for this feature was added for Cisco 7200 and 7300 Network Processing Engine (NPE) series routers in Cisco IOS Release 12.2(33)SRE.

    The following commands were introduced or modified:

    collect datalink dot1q vlan , collect datalink mac , match datalink dot1q vlan , match datalink mac .