Cisco ASR 9000 Series Aggregation Services Router Netflow Configuration Guide, Release 5.1.x
Configuring NetFlow
Downloads: This chapterpdf (PDF - 1.52 MB) The complete bookPDF (PDF - 2.28 MB) | Feedback

Configuring NetFlow

Contents

Configuring NetFlow

A NetFlow flow is a unidirectional sequence of packets that arrive on a single interface (or subinterface), and have the same values for key fields.

NetFlow is useful for the following:

  • Accounting/Billing—NetFlow data provides fine grained metering for highly flexible and detailed resource utilization accounting.

  • Network Planning and Analysis—NetFlow data provides key information for strategic network planning.

  • Network Monitoring—NetFlow data enables near real-time network monitoring capabilities.

Feature History for Configuring NetFlow

Release

Modification

Release 3.9.1

This feature was introduced.

Release 4.0.0

IPv6 Sampled NetFlow feature was introduced.

Release 4.2.0

Destination-based Netflow Accounting feature was introduced.

Release 5.2.0

The VRF table was added:

Options Template Overview

This module includes these sections:

Prerequisites for Configuring NetFlow

To perform these configuration tasks, your Cisco IOS XR software system administrator must assign you to a user group associated with a task group that includes the corresponding command task IDs. If you need assistance with your task group assignment, contact your system administrator.

Restrictions for Configuring NetFlow

Consider these restrictions when configuring NetFlow in Cisco IOS XR software:

  • A source interface must always be configured. If you do not configure a source interface, the exporter will remain in a disabled state.

  • Only export format Version 9 is supported.

  • A valid record map name must always be configured for every flow monitor map.


Tip


Do not use the management interface to export the NetFlow packets.


Information About Configuring NetFlow

NetFlow Overview

A flow is exported as part of a NetFlow export User Datagram Protocol (UDP) datagram under these circumstances:

  • The flow has been inactive or active for too long.

  • The flow cache is getting full.

  • One of the counters (packets and or bytes) has wrapped.

  • The user forces the flow to export.

NetFlow export UDP datagrams are sent to an external flow collector device that provides NetFlow export data filtering and aggregation. The export of data consists of expired flows and control information.

The NetFlow infrastructure is based on the configuration and use of these maps:

  • Exporter map

  • Monitor map

  • Sampler map

These maps are described in the sections that follow.

Exporter Map Overview

An exporter map contains user network specification and transport layer details for the NetFlow export packet. The flow exporter-map command allows you to configure collector and version attributes. You can configure these collector information:

  • Export destination IP address

  • DSCP value for export packet

  • Source interface

  • UDP port number (This is where the collector is listening for NetFlow packets.)

  • Transport protocol for export packets


Note


In Cisco IOS XR Software, UDP is the only supported transport protocol for export packets.



Note


NetFlow export packets use the IP address that is assigned to the source interface. If the source interface does not have an IP address assigned to it, the exporter will be inactive.


You can also configure these export version attributes:

  • Template timeout

  • Template data timeout

  • Template options timeout

  • Interface table timeout

  • Sampler table timeout


Note


A single flow monitor map can support up to eight exporters.


Monitor Map Overview

A monitor map contains name references to the flow record map and flow exporter map. Monitor maps are applied to an interface. You can configure these monitor map attributes:

  • Number of entries in the flow cache

  • Type of cache (permanent or normal). Permanent caches do not have their entries removed from the cache unless they are explicitly cleared by the user

  • Active flow timeout

  • Inactive flow timeout

  • Update timeout

  • Default timeouts

  • Record type of packets sampled and collected


    Note


    The record name specifies the type of packets that NetFlow samples as they pass through the router. Currently, MPLS, IPv4, and IPv6 packet sampling is supported.



Note


The active flow and inactive flow timeouts are associated with a normal cache type. The update timeout is associated with the permanent cache type.


Sampler Map Overview

The sampler map specifies the rate at which packets (one out of n packets) are sampled. On high bandwidth interfaces, applying NetFlow processing to every single packet can result in significant CPU utilization. Sampler map configuration is typically geared towards such high speed interfaces.

The Policer rate is based on the network processor (NP). If netflow is applied on 1 NP, the aggregated maximum flow packet processing rate per line card (LC) is 100k flow packets per second for the ASR 9000 Ethernet LC and 200k flow packets per second for the ASR 9000 Enhanced Ethernet LC (irrespective of the direction and the number of interface netflow that is applied in that NP). However, depending on the Netflow monitor configuration distribution among NPs in an LC, policing of flow packet can take effect with an aggregated rate that is less than the aggregated maximum flow packet processing rate. For example for the ASR 9000 Ethernet LC, if Netflow is applied to 1 interface per NP in a 4 NP LC, then the Policer rate per NP is 25K packets per second.

Options Template Overview

NetFlow version 9 is a template-based version. The templates provide an extensible design to the record format. This feature allows enhancements to NetFlow services without requiring concurrent changes to the basic flow-record format. An options template is a special type of template record that is used to communicate the format of data related to the NetFlow process. Rather than supplying information about IP flows, the options are used to supply metadata about the NetFlow process itself. The sampler options template and the interface options template are different forms of options templates. These two tables are exported by the NetFlow process. From release 5.2.0, the NetFlow process will also export the VRF table.

Sampler Table

The sampler options template consists of sampler tables. Similarly, the interface option templates consist of interface tables. By enabling the options for sampler table and interface table, it becomes easier for the collector to determine the information on data flow.

The sampler table consists of information on the active samplers. It is used by the collector to estimate the sampling rate for each data flow. The sampler table consists of the following information for each sampler:
Field Name Value

FlowSamplerID

This ID is assigned to the sampler. It is used by the collector to retrieve information about the sampler for a data flow record.

FlowSamplerMode

This field indicates the mode in which the sampling has been performed. The default value for this field is 1 for deterministic sampling and 2 for random sampling.

FlowSamplerRandomInterval

This field indicates the rate at which the sampling is performed.

SamplerName

This field indicates the name of the sampler.

Interface Table

The interface table consists of information on interfaces that are being monitored for data flow. By using this information, the collector determines the names of interfaces associated with the data flow. The interface table consists of the following information:

Field Name Value

ingressInterface

This field indicates the SNMP index assigned to the interface. By matching this value to the Ingress interface and the Egress Interface in the data flow record, the collector is able to retrieve the name of the interface.

interfaceDescription

This field indicates the name of the interface.

VRF Table

The VRF table consists of mapping of VRF IDs to the VRF names. By using this information, the collector determines the name of the required VRF. The VRF table consists of the following information:

Field Name Value

ingressVRFID

The identifier of the VRF with the name in the VRF-Name field.

VRF-Name

The VRF name which has the VRFID value ingressVRFID. The value "default" indicates that the interface is not assigned explicitly to a VRF.

The data records contain ingressVRFID and egressVRFID fields as extra fields in each record. The values of these fields are used to lookup the VRF Table to find the VRF names. A value 0 in these fields indicates that the VRF is unknown.

The VRF table is exported at intervals specified by the optional timeout keyword that can be configured manually. The default value is 1800 seconds.

NetFlow Configuration Submodes

In Cisco IOS XR Software, NetFlow map configuration takes place in map-specific submodes. Cisco IOS XR Software supports these NetFlow map configuration submodes:


Note


The Cisco IOS XR Software allows you to issue most commands available under submodes as one single command string from global configuration mode. For example, you can issue the record ipv4 command from the flow monitor map configuration submode as follows:


RP/0/RSP0/CPU0:router(config)# flow monitor-map fmm
RP/0/RSP0/CPU0:router(config-fmm)# record ipv4

Alternatively, you can issue the same command from global configuration mode, as shown in the following example:

RP/0/RSP0/CPU0:router(config)# flow monitor-map fmm record ipv4

Flow Exporter Map Configuration Submode

When you issue the flow exporter-map fem-name command in global configuration mode, the command-line interface (CLI) prompt changes to “config-fem,” indicating that you have entered the flow exporter map configuration submode.

In this sample output, the question mark (?) online help function displays all the commands available under the flow exporter map configuration submode:

RP/0/RSP0/CPU0:router(config)# flow exporter-map fem

RP/0/RSP0/CPU0:router(config-fem)# ?

clear        Clear the uncommitted configuration
clear        Clear the configuration
commit       Commit the configuration changes to running
describe     Describe a command without taking real actions
destination  Export destination configuration
do           Run an exec command
dscp         Specify DSCP value for export packets
exit         Exit from this submode
no           Negate a command or set its defaults
pwd          Commands used to reach current submode
root         Exit to the global configuration mode
show         Show contents of configuration
source       Source interface
transport    Specify the transport protocol for export packets
version      Specify export version parameters

Note


If you enter the version command, you enter the flow exporter map version configuration submode.



Note


A single flow monitor map can support up to eight exporters.


Flow Exporter Map Version Configuration Submode

When you issue the version v9 command in the flow exporter map configuration submode, the CLI prompt changes to “config-fem-ver,” indicating that you have entered the flow exporter map version configuration submode.

In this sample output, the question mark (?) online help function displays all the commands available under the flow exporter map version configuration submode:

RP/0/RSP0/CPU0:router(config-fem)# version v9

RP/0/RSP0/CPU0:router(config-fem-ver)# ?

commit    Commit the configuration changes to running
describe  Describe a command without taking real actions
do        Run an exec command
exit      Exit from this submode
no        Negate a command or set its defaults
options   Specify export of options template
show      Show contents of configuration
template  Specify template export parameters

Flow Monitor Map Configuration Submode

When you issue the flow monitor-map map_name command in global configuration mode, the CLI prompt changes to “config-fmm,” indicating that you have entered the flow monitor map configuration submode.

In this sample output, the question mark (?) online help function displays all the commands available under the flow monitor map configuration submode:

RP/0/RSP0/CPU0:router(config)# flow monitor-map fmm

RP/0/RSP0/CPU0:router(config-fmm)# ?

cache     Specify flow cache attributes
commit    Commit the configuration changes to running
describe  Describe a command without taking real actions
do        Run an exec command
exit      Exit from this submode
exporter  Specify flow exporter map name
no        Negate a command or set its defaults
record    Specify a flow record map name
show      Show contents of configuration

Sampler Map Configuration Submode

When you issue the sampler-map map_name command in global configuration mode, the CLI prompt changes to “config-sm,” indicating that you have entered the sampler map configuration submode.

In this sample output, the question mark (?) online help function displays all the commands available under the sampler map configuration submode:

RP/0/RSP0/CPU0:router(config)# sampler-map fmm

RP/0/RSP0/CPU0:router(config-sm)# ?
clear     Clear the uncommitted configuration
clear     Clear the configuration
commit    Commit the configuration changes to running
describe  Describe a command without taking real actions
do        Run an exec command
exit      Exit from this submode
no        Negate a command or set its defaults
pwd       Commands used to reach current submode
random    Use random mode for sampling packets
root      Exit to the global configuration mode
show      Show contents of configuration

Enabling the NetFlow BGP Data Export Function

Use the bgp attribute-download command to enable NetFlow BGP routing attribute collection. The routing attributes are then exported. When no routing attributes are collected, zeroes (0) are exported.

When BGP attribute download is enabled, BGP downloads the attribute information for prefixes (community, extended community, and as-path) to the Routing Information Base (RIB) and Forwarding Information Base (FIB). This enables FIB to associate the prefixes with attributes and send the NetFlow statistics along with the associated attributes.

MPLS Flow Monitor with IPv4 and IPv6 Support

Cisco IOS XR Software supports the NetFlow collection of MPLS packets. It also supports the NetFlow collection of MPLS packets carrying IPv4, IPv6, or both IPv4 and IPv6 payloads.

MPLS Cache Reorganization to Support Both IPv4 and IPv6

In Cisco IOS XR Software, at a time, you can have only one MPLS flow monitor running on an interface. If you apply an additional MPLS flow monitor to the interface, the new flow monitor overwrites the existing one.

At a time, you can apply only one flow monitor on an interface per direction. You can apply either the same flow monitor to an interface in both directions, or each direction can have its own flow monitor.

You can configure the MPLS flow monitor to collect IPv4 fields, IPv6 fields, or IPv4-IPv6 fields. IPv4-IPv6 configuration collects both IPv4 and IPv6 addresses using one MPLS flow monitor. IPv4 configuration collects only IPv4 addresses. IPv6 configuration collects only IPv6 addresses.

The MPLS flow monitor supports up to 1,000,000 cache entries. NetFlow entries include these types of fields:

  • IPv4 fields

  • IPv6 fields

  • MPLS with IPv4 fields

  • MPLS with IPv6 fields

The maximum number of bytes per NetFlow cache entry is as follows:

  • IPv4–88 bytes per entry

  • MPLS–88 bytes per entry

  • IPv6–108 bytes per entry

  • MPLS with IPv4 fields–108 bytes per entry

  • MPLS with IPv6 fields–128 bytes per entry


Note


The different types of NetFlow entries are stored in separate caches. Consequently, the number of NetFlow entries on a line card can significantly impact the amount of available memory on the line card. Also, even though the sampling rate for IPv6 is the same as the sampling rate for IPv4, the CPU utilization for IPv6 is higher due to the longer keys used by the IPv6 fields.


MPLS Packets with IPv6 Flows

The collection of IPv6 flows in MPLS packets is an option. The CPU uses 128 bytes for each IPv6 field. IPv6 flows may contain these types of information:

  • Source IP address

  • Destination IP address

  • Traffic class value

  • Layer 4 protocol number

  • Layer 4 source port number

  • Layer 4 destination port number

  • Flow ID

  • Header option mask

To collect the IPv6 fields in MPLS packets, you must activate the MPLS record type, ipv6-fields by running the record mpls ipv6-fields command. You can also specify the number of labels to be used for aggregation with this command.

Destination-based NetFlow Accounting

Destination-based NetFlow accounting (DBA) is a usage-based billing application that tracks and records traffic according to its destination and enables service providers to do destination-specific accounting and billing. The destination-based NetFlow accounting record includes the destination peer autonomous system (AS) number and the BGP next-hop IP address.

IPv4 DBA is already supported in CRS. In Release 4.3.1, the support for IPv6 DBA support is added.

For more information about the IPv6 Destination-based NetFlow Accounting feature, see the Configuring NetFlow module in the Cisco ASR 9000 Series Aggregation Services Router Netflow Configuration Guide.For complete command reference of IPv6 Destination-based NetFlow Accounting commands, see the NetFlow Commandschapter in the Cisco ASR 9000 Series Aggregation Services Router Netflow Command Reference.

Netflow over BVI

NetFlow monitoring on Bridge-Group Virtual Interface (BVI) enables traffic monitoring, capacity planning, accounting, security threat detection and billing.

For more information about the NetFlow over BVI feature, see the Configuring NetFlow module in the Cisco ASR 9000 Series Aggregation Services Router Netflow Configuration Guide.For complete command reference of NetFlow, see the NetFlow Commands chapter in the Cisco ASR 9000 Series Aggregation Services Router Netflow Command Reference.

How to Configure NetFlow on Cisco IOS XR Software

The steps that follow provide a general overview of NetFlow configuration:

SUMMARY STEPS

    1.    Create and configure an exporter map.

    2.    Create and configure a monitor map and a sampler map.

    3.    Apply the monitor map and sampler map to an interface.


DETAILED STEPS
    Step 1   Create and configure an exporter map.
    Step 2   Create and configure a monitor map and a sampler map.
    Note   

    The monitor map must reference the exporter map you created in Step 1. If you do not apply an exporter-map to the monitor-map, the flow records are not exported, and aging is done according to the cache parameters specified in the monitor-map.

    Step 3   Apply the monitor map and sampler map to an interface.

    These steps are described in detail in these sections:


    Configuring an Exporter Map

    Configure an exporter map and apply it to the monitor map with the flow monitor-map map_name exporter map_name command. You can configure the exporter map prior to configuring the monitor map, or you can configure the monitor map first and then configure and apply an exporter map later on.


    Note


    Cisco IOS XR Software supports the configuration of a single collector only in the exporter map.


    The steps that follow describe how to create and configure an exporter map and enable exporting of the sampler table or the interface table.

    SUMMARY STEPS

      1.    configure

      2.    flow exporter-map map_name

      3.    destination hostname_or_IP_address

      4.    dscp dscp_value

      5.    source type interface-path-id

      6.    transport udp port

      7.    version v9

      8.    options {interface-table | sampler-table | vrf-table} [timeout seconds]

      9.    template [data | options] timeout seconds

      10.    Use the commit or end command.

      11.    exit

      12.    exit

      13.    show flow exporter-map map_name


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 configure


      Example:
      RP/0/RSP0/CPU0:router# configure
       

      Enters global configuration mode.

       
      Step 2flow exporter-map map_name


      Example:
      RP/0/RSP0/CPU0:router(config)# flow exporter-map fem
      
       

      Creates an exporter map, configures the exporter map name, and enters flow exporter map configuration mode.

       
      Step 3destination hostname_or_IP_address


      Example:
      RP/0/RSP0/CPU0:router(config-fem)# destination nnn.nnn.nnn.nnn
      
       

      Configures the export destination for the flow exporter map. The destination can be a hostname or an IP address.

       
      Step 4dscp dscp_value


      Example:
      RP/0/RSP0/CPU0:router(config-fem)# dscp 55
      
       

      (Optional) Specifies the differentiated services codepoint (DSCP) value for export packets. Replace the dscp_value argument with a value in the range from 0 through 63.

       
      Step 5source type interface-path-id


      Example:
      RP/0/RSP0/CPU0:router(config-fem)# source gigabitEthernet 0/0/0/0
      
       

      Specifies a source interface, in the format type interface-path-id.

       
      Step 6transport udp port


      Example:
      RP/0/RSP0/CPU0:router(config-fem)# transport udp 9991
      
       

      (Optional) Specifies the destination port for UDP packets. Replace port with the destination UDP port value, in the range from 1024 through 65535.

       
      Step 7version v9


      Example:
      RP/0/RSP0/CPU0:router(config-fem-ver)# version v9
      
       

      (Optional) Enters flow exporter map version configuration submode.

       
      Step 8options {interface-table | sampler-table | vrf-table} [timeout seconds]


      Example:
      RP/0/RSP0/CPU0:router(config-fem-ver)# options sampler-table timeout 2000
      
       

      (Optional) Configures the export timeout value for the sampler table. Replace seconds with the export timeout value, in the range from 1 through 604800 seconds.

      Default is 1800 seconds.

       
      Step 9template [data | options] timeout seconds


      Example:
      RP/0/RSP0/CPU0:router(config-fem-ver)# template data timeout 10000
      
       

      (Optional) Configures the export period for data packets. Replace seconds with the export timeout value, in the range from 1 through 604800 seconds.

       
      Step 10 Use the commit or end command.  

      commit—Saves the configuration changes and remains within the configuration session.

      end—Prompts user to take one of these actions:
      • Yes— Saves configuration changes and exits the configuration session.

      • No—Exits the configuration session without committing the configuration changes.

      • Cancel—Remains in the configuration session, without committing the configuration changes.

       
      Step 11exit


      Example:
      RP/0/RSP0/CPU0:router(config-fem-ver)# exit
      
       

      Exits flow exporter map version configuration submode.

       
      Step 12exit


      Example:
      RP/0/RSP0/CPU0:router(config)# exit
      
       

      Enters EXEC mode.

       
      Step 13show flow exporter-map map_name


      Example:
      RP/0/RSP0/CPU0:router# show flow exporter-map fem
      
       

      Displays exporter map data.

       

      Configuring a Sampler Map

      Perform these steps to create and configure a sampler map.

      SUMMARY STEPS

        1.    configure

        2.    sampler-map map_name

        3.    random 1 out-of sampling_interval

        4.    Use the commit or end command.

        5.    exit

        6.    exit

        7.    show sampler-map map_name


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 configure


        Example:
        RP/0/RSP0/CPU0:router# configure
         

        Enters global configuration mode.

         
        Step 2sampler-map map_name


        Example:
        RP/0/RSP0/CPU0:router(config)# sampler-map sm
        RP/0/RSP0/CPU0:router(config-sm)#
        
         

        Creates a sampler map and enters sampler map configuration mode.

        Keep the following in mind when configuring a sampler map:

         
        Step 3random 1 out-of sampling_interval


        Example:
        RP/0/RSP0/CPU0:router(config-sm)# random 1 out-of 65535
        
         

        Configures the sampling interval to use random mode for sampling packets. Replace the sampling_interval argument with a number, in the range from 1 through 65535 units.

         
        Step 4 Use the commit or end command.  

        commit—Saves the configuration changes and remains within the configuration session.

        end—Prompts user to take one of these actions:
        • Yes— Saves configuration changes and exits the configuration session.

        • No—Exits the configuration session without committing the configuration changes.

        • Cancel—Remains in the configuration session, without committing the configuration changes.

         
        Step 5exit


        Example:
        RP/0/RSP0/CPU0:router(config-sm)# exit
        
         

        Exits sampler map configuration mode and enters the global configuration mode.

         
        Step 6exit


        Example:
        RP/0/RSP0/CPU0:router(config)# exit
        
         

        Exits the global configuration mode and enters EXEC mode.

         
        Step 7show sampler-map map_name


        Example:
        RP/0/RSP0/CPU0:router# show sampler-map fsm
        
         

        Displays sampler map data.

         

        Configuring a Monitor Map

        Perform these steps to create and configure a monitor map.

        SUMMARY STEPS

          1.    configure

          2.    flow monitor-map map_name

          3.    Do one of the following:

          • record ipv4
          • record ipv4 [peer as]
          • record ipv6
          • record mpls [labels number]
          • record mpls [ipv4-fields] [labels number]
          • record mpls [ipv6-fields] [labels number]
          • record mpls [ipv4-ipv6-fields] [labels number]

          4.    cache entries number

          5.    cache permanent

          6.    cache timeout {active timeout_value | inactive timeout_value | update timeout_value}

          7.    exporter map_name

          8.    Use the commit or end command.

          9.    exit

          10.    exit

          11.    show flow monitor-map map_name


        DETAILED STEPS
           Command or ActionPurpose
          Step 1 configure


          Example:
          RP/0/RSP0/CPU0:router# configure
           

          Enters global configuration mode.

           
          Step 2flow monitor-map map_name


          Example:
          RP/0/RSP0/CPU0:router(config)# flow monitor-map fmm
          RP/0/RSP0/CPU0:router(config-fmm)#
          
           

          Creates a monitor map and configures a monitor map name and enters flow monitor map configuration submode.

           
          Step 3Do one of the following:
          • record ipv4
          • record ipv4 [peer as]
          • record ipv6
          • record mpls [labels number]
          • record mpls [ipv4-fields] [labels number]
          • record mpls [ipv6-fields] [labels number]
          • record mpls [ipv4-ipv6-fields] [labels number]


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# record ipv4
          
           

          Configures the flow record map name for IPv4, IPv6, or MPLS.

          • Use the record ipv4 command to configure the flow record map name for IPv4. By default, you collect and export the originating autonomous system (AS) numbers.

          • Use the record ipv4 [peer-as] command to record peer AS. Here, you collect and export the peer AS numbers.

          Note   

          Ensure that the bgp attribute-download command is configured. Else, no AS is collected when the record ipv4 or record ipv4 peer-as command is configured.

          • Use the record ipv6 command to configure the flow record map name for IPv6.

          • Use the record mpls labels command with the number argument to specify the number of labels that you want to aggregate. By default, MPLS-aware NetFlow aggregates the top six labels of the MPLS label stack. The maximum value is 6.

          • Use the record mpls ipv4-fields command to collect IPv4 fields in the MPLS-aware NetFlow.

          • Use the record mpls ipv6-fields command to collect IPV6 fields in the MPLS-aware NetFlow.

          • Use the record mpls ipv4-ipv6-fields command to collect IPv4 and IPv6 fields in the MPLS-aware NetFlow.

           
          Step 4cache entries number


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# cache entries 10000
          
           

          (Optional) Configures the number of entries in the flow cache. Replace the number argument with the number of flow entries allowed in the flow cache, in the range from 4096 through 1000000.

          The default number of cache entries is 65535.

           
          Step 5cache permanent


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# flow monitor-map fmm cache permanent
          
           

          (Optional) Disables removal of entries from flow cache.

           
          Step 6cache timeout {active timeout_value | inactive timeout_value | update timeout_value}


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# cache timeout inactive 1000
          
           

          (Optional) Configures the active, inactive, or update flow cache timeout value.

          • The default timeout value for the inactive flow cache is 15 seconds.

          • The default timeout value for the active flow cache is 1800 seconds.

          • The default timeout value for the update flow cache is 1800 seconds.

          Note   

          The update timeout_value keyword argument is used for permanent caches only. It specifies the timeout value that is used to export entries from permanent caches. In this case, the entries are exported but remain the cache.

           
          Step 7exporter map_name


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# exporter fem
          
           

          Associates an exporter map with a monitor map.

          Note   

          A single flow monitor map can support up to eight exporters.

           
          Step 8 Use the commit or end command.  

          commit—Saves the configuration changes and remains within the configuration session.

          end—Prompts user to take one of these actions:
          • Yes— Saves configuration changes and exits the configuration session.

          • No—Exits the configuration session without committing the configuration changes.

          • Cancel—Remains in the configuration session, without committing the configuration changes.

           
          Step 9exit


          Example:
          RP/0/RSP0/CPU0:router(config-fmm)# exit
          
           

          Exits flow monitor map configuration submode.

           
          Step 10exit


          Example:
          RP/0/RSP0/CPU0:router(config)# exit
          
           

          Exits global configuration mode.

           
          Step 11show flow monitor-map map_name


          Example:
          RP/0/RSP0/CPU0:router# show flow monitor-map fmm
          
           

          Displays flow monitor map data.

           

          Applying a Monitor Map and a Sampler Map to an Interface

          Perform these steps to apply a monitor map and a sampler map to an interface.

          SUMMARY STEPS

            1.    configure

            2.    interface type number

            3.    flow [ipv4 | ipv6 | mpls] monitor monitor_map sampler sampler_map {egress | ingress}

            4.    Use the commit or end command.


          DETAILED STEPS
             Command or ActionPurpose
            Step 1 configure


            Example:
            RP/0/RSP0/CPU0:router# configure
             

            Enters global configuration mode.

             
            Step 2interface type number


            Example:
            RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
            RP/0/RSP0/CPU0:router(config-if)#
            
             

            Enters interface configuration mode.

             
            Step 3flow [ipv4 | ipv6 | mpls] monitor monitor_map sampler sampler_map {egress | ingress}


            Example:
            RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor fmm sampler fsm egress
            
             

            Associates a monitor map and a sampler map with an interface.

            Enter ipv4 to enable IPV4 NetFlow on the specified interface. Enter ipv6 to enable IPV6 NetFlow on the specified interface. Enter mpls to enable MPLS-aware NetFlow on the specified interface.

             
            Step 4 Use the commit or end command.  

            commit—Saves the configuration changes and remains within the configuration session.

            end—Prompts user to take one of these actions:
            • Yes— Saves configuration changes and exits the configuration session.

            • No—Exits the configuration session without committing the configuration changes.

            • Cancel—Remains in the configuration session, without committing the configuration changes.

             

            Clearing NetFlow Data

            Perform these steps to clear flow exporter map and flow monitor map data.

            SUMMARY STEPS

              1.    clear flow exporter [exporter_name] {restart | statistics} location node-id

              2.    clear flow monitor [monitor_name] cache [force-export | statistics] location node-id}


            DETAILED STEPS
               Command or ActionPurpose
              Step 1clear flow exporter [exporter_name] {restart | statistics} location node-id


              Example:
              RP/0/RSP0/CPU0:router# clear flow exporter statistics location 0/0/CPU0
              
               

              Clears the flow exporter data.

              Specify the statistics option to clear exporter statistics. Specify the restart option to export all of the templates that are currently configured on the specified node.

               
              Step 2clear flow monitor [monitor_name] cache [force-export | statistics] location node-id}


              Example:
              RP/0/RSP0/CPU0:router# clear flow monitor cache force-export location 0/0/CPU0
              
               

              Clears the flow monitor data.

              Specify the statistics option to clear cache statistics. Specify the force-export option to export the data from cache to server first and then clear the entries from cache.

               

              Configuring NetFlow Collection of MPLS Packets with IPv6 Fields

              Perform these steps to configure NetFlow collection of MPLS packets with IPv6 fields.

              SUMMARY STEPS

                1.    configure

                2.    flow exporter-map map_name

                3.    version v9

                4.    options {interface-table | sampler-table} [timeout seconds]

                5.    template [data | options] timeout seconds

                6.    exit

                7.    transport udp port

                8.    source type interface-path-id

                9.    destination hostname_or_IP_address

                10.    exit

                11.    flow monitor-map map_name

                12.    record mpls [ipv4-ipv6-fields] [labels number]

                13.    exporter map_name

                14.    cache entries number

                15.    cache timeout {active timeout_value | inactive timeout_value | update timeout_value}

                16.    cache permanent

                17.    exit

                18.    sampler-map map_name

                19.    random 1 out-of sampling_interval

                20.    exit

                21.    interface type number

                22.    flow [ipv4 | ipv6 | mpls] monitor monitor_map sampler sampler_map {egress | ingress}

                23.    Use the commit or end command.

                24.    exit

                25.    exit

                26.    show flow monitor-map map_name

                27.    show flow exporter-map map_name


              DETAILED STEPS
                 Command or ActionPurpose
                Step 1 configure


                Example:
                RP/0/RSP0/CPU0:router# configure
                 

                Enters global configuration mode.

                 
                Step 2flow exporter-map map_name


                Example:
                RP/0/RSP0/CPU0:router(config)# flow exporter-map exp1
                
                 

                Creates an exporter map, configures the exporter map name, and enters flow exporter map configuration mode.

                 
                Step 3version v9


                Example:
                RP/0/RSP0/CPU0:router(config-fem)# version v9
                
                 

                (Optional) Enters flow exporter map version configuration submode.

                 
                Step 4options {interface-table | sampler-table} [timeout seconds]


                Example:
                RP/0/RSP0/CPU0:router(config-fem-ver)# options interface-table timeout 300
                
                 

                (Optional) Configures the export timeout value for the interface table or the sampler table. Replace seconds with the export timeout value, in the range from 1 through 604800 seconds. The default is 1800 seconds for both the interface table and the sample table.

                You must perform this step twice to configure the export timeout value for both an interface table and a sample table.

                 
                Step 5template [data | options] timeout seconds


                Example:
                RP/0/RSP0/CPU0:router(config-fem-ver)# template data timeout 300
                
                 

                (Optional) Configures the export period for data packets or options packets. Replace seconds with the export timeout value, in the range from 1 through 604800 seconds.

                You must perform this step twice to configure the export period for both data packets and options packets.

                 
                Step 6exit


                Example:
                RSP0/CPU0:router(config-fem-ver)# exit
                
                 

                Exits flow exporter map version configuration mode, and enters flow exporter map configuration mode.

                 
                Step 7transport udp port


                Example:
                RP/0/RSP0/CPU0:router(config-fem)# transport udp 12515
                
                 

                (Optional) Specifies the destination port for UDP packets. Replace port with the destination UDP port value, in the range from 1024 through 65535.

                 
                Step 8source type interface-path-id


                Example:
                RP/0/RSP0/CPU0:router(config-fem)# source Loopback0
                
                 

                Specifies a source interface, in the format type interface-path-id. For example:

                POS 0/1/0/1 or Loopback0
                
                 
                Step 9destination hostname_or_IP_address


                Example:
                RP/0/RSP0/CPU0:router(config-fem)# destination 170.1.1.11
                
                 

                Configures the export destination for the flow exporter map. The destination can be a hostname or an IP address.

                 
                Step 10exit


                Example:
                RP/0/RSP0/CPU0:router(config-fem)# exit
                
                 

                Exits flow exporter map configuration mode, and enters global configuration mode.

                 
                Step 11flow monitor-map map_name


                Example:
                RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-IPv6-fmm
                
                 

                Creates a monitor map and configures a monitor map name and enters flow monitor map configuration submode.

                 
                Step 12record mpls [ipv4-ipv6-fields] [labels number]


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# record mpls ipv6-fields labels 3
                
                 

                Configures the flow record map name for IPv4, IPv6, or MPLS. Use the ipv4-ipv6-fields keyword to collect IPv4 and IPv6 fields in an MPLS-aware NetFlow.

                 
                Step 13exporter map_name


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# exporter exp1
                
                 

                Associates an exporter map with a monitor map.

                Note   

                A single flow monitor map can support up to eight exporters.

                 
                Step 14cache entries number


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# cache entries 10000
                
                 

                (Optional) Configures the number of entries in the flow cache. Replace the number argument with the number of flow entries allowed in the flow cache, in the range from 4096 through 1000000.

                The default number of cache entries is 65535.

                 
                Step 15cache timeout {active timeout_value | inactive timeout_value | update timeout_value}


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# cache timeout inactive 1800
                
                 

                (Optional) Configures the active, inactive, or update flow cache timeout value.

                • The default timeout value for the inactive flow cache is 15 seconds.

                • The default timeout value for the active flow cache is 1800 seconds.

                • The default timeout value for the update flow cache is 1800 seconds.

                Note   

                The inactive and active keywords are not applicable to permanent caches.

                Note   

                The update keyword is used for permanent caches only. It specifies the timeout value that is used to export entries from permanent caches. In this case, the entries are exported but remain the cache.

                 
                Step 16cache permanent


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# flow monitor-map fmm cache permanent
                
                 

                (Optional) Disables the removal of entries from flow cache.

                 
                Step 17exit


                Example:
                RP/0/RSP0/CPU0:router(config-fmm)# exit
                
                 

                Exits flow monitor map configuration submode.

                 
                Step 18sampler-map map_name


                Example:
                RP/0/RSP0/CPU0:router(config)# sampler-map fsm
                RP/0/RSP0/CPU0:router(config-sm)#
                
                
                 

                Creates a sampler map and enters sampler map configuration mode.

                Keep the following in mind when configuring a sampler map:

                   
                Step 19random 1 out-of sampling_interval


                Example:
                RP/0/RSP0/CPU0:router(config-sm)# random 1 out-of 65535
                
                 

                Configures the sampling interval to use random mode for sampling packets. Replace the sampling_interval argument with a number, in the range from 1 through 65535 units.

                 
                Step 20exit


                Example:
                RP/0/RSP0/CPU0:router(config-sm)#exit
                
                 

                Exits sampler map configuration mode and enters global configuration mode.

                 
                Step 21interface type number


                Example:
                RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                RP/0/RSP0/CPU0:router(config-if)#
                
                 

                Enters interface configuration mode.

                 
                Step 22flow [ipv4 | ipv6 | mpls] monitor monitor_map sampler sampler_map {egress | ingress}


                Example:
                RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor MPLS-IPv6-fmm sampler fsm egress
                
                 

                Associates a monitor map and a sampler map with an interface.

                Enter ipv4 to enable IPV4 NetFlow on the specified interface. Enter ipv6 to enable IPV6 NetFlow on the specified interface. Enter mpls to enable MPLS-aware NetFlow on the specified interface.

                 
                Step 23 Use the commit or end command.  

                commit—Saves the configuration changes and remains within the configuration session.

                end—Prompts user to take one of these actions:
                • Yes— Saves configuration changes and exits the configuration session.

                • No—Exits the configuration session without committing the configuration changes.

                • Cancel—Remains in the configuration session, without committing the configuration changes.

                 
                Step 24exit


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

                Exits interface configuration submode for the Ethernet interface.

                 
                Step 25exit


                Example:
                RP/0/RSP0/CPU0:router(config)# exit
                
                 

                Exits global configuration mode.

                 
                Step 26show flow monitor-map map_name


                Example:
                RP/0/RSP0/CPU0:router# show flow monitor-map fmm
                
                 

                Displays flow monitor map data.

                 
                Step 27show flow exporter-map map_name


                Example:
                RP/0/RSP0/CPU0:router# show flow exporter-map fem
                
                 

                Displays exporter map data.

                 

                Configuring Destination-based NetFlow Accounting

                Perform these tasks to configure destination-based NetFlow accounting.

                SUMMARY STEPS

                  1.    configure

                  2.    flow monitor-map map_name

                  3.    record destination-tos {ipv4 | ipv6 } [destination]

                  4.    exit

                  5.    interface type interface-path-id

                  6.    flow {ipv4 | ipv6 | }monitor map-name { ingress }

                  7.    Use the commit or end command.

                  8.    show flow monitor-map map_name


                DETAILED STEPS
                   Command or ActionPurpose
                  Step 1 configure


                  Example:
                  RP/0/RSP0/CPU0:router# configure
                   

                  Enters global configuration mode.

                   
                  Step 2flow monitor-map map_name


                  Example:
                  RP/0/RSP0/CPU0:router(config)# flow monitor-map map1
                  RP/0/RSP0/CPU0:router(config-fmm)#
                  
                   

                  Creates a monitor map and configures a monitor map name and enters flow monitor map configuration submode.

                   
                  Step 3record destination-tos {ipv4 | ipv6 } [destination]


                  Example:
                  RP/0/RSP0/CPU0:router(config-fmm)# record ipv4 destination-tos
                  


                  Example:
                  RP/0/RSP0/CPU0:router(config-fmm)# record ipv6 destination
                  
                   

                  Configures the flow record for an IPv4 or IPv6 destination-based NetFlow accounting record. The destination keyword specifies that the record is for IPv4 or IPv6 destination-based NetFlow accounting.

                   
                  Step 4exit


                  Example:
                  RP/0/RSP0/CPU0:router(config-fmm)# exit
                  
                   

                  Exits flow monitor map mode and enters the global configuration mode.

                   
                  Step 5interface type interface-path-id


                  Example:
                  RP/0/RSP0/CPU0:router(config)# interface POS 0/1/0/0
                  
                   

                  Interface type and physical interface-path-id in the format type rack/slot/module/port.

                  type—POS, Ethernet, ATM, etc.

                  rack—Chassis number of the rack.

                  slot—Physical slot number of the line card or modular services card.

                  module—Module number. A physical layer interface module (PLIM) is always 0.

                  port—Physical port number of the interface.

                   
                  Step 6flow {ipv4 | ipv6 | }monitor map-name { ingress }


                  Example:
                  RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor monitor1 ingress
                  


                  Example:
                  RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor monitor1 ingress
                  
                   

                  Configures an IPv4 or IPv6 flow monitor for the ingress direction and assigns the name of the monitor.

                   
                  Step 7 Use the commit or end command.  

                  commit—Saves the configuration changes and remains within the configuration session.

                  end—Prompts user to take one of these actions:
                  • Yes— Saves configuration changes and exits the configuration session.

                  • No—Exits the configuration session without committing the configuration changes.

                  • Cancel—Remains in the configuration session, without committing the configuration changes.

                   
                  Step 8show flow monitor-map map_name


                  Example:
                  RP/0/RSP0/CPU0:router# show flow monitor-map map1
                  
                   

                  Verifies monitor map data.

                   

                  Configuring Netflow over BVI

                  Perform this task to configure Neflow over BVI.


                  Note


                  For information on configuring the exporter, monitor, and sampler, see Configuring an Exporter Map, Configuring a Monitor Map, and Configuring a Sampler Map.


                  SUMMARY STEPS

                    1.    configure

                    2.    l2vpn

                    3.    bridge group bg1

                    4.    bridge-domain bd1

                    5.    interface TenGigE0/0/0/0

                    6.    exit

                    7.    interface Bundle-Ether100

                    8.    exit

                    9.    routed interface BVI1

                    10.    interface BVI1

                    11.    ipv4 address 11.11.11.11 255.255.255.0

                    12.    flow ipv4 monitor FMM sampler SAMP ingress

                    13.    flow ipv4 monitor FMM sampler SAMP egress

                    14.    flow ipv6 monitor FMM-v6 sampler SAMP ingress

                    15.    flow ipv6 monitor FMM-v6 sampler SAMP egress

                    16.    Use the commit or end command.


                  DETAILED STEPS
                     Command or ActionPurpose
                    Step 1 configure


                    Example:
                    RP/0/RSP0/CPU0:router# configure
                     

                    Enters global configuration mode.

                     
                    Step 2l2vpn


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

                    Enters L2VPN configuration mode.

                     
                    Step 3bridge group bg1


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn)# bridge group bg1 
                    
                     

                    Configures bridge group.

                     
                    Step 4bridge-domain bd1


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg)# bridge-domain bd1 
                    
                     

                    Configures bridge domain.

                     
                    Step 5interface TenGigE0/0/0/0


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface TenGigE0/0/0/0
                    
                     

                    Assigns TenGigabitEthernet/IEEE 802.3 interface to the configured bridge domain.

                     
                    Step 6exit


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# exit
                    
                     

                    Exits the interface sub-mode.

                     
                    Step 7interface Bundle-Ether100


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface Bundle-Ether100 
                    
                     

                    Assigns aggregated ethernet interface to the configured bridge domain.

                     
                    Step 8exit


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# exit
                    
                     

                    Exits the interface sub-mode.

                     
                    Step 9routed interface BVI1


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# routed interface BVI1 
                    
                     

                    Assigns Bridge-Group Virtual Interface to the configured bridge domain.

                     
                    Step 10interface BVI1


                    Example:
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface BVI1 
                    
                     

                    Enters interface configuration mode.

                     
                    Step 11ipv4 address 11.11.11.11 255.255.255.0


                    Example:
                    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 11.11.11.11 255.255.255.0 
                    
                     

                    Configures the IPv4 address of the interface.

                     
                    Step 12flow ipv4 monitor FMM sampler SAMP ingress


                    Example:
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor FMM sampler SAMP ingress
                    
                     

                    Configures IPv4 flow monitor, specifies a sampler for packets, and applies flow monitor on incoming packets.

                     
                    Step 13flow ipv4 monitor FMM sampler SAMP egress


                    Example:
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor FMM sampler SAMP egress
                    
                     

                    Configures IPv4 flow monitor, specifies a sampler for packets, and applies flow monitor on outgoing packets.

                     
                    Step 14flow ipv6 monitor FMM-v6 sampler SAMP ingress


                    Example:
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor FMM-v6 sampler SAMP ingress
                    
                     

                    Configures IPv6 flow monitor, specifies a sampler for packets, and applies flow monitor on incoming packets.

                     
                    Step 15flow ipv6 monitor FMM-v6 sampler SAMP egress


                    Example:
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor FMM-v6 sampler SAMP egress
                    
                     

                    Configures IPv6 flow monitor, specifies a sampler for packets, and applies flow monitor on outgoing packets.

                     
                    Step 16 Use the commit or end command.  

                    commit—Saves the configuration changes and remains within the configuration session.

                    end—Prompts user to take one of these actions:
                    • Yes— Saves configuration changes and exits the configuration session.

                    • No—Exits the configuration session without committing the configuration changes.

                    • Cancel—Remains in the configuration session, without committing the configuration changes.

                     

                    ASR 9000 Ethernet LC Netflow

                    ASR 9000 Ethernet LC Netflow exports using only the V9 (Version 9) format. V9 is the most flexible NetFlow export. This format is flexible and extensible. It provides the flexibility to support new fields and record types.

                    Supported features

                    • Flow monitor type of IPv4, IPv6, and MPLS can all be configured to an interface per direction.

                    • Sampled Netflow. There is no support for full mode sampling.

                    • Non-deterministic Random Sampling Algorithm.

                    • Different traffic types, including unicast and multicast traffic.

                    Punt path policer rate

                    In order to achieve the maximum flow processing without overloading the LC CPU, all flow packets that are punted from each Network Processor are policed. This is done to avoid overloading the CPU. The aggregate punt policer rate is 100 Kpps for the ASR 9000 Ethernet LC. To avoid having flow packets arrive at the CPU at a huge rate, the punt path policer needs to be applied on all NPs that have the netflow feature applied on them.

                    The Punt path policer rate can be calculated in following way:

                    Calculating Punt path policer rate

                    The policer rate of each NP_NetflowMonitor is 100k, where NP_NetflowMonitor is NP that has Netflow monitor configured to its associated interfaces; or any of its associated interfaces are member of a bundle interfaces or bundle sub-interfaces that has Netflow monitor applied.

                    Determining NP for NP_NetflowMonitor or non - NP_NetflowMonitor:

                    1. If any of its associated interface or sub-interface has any flow monitor applied, then it is NP_NetflowMonitor.

                    2. If any of its interfaces is a member of a bundle interface or bundle sub-interface that has Netflow monitor configured, the NP is considered as non- NP_NetflowMonitor.

                    ASR 9000 Ethernet Line Card Features

                    • Ingress and egress NetFlow (IPv4, IPv6, MPLS) on L3 physical interface, L3-sub-interface, L3-Bundle interface, and L3 bundle sub-interface.

                    • Configurable Sampling Rate 1:1 ~ 1: 65535

                    • Up to 4 Sampling Rates (or Intervals) per line card.

                    • Up to 8k (Large memory line card) or 4k (Small Memory line card) interfaces/subinterfaces

                    • Configuration with flow monitor per Network Processor (NP).

                    • Maximum aggregate NetFlow processing rate of 50k flow packets per seconds per line card, enforced by NetFlow Punt Policer on each NP.

                    • NetFlow processing of 100Kpps, with CPU utilization not exceeding 50%.

                    • Combined NetFlow processing of 100kpps per line card for the ASR 9000 Ethernet Line Cards and 200kpps per line card for the ASR 9000 Enhanced Ethernet Line Cards.

                    • Up to 4 flow exporters per flow monitor.

                    • Exporting packet rates of up to 100k flows per second.

                    Configuration Examples for NetFlow

                    These examples show NetFlow configurations:

                    Sampler Map: Example

                    This example shows how to create a new sampler map called “fsm1,” which samples 1 out of 65535 packets:

                    RP/0/RSP0/CPU0:router# sampler-map fsm1 
                    RP/0/RSP0/CPU0:router(config-sm)# random 1 out-of 65535
                    RP/0/RSP0/CPU0:router(config)# exit
                    

                    Exporter Map: Example

                    This example shows how to create a new flow exporter map called “fem1,” which uses the version 9 (V9) export format for NetFlow export packets. The data template flow-set is inserted into the V9 export packets once every 10 minutes, and the options interface table flow-set is inserted into the V9 export packet. The export packets are sent to the flow collector destination 10.1.1.1, where the source address is identical to the interface IP address of Loopback 0. The UDP destination port is 1024, and the DSCP value is 10:

                    RP/0/RSP0/CPU0:router(config)# flow exporter-map fem1 
                    RP/0/RSP0/CPU0:router(config-fem)# destination 10.1.1.1
                    RP/0/RSP0/CPU0:router(config-fem)# source Loopback 0
                    RP/0/RSP0/CPU0:router(config-fem)# transport udp 1024
                    RP/0/RSP0/CPU0:router(config-fem)# dscp 10
                    RP/0/RSP0/CPU0:router(config-fem)# exit
                    RP/0/RSP0/CPU0:router(config-fem)# version v9
                    RP/0/RSP0/CPU0:router(config-fem-ver)# template data timeout 600
                    RP/0/RSP0/CPU0:router(config-fem-ver)# options interface-table
                    RP/0/RSP0/CPU0:router(config-fem-ver)# exit
                    

                    This example shows how to create a new flow exporter map called “fem1,” which uses the version 9 (V9) export format for the NetFlow export packets. The data template flow-set is inserted into the V9 export packets once every 10 minutes, and the options sampler table flow-set is inserted into the V9 export packet. The export packets are sent to the flow collector destination 10.1.1.1, where the source address is identical to the interface IP address of Loopback 0. The UDP destination port is 1024, and the DSCP value is 10:

                    RP/0/RSP0/CPU0:router(config)# flow exporter-map fem1 
                    RP/0/RSP0/CPU0:router(config-fem)# destination 10.1.1.1
                    RP/0/RSP0/CPU0:router(config-fem)# source Loopback 0
                    RP/0/RSP0/CPU0:router(config-fem)# transport udp 1024
                    RP/0/RSP0/CPU0:router(config-fem)# dscp 10
                    RP/0/RSP0/CPU0:router(config-fem)# exit
                    RP/0/RSP0/CPU0:router(config-fem)# version v9
                    RP/0/RSP0/CPU0:router(config-fem-ver)# template data timeout 600
                    RP/0/RSP0/CPU0:router(config-fem-ver)# options sampler-table
                    RP/0/RSP0/CPU0:router(config-fem-ver)# exit
                    

                    Flow Monitor Map: Examples

                    This example shows how to create a new flow monitor map with name “fmm1”. This flow monitor map references the flow exporter map “fem1,” and sets the flow cache attributes to 10000 cache entries. The active entries from the cache are aged every 30 seconds, while the inactive entries from the cache are aged every 15 seconds. The record map for this monitor map is IPv4:

                    RP/0/RSP0/CPU0:router(config)# flow monitor-map fmm1
                    RP/0/RSP0/CPU0:router(config-fmm)# record ipv4
                    RP/0/RSP0/CPU0:router(config-fmm)# exporter fem1
                    RP/0/RSP0/CPU0:router(config-fmm)# cache entries 10000
                    RP/0/RSP0/CPU0:router(config-fmm)# cache timeout active 30
                    RP/0/RSP0/CPU0:router(config-fmm)# cache timeout inactive 15
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    

                    This example shows how to apply the flow monitor “fmm1”and the sampler “fsm1” to the TenGigE 0/0/0/0 interface in the ingress direction:

                    RP/0/RSP0/CPU0:router(config)# interface TenGigE 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor fmm1 sampler fsm1 ingress 
                    RP/0/RSP0/CPU0:router(config-if)# exit
                    

                    This example shows how to configure the NetFlow monitor to collect MPLS packets with IPv6 fields:

                    RP/0/RSP0/CPU0:router# config
                    RP/0/RSP0/CPU0:router(config)# flow exporter-map exp1
                    RP/0/RSP0/CPU0:router(config-fem)# version v9
                    RP/0/RSP0/CPU0:router(config-fem-ver)# options interface-table timeout 300
                    RP/0/RSP0/CPU0:router(config-fem-ver)# options sampler-table timeout 300
                    RP/0/RSP0/CPU0:router(config-fem-ver)# template data timeout 300
                    RP/0/RSP0/CPU0:router(config-fem-ver)# template options timeout 300
                    RP/0/RSP0/CPU0:router(config-fem-ver)# exit 
                    RP/0/RSP0/CPU0:router(config-fem)# transport udp 12515
                    RP/0/RSP0/CPU0:router(config-fem)# source Loopback0
                    RP/0/RSP0/CPU0:router(config-fem)# destination 170.1.1.11
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-IPv6-fmm
                    RP/0/RSP0/CPU0:router(config-fmm)# record mpls ipv6-fields labels 3
                    RP/0/RSP0/CPU0:router(config-fmm)# exporter exp1
                    RP/0/RSP0/CPU0:router(config-fmm)# cache entries 10000
                    RP/0/RSP0/CPU0:router(config-fmm)# cache permanent
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    
                    RP/0/RSP0/CPU0:router(config)# sampler-map FSM
                    RP/0/RSP0/CPU0:router(config-sm)# random 1 out-of 65535
                    RP/0/RSP0/CPU0:router(config-sm)# exit
                    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow mpls monitor MPLS-IPv6-fmm sampler FSM ingress
                    

                    MPLS Flow Monitor with IPv4 and IPv6 Support: Examples

                    This configuration collects MPLS traffic, but no payload information is collected.

                    RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-fmm
                    RP/0/RSP0/CPU0:router(config-fmm)# record mpls labels 3
                    RP/0/RSP0/CPU0:router(config-fmm)# cache permanent
                    RP/0/RSP0/CPU0:router(config)# exit
                    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow mpls monitor MPLS-fmm sampler fsm ingress
                    

                    This configuration collects MPLS traffic with IPv4 payloads. It also collects MPLS traffic without IPv4 payloads, but it populates the IPv4 fields with zeros (0).

                    RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-IPv4-fmm
                    RP/0/RSP0/CPU0:router(config-fmm)# record mpls IPv4-fields labels 3
                    RP/0/RSP0/CPU0:router(config-fmm)# cache permanent
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow mpls monitor MPLS-IPv4-fmm sampler fsm ingress
                    

                    This configuration collects MPLS traffic with IPv6 payloads. It also collects MPLS traffic without IPv6 payloads, but it populates the IPv6 fields with zeros (0).

                    RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-IPv6-fmm
                    RP/0/RSP0/CPU0:router(config-fmm)# record mpls IPv6-fields labels 3
                    RP/0/RSP0/CPU0:router(config-fmm)# cache permanent
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow mpls monitor MPLS-IPv6-fmm sampler fsm ingress
                    

                    This configuration collects MPLS traffic with both IPv6 and IPv4 fields. It also collects MPLS traffic without IPv4 or IPv6 payloads, but it populates the IPv6 and IPv4 fields with zeros (0).

                    RP/0/RSP0/CPU0:router(config)# flow monitor-map MPLS-IPv4-IPv6-fmm
                    RP/0/RSP0/CPU0:router(config-fmm)# record mpls IPv4-IPv6-fields labels 3
                    RP/0/RSP0/CPU0:router(config-fmm)# cache permanent
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)# interface gigabitEthernet 0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow mpls monitor MPLS-IPv4-IPv6-fmm sampler fsm ingress
                    

                    Note


                    Flow records are exported using the Version 9 format.


                    Destination-based NetFlow Accounting: Example

                    This example shows how to configure an IPv4 flow record for destination-based NetFlow accounting:

                    RP/0/RSP0/CPU0:router# configure
                    RP/0/RSP0/CPU0:router(config)# flow exporter-map fem
                    RP/0/RSP0/CPU0:router(config-fem)#  source Loopback0
                    RP/0/RSP0/CPU0:router(config-fem)#  destination 80.80.80.5
                    RP/0/RSP0/CPU0:router(config-fem)#  transport udp 1025
                    RP/0/RSP0/CPU0:router(config-fem)# exit
                    RP/0/RSP0/CPU0:router(config)# flow monitor-map map1
                    RP/0/RSP0/CPU0:router(config-fmm)# record ipv4 destination
                    RP/0/RSP0/CPU0:router(config-fmm)# exporter fem
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)# interface pos 0/1/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor map1 ingress
                    RP/0/RSP0/CPU0:router(config-if)# end
                    RP/0/RSP0/CPU0:router#  show flow monitor-map map1
                    

                    This example shows how to configure an IPv6 flow record for destination-based NetFlow accounting:

                    RP/0/RSP0/CPU0:router# configure
                    RP/0/RSP0/CPU0:router(config)# flow monitor-map map2
                    RP/0/RSP0/CPU0:router(config-fmm)# record ipv6 destination
                    RP/0/RSP0/CPU0:router(config-fmm)# exit
                    RP/0/RSP0/CPU0:router(config)#  interface gigabitEthernet 0/1/0/0
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor map2 ingress
                    RP/0/RSP0/CPU0:router(config-if)# end
                    RP/0/RSP0/CPU0:router#  show flow monitor-map map2
                    
                    

                    This example displays the output for the show flow monitor-map command:

                    RP/0/RSP0/CPU0:router#  show flow monitor-map map2
                    Tue Jan 22 00:15:53.424 PST
                    
                    Flow Monitor Map : map2
                    -------------------------------------------------
                    Id:                                1
                    RecordMapName:    ipv6-destination
                    CacheAgingMode:    Normal
                    CacheMaxEntries:    65535
                    CacheActiveTout:     1800 seconds
                    CacheInactiveTout:  15 seconds
                    CacheUpdateTout:    N/A
                    
                    

                    Configure BGP to display BGP attributes in netflow record: Example

                    This example shows how to configure BGP to display BGP attributes in netflow record:

                    
                    RP/0/RSP0/CPU0:router(config)# interface loopback 1
                    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 5.5.5.5 255.255.255.255.
                    RP/0/RSP0/CPU0:router(config-if)# exit
                    RP/0/RSP0/CPU0:router(config)# router bgp 200
                    RP/0/RSP0/CPU0:router(config-bgp)# bgp router-id 5.5.5.5
                    RP/0/RSP0/CPU0:router(config-bgp)# address-family ipv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-af)# exit
                    RP/0/RSP0/CPU0:router(config-bgp)# address-family vpnv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-af)# exit
                    RP/0/RSP0/CPU0:router(config-bgp)# neighbor 6.6.6.6
                    RP/0/RSP0/CPU0:router(config-bgp-nbr)# remote-as 200
                    RP/0/RSP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-nbr-af)# route-policy craft in
                    RP/0/RSP0/CPU0:router(config-bgp-nbr-af)# route-policy craft out
                    RP/0/RSP0/CPU0:router(config-bgp-nbr)# exit
                    RP/0/RSP0/CPU0:router(config-bgp-nbr)# address-family vpnv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-nbr-af)# exit
                    RP/0/RSP0/CPU0:router(config-bgp-nbr)# exit
                    RP/0/RSP0/CPU0:router(config-bgp)# vrf vrf1
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# rd 100:1
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# label-allocation-mode per-vrf
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# address-family ipv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-af)# redistribute connected
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-af)# redistribute static
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# exit
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# neighbor 196.1.1.2
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr)# remote-as 100
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr)# address-family ipv4 unicast
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr-af)# route-policy craft in
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr-af)# route-policy craft out
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr-af)# exit
                    RP/0/RSP0/CPU0:router(config-bgp-vrf-nbr)# exit
                    RP/0/RSP0/CPU0:router(config-bgp-vrf)# exit
                    RP/0/RSP0/CPU0:router(config-bgp)# exit
                    RP/0/RSP0/CPU0:router(config)# exit
                    

                    Limitations

                    • When the netflow configuration for VPNv4 or VPNv6 is applied in label allocation mode (either per prefix or per CE) then the IPv4 or IPv6 netflow do not capture the BGP attributes such as BGP nh, BGP AS numbers and prefix lengths; these attributes values are set to zero.

                    • Under VPNv4 and VPNv6 label allocation mode per vrf, BGP attributes, source and destination lengths are captured but AS numbers are not captured.

                    Note


                    • To enter label mode per VRF, you must type the label-allocation-mode per-vrf command.

                    • To enter label mode per CE, you must type the label-allocation-mode per-ce command.

                    • To enter label mode per prefix, you must type the label-allocation-mode per-prefix command.


                    Netflow over BVI: Example

                    This example shows how to configure netflow over BVI:

                    RP/0/RSP0/CPU0:router# configure
                    RP/0/RSP0/CPU0:router(config)# l2vpn
                    RP/0/RSP0/CPU0:router(config-l2vpn)# bridge group bg1
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg)# bridge-domain bd1
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface Bundle-Ether100
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd-ac)# exit
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface TenGigE0/0/0/0
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd-ac)# exit
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# routed interface BVI 1
                    RP/0/RSP0/CPU0:router(config-l2vpn-bg-bd)# interface BVI 1
                    RP/0/RSP0/CPU0:router(config-if)# ipv4 address 11.11.11.11 255.255.255.0
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor FMM sampler SAMP ingress
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv4 monitor FMM sampler SAMP egress
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor FMM-v6 sampler SAMP ingress
                    RP/0/RSP0/CPU0:router(config-if)# flow ipv6 monitor FMM-v6 sampler SAMP egress
                    RP/0/RSP0/CPU0:router(config-if)# interface TenGigE0/0/0/0
                    RP/0/RSP0/CPU0:router(config-if)# l2transport
                    RP/0/RSP0/CPU0:router(config-if)# interface Bundle-Ether100
                    RP/0/RSP0/CPU0:router(config-if)# l2transport
                    RP/0/RSP0/CPU0:router(config-if)# end
                    

                    Additional References

                    These sections provide references related to interface configuration.

                    Related Documents

                    Related Topic

                    Document Title

                    Cisco IOS XR master command reference

                    Cisco IOS XR Master Commands List

                    Cisco IOS XR interface configuration commands

                    Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference

                    Initial system bootup and configuration information for a router using the Cisco IOS XR software.

                    Cisco ASR 9000 Series Aggregation Services Router Getting Started Guide

                    Information about user groups and task IDs

                    Cisco ASR 9000 Series Aggregation Services Router Interface and Hardware Component Command Reference

                    Information about configuring interfaces and other components from a remote Craft Works Interface (CWI) client management application.

                    Cisco Craft Works Interface User Guide

                    Standards

                    Standards

                    Title

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

                    MIBs

                    MIBs

                    MIBs Link

                    To locate and download MIBs using Cisco IOS XR software, use the Cisco MIB Locator found at the following URL and choose a platform under the Cisco Access Products menu: http:/​/​cisco.com/​public/​sw-center/​netmgmt/​cmtk/​mibs.shtml

                    RFCs

                    RFCs

                    Title

                    3954

                    NetFlow services export protocol Version 9.

                    Technical Assistance