Cisco IOS Flexible NetFlow Commands

cache (Flexible NetFlow)

To configure a flow cache parameter for a Flexible NetFlow flow monitor, use the cache command in Flexible NetFlow flow monitor configuration mode. To remove a flow cache parameter for a Flexible NetFlow flow monitor, use the no form of this command.

Command Default

The following flow cache parameters for a Flexible NetFlow flow monitor are enabled:

•Cache type: normal

•Maximum number of entries in the flow monitor cache: 4096

•Active flow timeout: 1800 seconds

•Inactive flow timeout: 15 seconds

•Update timeout for a permanent flow cache: 1800 seconds

Command Modes

Flexible NetFlow flow monitor configuration (config-flow-monitor)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

This command was modified. Support for this command was added for Cisco 7200 series routers.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE Release 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Cisco IOS XE Release 3.4S

This command was modified. The event transaction-end keyword was added.

Usage Guidelines

Each flow monitor has a cache that it uses to store all the flows it monitors. Each cache has various configurable elements, such as the number of entries and the time that a flow is allowed to remain in it. When a flow times out, it is removed from the cache and sent to any exporters that are configured for the corresponding flow monitor.

If a cache is already active (that is, you have applied the flow monitor to at least one interface in the router), your changes to the record, cache type, and cache size parameters will not take effect until you either reboot the router or remove the flow monitor from every interface and then reapply it. Therefore whenever possible you should customize the record, cache type, and cache size parameters for the cache before you apply the flow monitor to an interface. You can modify the timers, flow exporters, and statistics parameters for a cache while the cache is active.

cache entries

This command controls the size of the cache. Cache size should be based on a number of factors, including the number of flows expected, the time the flows are expected to last (based on the configured key fields and the traffic), and the timeout values configured for the cache. The size should be large enough to minimize emergency expiry.

Emergency expiry is caused by the Flexible NetFlow cache becoming full. When the Flexible NetFlow cache becomes full, the router performs "emergency expiry" where a number of flows are immediately aged, expired from the Flexible NetFlow cache, and exported in order to free up space for more flows.

For a permanent cache (flows never expire), the number of entries should be large enough to accommodate the number of flows expected for the entire duration of the cache entries. If more flows occur than there are cache entries, the excess flows are not recorded in the cache.

For an immediate cache (flows expire immediately), the number of entries simply controls the amount of history that is available for previously seen packets.

cache timeout active

This command controls the aging behavior of the normal type of cache. If a flow has been active for a long time, it is usually desirable to age it out (starting a new flow for any subsequent packets in the flow). This age out process allows the monitoring application that is receiving the exports to remain up to date. By default this timeout is 1800 seconds (30 minutes), but it can be adjusted according to system requirements. A larger value ensures that long-lived flows are accounted for in a single flow record; a smaller value results in a shorter delay between starting a new long-lived flow and exporting some data for it.

cache timeout inactive

This command controls the aging behavior of the normal type of cache. If a flow has not seen any activity for a specified amount of time, that flow will be aged out. By default, this timeout is 15 seconds, but this value can be adjusted depending on the type of traffic expected.

If a large number of short-lived flows is consuming many cache entries, reducing the inactive timeout can reduce this overhead. If a large number of flows frequently get aged out before they have finished collecting their data, increasing this timeout can result in better flow correlation.

cache timeout update

This command controls the periodic updates sent by the permanent type of cache. This behavior is similar to the active timeout, except that it does not result in the removal of the cache entry from the cache. By default this timer value is 1800 seconds (30 minutes).

cache timeout event transaction-end

To use this command, you must configure the match connection transaction id command and the match application name command for the flow record. This command causes the record to be generated and exported in the NetFlow cache at the end of a transaction. A transaction is a set of logical exchanges between endpoints. There is normally one transaction within a flow.

cache type immediate

This command specifies the immediate cache type. This type of cache will age out every record as soon as it is created, with the result that every flow contains just one packet. The commands that display the cache contents will provide a history of the packets seen.

The use of this cache type is appropriate when very small flows are expected and a minimum amount of latency between analyzing a packet and exporting a report is desired. We recommend using this command when you are sampling packet chunks because the number of packets per flow is typically very low.

Caution This command may result in a large amount of export data that can overload low speed links and overwhelm any systems to which you are exporting. We recommended that you configure sampling to reduce the number of packets seen.

Note The timeout settings have no effect for the immediate cache type.

cache type normal

This command specifies the normal cache type. This is the default cache type. The entries in the cache will be aged out according to the timeout activeseconds and timeout inactiveseconds settings. When a cache entry is aged out, it is removed from the cache and exported via any exporters configured for the monitor associated with the cache.

cache type permanent

This command specifies the permanent cache type. This type of cache never ages out any flows. This cache type is useful when the number of flows you expect to see has a limit and there is a need to keep long-term statistics on the router. For example, if the only key field is IP TOS, a limit of 256 flows can be seen, so to monitor the long-term usage of the IP TOS field, a permanent cache can be used. Update messages are exported via any exporters configured for the monitor associated with this cache in accordance with the timeout updateseconds setting.

Note When a cache becomes full, new flows will not be monitored. If this occurs, a "Flows not added" statistic will appear in the cache statistics.

Note A permanent cache uses update counters rather than delta counters. This means that when a flow is exported, the counters represent the totals seen for the full lifetime of the flow and not the additional packets and bytes seen since the last export was sent.

Examples

The following example shows how to configure the number of entries for the flow monitor cache:

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

Router(config-flow-monitor)# cache entries 16

The following example shows how to configure the active timeout for the flow monitor cache:

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

Router(config-flow-monitor)# cache timeout active 4800

The following example shows how to configure the inactive timer for the flow monitor cache:

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

Router(config-flow-monitor)# cache timeout inactive 3000

The following example shows how to configure the permanent cache update timeout:

Related Commands

clear flow exporter

To clear the statistics for a Flexible NetFlow flow exporter, use the clear flowexporter command in privileged EXEC mode.

clearflowexporter [[name]exporter-name]statistics

Syntax Description

name

(Optional) Specifies the name of a flow exporter.

exporter-name

(Optional) Name of a flow exporter that was previously configured.

statistics

Clears the flow exporter statistics.

Command Modes

Privileged EXEC (#)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Examples

The following example clears the statistics for all of the flow exporters configured on the router:

Router# clear flow exporter statistics

The following example clears the statistics for the flow exporter named FLOW-EXPORTER-1:

Router# clear flow exporter name FLOW-EXPORTER-1 statistics

Related Commands

Command

Description

debug flow exporter

Enables debugging output for flow exporters.

clear flow monitor

To clear a Flexible NetFlow flow monitor, flow monitor cache, or flow monitor statistics and to force the export of the data in the flow monitor cache, use the clear flow monitorcommand in privileged EXEC mode.

Command Modes

Command History

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

cache

This keyword removes all entries from the flow monitor cache. These entries will not be exported and the data gathered in the cache will be lost.

Note The statistics for the cleared cache entries are maintained.

force-export

This keyword removes all entries from the flow monitor cache and exports them via all flow exporters assigned to the flow monitor. This action can result in a short-term increase in CPU usage. Use with caution.

Note The statistics for the cleared cache entries are maintained.

statistics

This keyword clears the statistics for this flow monitor.

Note The "Current entries" statistic will not be cleared because this is an indicator of how many entries are in the cache and the cache is not cleared with this command.

Examples

The following example clears the statistics and cache entries for the flow monitor named FLOW-MONITOR-1:

Router# clear flow monitor name FLOW-MONITOR-1

The following example clears the statistics and cache entries for the flow monitor named FLOW-MONITOR-1 and forces an export:

Router# clear flow monitor name FLOW-MONITOR-1 force-export

The following example clears the cache for the flow monitor named FLOW-MONITOR-1 and forces an export:

Router# clear flow monitor name FLOW-MONITOR-1 cache force-export

The following example clears the statistics for the flow monitor named FLOW-MONITOR-1:

Router# clear flow monitor name FLOW-MONITOR-1 statistics

Related Commands

Command

Description

debug flow monitor

Enables debugging output for flow monitors.

clear sampler

To clear the statistics for a Flexible NetFlow flow sampler, use the clear sampler command in privileged EXEC mode.

clear sampler [name] sampler-name

Syntax Description

name

(Optional) Specifies the name of a flow sampler.

sampler-name

(Optional) Name of a flow sampler that was previously configured.

Command Modes

Privileged EXEC (#)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Examples

The following example clears the sampler statistics for all flow samplers configured on the router:

Router# clear sampler

The following example clears the sampler statistics for the flow sampler named SAMPLER-1:

Router# clear sampler name SAMPLER-1

Related Commands

Command

Description

debug sampler

Enables debugging output for flow samplers.

collect application name

To configure the use of the application name as a nonkey field for a Flexible NetFlow flow record, use the collect application name command in Flexible NetFlow flow record configuration mode. To disable the use of the application name as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect application name

no collect application name

Syntax Descriptionno match application name

This command has no arguments or keywords.

Command Default

The application name is not configured as a non-key field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

15.0(1)M

This command was introduced.

Examples

The following example configures the application name as a nonkey field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# collect application name

Related Commands

Command

Description

flow record

Creates a flow record.

match application name

Configures the use of application name as a key field for a Flexible NetFlow flow record.

collect connection

To configure various connection information fields as a nonkey field for a Flexible NetFlow flow record, use the collect connection command in Flexible NetFlow flow record configuration mode. To disable the use of the connection information fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect connection {initiator | new-translations | sum-duration}

no collectconnection {initiator | new-translations | sum-duration}

Syntax Description

initiator

Configures information about the direction of the flow as a nonkey field.

new-translations

Configures the number of TCP or UDP connections that were opened during an observation period as a nonkey field.

sum-duration

Configures the total time in seconds for all of the TCP or UDP connections that were in use during an observation period as a nonkey field.

Command Default

Connection information fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

Cisco IOS XE Release 3.4S

This command was introduced.

Usage Guidelines

To use this command, you must configure the match application name command for the flow record.

The initiator keyword provides the following information about the direction of the flow.

•0x00=undefined

•0x01=initiator—The flow source is initiator of the connection.

•0x02=reverseInitiator—The flow destination is the initiator of the connection.

For the new-translations and sum-duration keywords, the observation period can be specified by the start and end time stamps for the flow.

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example shows how to configure information about the direction of the flow as a nonkey field:

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

Router(config-flow-record)# collect connections initiator

Related Commands

Command

Description

flow record

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

collect counter

To configure the number of bytes or packets in a flow as a nonkey field for a Flexible NetFlow flow record, use the collect counter command in Flexible NetFlow flow record configuration mode. To disable the use of the number of bytes or packets in a flow (counters) as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the number of bytes seen in a flow as a nonkey field and enables collecting the total number of bytes from the flow.

long

(Optional) Enables collecting the total number of bytes or packets from the flow using a 64-bit counter rather than a 32-bit counter.

replicated

Total number of replicated (multicast) IPv4 packets.

squared long

(Optional) Enables collecting the total of the square of the number of bytes from the flow.

packets

Configures the number of packets seen in a flow as a nonkey field and enables collecting the total number of packets from the flow.

Command Default

The number of bytes or packets in a flow is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.4(22)T

The replicated keyword was added.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect counter bytes

This command configures a 32-bit counter for the number of bytes seen in a flow.

collect counter packets

This command configures a 32-bit counter that is incremented for each packet seen in the flow. For extremely long flows it is possible for this counter to restart at 0 (wrap) when it reaches the limit of approximately 4 billion packets. On detection of a situation that would cause this counter to restart at 0, a flow monitor with a normal cache type exports the flow and starts a new flow.

collect counter packets long

This command configures a 64-bit counter that will be incremented for each packet seen in the flow. It is unlikely that a 64-bit counter will ever restart at 0.

collect counter bytes squared long

This counter can be used in conjunction with the byte and packet counters in order to calculate the variance of the packet sizes. Its value is derived from squaring each of the packet sizes in the flow and adding the results. This value can be used as part of a standard variance function.

The variance and standard deviation of the packet sizes for the flow can be calculated with the following formulas:

cbs: value from the counter bytes squared field

pkts: value from the counter packets field

bytes: value from the counter bytes field

Variance = (cbs/pkts) - (bytes/pkts)2

Standard deviation = square root of Variance

Example 1:

Packet sizes of the flow: 100, 100, 100, 100

Counter packets: 4

Counter bytes: 400, mean packet size = 100

Counter bytes squared: 40,000

Variance = (40,000/4) - (400/4)2 = 0

Standard Deviation = 0

Size = 100 +/- 0

Example 2:

Packet sizes of the flow: 50, 150, 50, 150

Counter packets: 4

Counter bytes: 400, mean packet size = 100

Counter bytes squared: 50,000

Variance = (50,000/4) - (400/4)2 = 2500

Standard deviation = 50

Size = 100 +/- 50

Examples

The following example configures the total number of bytes in the flows as a nonkey field:

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

Router(config-flow-record)# collect counter bytes

The following example configures the total number of bytes in the flows as a nonkey field using a 64-bit counter:

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

Router(config-flow-record)# collect counter bytes long

The following example configures the sum of the number of bytes of each packet in the flow squared as a nonkey field:

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

Router(config-flow-record)# collect counter bytes squared long

The following example configures the total number of packets from the flows as a nonkey field:

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

Router(config-flow-record)# collect counter packets

The following example configures the total number of packets from the flows as a nonkey field using a 64-bit counter:

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

Router(config-flow-record)# collect counter packets long

Related Commands

Command

Description

flow record

Creates a flow record.

collect datalink dot1q vlan

To configure the 802.1Q (dot1q) VLAN ID as a non-key field for a Flexible NetFlow flow record, use the collect datalink dot1q vlan command in Flexible NetFlow flow record configuration mode. To disable the use of the 802.1Q VLAN ID value as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect datalink dot1q vlan {input | output}

no collect datalink dot1q vlan {input | output}

Syntax Description

input

Configures the VLAN ID of traffic being received by the router as a nonkey field.

output

Configures the VLAN ID of traffic being transmitted by the router as a nonkey field.

Command Default

The 802.1Q VLAN ID is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(22)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The input and output keywords of the collect datalink dot1q vlan command are used to specify the observation point that is used by the collect datalink dot1q vlan command to capture the 802.1q VLAN IDs from network traffic. For example, when you configure a flow record with the collect datalink dot1q vlaninput command to monitor the simulated denial of service (DoS) attack in Figure 1 and apply the flow monitor to which the flow record is assigned in either input (ingress) mode on interface Ethernet 0/0.1 on R3 or output (egress) mode on interface Ethernet 1/0.1 on R3, the observation point is always Ethernet 0/0.1 on R3. The 802.1q VLAN ID that is collected is 5.

Figure 1 Simulated DoS Attack (a)

The observation point of collect commands that do not have the input and/or output keywords is always the interface to which the flow monitor that contains the flow record with the collect commands is applied.

Examples

The following example configures the 802.1Q VLAN ID of traffic being received by the router as a nonkey field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# collect datalink dot1q vlan input

Related Commands

Command

Description

flow record

Creates a flow record.

collect datalink mac

To configure the use of MAC addresses as a nonkey field for a Flexible NetFlow flow record, use the collect datalink mac command in Flexible NetFlow flow record configuration mode. To disable the use of Layer 2 MAC addresses as a non-key field for a Flexible NetFlow flow record, use the no form of this command.

Command Modes

Command History

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The input and output keywords of the collect datalink mac command are used to specify the observation point that is used by the collect datalink mac command to capture the MAC addressees from network traffic. For example, when you configure a flow record with the collect datalink mac destination address input command to monitor the simulated denial of service (DoS) attack in Figure 2 and apply the flow monitor to which the flow record is assigned in either input (ingress) mode on interface Ethernet 0/0.1 on R3 or output (egress) mode on interface Ethernet 1/0.1 on R3, the observation point is always Ethernet 0/0.1 on R3. The destination MAC address that is collected is aaaa.bbbb.cc04.

Figure 2 Simulated DoS Attack (b)

When the destination output mac address is configured, the value is the destination mac address of the output packet, even if the monitor the flow record is applied to is input only.

When the destination input mac address is configured, the value is the destination mac address of the input packet, even if the monitor the flow record is applied to is output only.

When the source output mac address is configured, the value is the source mac address of the output packet, even if the monitor the flow record is applied to is input only.

When the source input mac address is configured, the value is the source mac address of the input packet, even if the monitor the flow record is applied to is output only.

Examples

The following example configures the use of the destination MAC address of packets that are received by the router as a nonkey field for a Flexible NetFlow flow record:

Related Commands

Command

Description

flow record

Creates a flow record.

collect flow

To configure the flow direction, the flow sampler ID number, or reason why the flow ended as a nonkey field for a flow record, use the collect flow command in flow record configuration mode. To disable the use of the flow direction and the flow sampler ID number as a nonkey field for a flow record, use the no form of this command.

Flexible Netflow

collectflow {direction | sampler | end-reason}

nocollectflow {direction | sampler | end-reason}

Cisco Performance Monitor in Cisco IOS Release 15.1(4)M1

collectflowdirection

nocollectflowdirection

Syntax Description

direction

Configures the flow direction as a nonkey field and enables the collection of the direction in which the flow was monitored.

sampler

Configures the flow sampler ID as a nonkey field and enables the collection of the ID of the sampler that is assigned to the flow monitor.

end-reason

Configures the reason why the flow ended and was exported as a nonkey field. Also enables the collection of the reason.

Command Default

The flow direction and the flow sampler ID number are not configured as nonkey fields.

Command Modes

Flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

This command was modified. Support for this command was added for Cisco 7200 series routers.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

15.1(4)M1

This command was integrated into Cisco IOS Release 15.1(4)M1 with only the direction keyword.

Cisco IOS XE Release 3.4S

This command was modified. The end-reason keyword was added.

Usage Guidelines

This command can be used with both Flexible NetFlow and Performance Monitor. These products use different commands to enter the configuration mode in which you issue this command, however the mode prompt is the same for both products. For Flexible NetFlow, the mode is also known as Flexible NetFlow flow record configuration mode. For Performance Monitor, the mode is also known as Performance Monitor flow record configuration mode. Here we refer to them both as flow record configuration mode.

The Flexible NetFlow and Performance Monitor collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect flow direction

This field indicates the direction of the flow. This is of most use when a single flow monitor is configured for input and output flows. It can be used to find and eliminate flows that are being monitored twice: once on input and once on output. This field may also be used to match up pairs of flows in the exported data when the two flows are flowing in opposite directions.

collect flow sampler

This field contains the ID of the flow sampler used to monitor the flow. This is useful when more than one flow sampler is being used with different sampling rates. The flow exporter option sampler-table command exports options records with mappings of the flow sampler ID to sampling rate so the collector can calculate the scaled counters for each flow.

collect flow end-reason

This field contains information about the reason why the flow ended and was exported. This information can be useful when troubleshooting issues with flows ending unexpectedly. The values for this field are:

•0x00—Not determined. The reason for the termination of the flow could not be determined.

•0x01—Idle timeout. The flow was terminated because it was considered to be idle.

•0x02—Active timeout. The flow was terminated for reporting purposes while it was still active. For example, the flow was terminated after the maximum lifetime of unreported flows was reached.

•0x03—End of flow detected. The flow was terminated because the Metering Process detected signals indicating the end of the flow. For example, the TCP FIN flag was detected.

•0x04—Forced end. The flow was terminated because of some external event. For example, a shutdown of the Metering Process was initiated by a network management application.

•0x05—Lack of resources. The flow was terminated because of a lack of resources available to the Metering Process and/or the Exporting Process.

You must first enter the flow record type performance-monitor command.

Examples

The following example shows how to configure the ID of the flow sampler that is assigned to the flow as a nonkey field:

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

Router(config-flow-record)# collect flow sampler

Cisco Performance Monitor in Cisco IOS Release 15.1(4)M1

The following example shows how to configure the direction in which the flow was monitored as a nonkey field:

Router(config)# flow record type performance-monitor FLOW-RECORD-1

Router(config-flow-record)# collect flow direction

Related Commands

Command

Description

flow exporter

Creates a flow exporter

flow record

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

flow record type performance-monitor

Creates a flow record for Performance Monitor, and enters Performance Monitor flow record configuration mode.

collect interface

To configure the input and output interface as a nonkey field for a flow record, use the collect interfacecommand in flow record configuration mode. To disable the use of the input and output interface as a nonkey field for a flow record, use the no form of this command.

collectinterface {input | output}

nocollectinterface {input | output}

Cisco Catalyst 6500 Switches in Cisco IOS Release 12.2(50)SY

collectinterface {input [physical]| output} [snmp]

nocollectinterface {input [physical]| output} [snmp]

Syntax Description

input

Configures the input interface as a nonkey field and enables collecting the input interface from the flows.

output

Configures the output interface as a nonkey field and enables collecting the output interface from the flows.

Command Default

The input and output interface is not configured as a nonkey field.

Command Modes

flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

This command was integrated into Cisco IOS Release 12.2(33)SRC and implemented on the Cisco 7200 series routers.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

15.1(3)T

This command was integrated into Cisco IOS Release 15.1(3)T for Cisco Performance Monitor.

12.2(58)SE

This command was integrated into Cisco IOS Release 12.2(58)SE for Cisco Performance Monitor.

12.2(50)SY

This command was modified. The physical and snmp keywords were added in Cisco IOS Release 12.2(50)SY.

Usage Guidelines

This command can be used with both Flexible NetFlow and Performance Monitor. These products use different commands to enter the configuration mode in which you issue this command, however the mode prompt is the same for both products. For Flexible NetFlow, the mode is also known as Flexible NetFlow flow record configuration mode. For Performance Monitor, the mode is also known as Performance Monitor flow record configuration mode. Here we refer to them both as flow record configuration mode.

The Flexible NetFlow and Performance Monitor collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

The following example configures the input interface as a nonkey field:

Router(config)# flow record type performance-monitor RECORD-1

Router(config-flow-record)# collect interface input

Related Commands

Command

Description

flow record

Creates a flow record for Flexible NetFlow.

flow record type performance-monitor

Creates a flow record for Performance Monitor.

collect ipv4

To configure one or more of the IPv4 fields as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the IPv4 fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the differentiated services code point (DCSP) field as a nonkey field and enables collecting the value in the IPv4 DSCP type of service (ToS) fields from the flows.

header-length

Configures the IPv4 header length flag as a nonkey field and enables collecting the value in the IPv4 header length (in 32-bit words) field from the flows.

id

Configures the IPv4 ID flag as a nonkey field and enables collecting the value in the IPv4 ID field from the flows.

option map

Configures the IPv4 options flag as a nonkey field and enables collecting the value in the bitmap representing which IPv4 options have been seen in the options field from the flows.

precedence

Configures the IPv4 precedence flag as a nonkey field and enables collecting the value in the IPv4 precedence (part of ToS) field from the flows.

protocol

Configures the IPv4 payload protocol field as a nonkey field and enables collecting the IPv4 value of the payload protocol field for the payload in the flows

tos

Configures the ToS field as a nonkey field and enables collecting the value in the IPv4 ToS field from the flows.

version

Configures the version field as a nonkey field and enables collecting the value in the IPv4 version field from the flows.

Command Default

The IPv4 fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Note Some of the keywords of the collect ipv4 command are documented as separate commands. All of the keywords for the collect ipv4 command that are documented separately start with collect ipv4. For example, for information about configuring the IPv4 time-to-live (TTL) field as a nonkey field and collecting its value for a Flexible NetFlow flow record, refer to the collect ipv4 ttl command.

Examples

The following example configures the DSCP field as a nonkey field:

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

Router(config-flow-record)# collect ipv4 dscp

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 destination

To configure the IPv4 destination address as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 destination command in Flexible NetFlow flow record configuration mode. To disable the use of an IPv4 destination address field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the IPv4 destination address as a nonkey field and enables collecting the value of the IPv4 destination address from the flows.

mask

Configures the IPv4 destination address mask as a nonkey field and enables collecting the value of the IPv4 destination address mask from the flows.

prefix

Configures the prefix for the IPv4 destination address as a nonkey field and enables collecting the value of the IPv4 destination address prefix from the flows.

minimum-mask mask

(Optional) Specifies the size, in bits, of the minimum mask. Range: 1 to 32.

Command Default

The IPv4 destination address is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the IPv4 destination address prefix from the flows that have a prefix of 16 bits as a nonkey field:

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 fragmentation

To configure the IPv4 fragmentation flags and the IPv4 fragmentation offset as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 fragmentation command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv4 fragmentation flags and the IPv4 fragmentation offset as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv4fragmentation {flags | offset}

nocollectipv4fragmentation {flags | offset}

Syntax Description

flags

Configures the IPv4 fragmentation flags as a nonkey field and enables collecting the value in the IPv4 fragmentation flag fields from the flows.

offset

Configures the IPv4 fragmentation offset value as a nonkey field and enables collecting the value in the IPv4 fragmentation offset field from the flows.

Command Default

The IPv4 fragmentation flags and the IPv4 fragmentation offset are not configured as nonkey fields.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the IPv4 fragmentation flags as a nonkey field:

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

Router(config-flow-record)# collect ipv4 fragmentation flags

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 section

To configure a section of an IPv4 packet as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 section command in Flexible NetFlow flow record configuration mode. To disable the use of a section of an IPv4 packet as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the number of bytes of raw data starting at the IPv4 header to use as a nonkey field, and enables collecting the value in the raw data from the flows. Range: 1 to 1200.

payload size payload-size

Configures the number of bytes of raw data starting at the IPv4 payload to use as a nonkey field, and enables collecting the value in the raw data from the flows. Range: 1 to 1200.

Command Default

A section of an IPv4 packet is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

It is recommended that you configure both header size and payload size so that you know how much data is going to be captured.

collect ipv4 section header

This command causes the first IPv4 header to be copied into the flow record for this flow. Only the configured size in bytes will be copied and part of the payload will also be captured if the configured size is larger than the size of the header.

Note This command can result in large records which use a lot of router memory and export bandwidth.

collect ipv4 section payload

This command results in a copy of the first IPv4 payload being put into the flow record for this flow. Only the configured size in bytes will be copied and may end in a series of 0's if the configured size is greater than the size of the payload.

Note This command can result in large records which use a lot of router memory and export bandwidth.

Examples

The following example configures the first eight bytes from the IP header of the packets in the flows as a non-key field:

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

Router(config-flow-record)# collect ipv4 section header size 8

The following example configures the first 16 bytes from the payload of the packets in the flows as a non-key field:

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

Router(config-flow-record)# collect ipv4 section payload size 16

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 source

To configure the IPv4 source address as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 source command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv4 source address field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv4source {address | {mask | prefix} [minimum-maskmask]}

nocollectipv4source {address | {mask | prefix} [minimum-maskmask]}

Syntax Description

address

Configures the IPv4 source address as a nonkey field and enables collecting the value of the IPv4 source address from the flows.

mask

Configures the IPv4 source address mask as a nonkey field and enables collecting the value of the IPv4 source address mask from the flows.

prefix

Configures the prefix for the IPv4 source address as a nonkey field and enables collecting the value of the IPv4 source address prefix from the flows.

minimum-mask mask

(Optional) Specifies the size, in bits, of the minimum mask. Range: 1 to 32.

Command Default

The IPv4 source address is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

This command was implemented on the Cisco 7200 series routers.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect ipv4 source prefix minimum-mask

The source address prefix is the network part of an IPv4 source address. The optional minimum mask allows more information to be gathered about large networks.

collect ipv4 source mask minimum-mask

The source address mask is the number of bits that make up the network part of the source address. The optional minimum mask allows a minimum value to be configured. This command is useful when there is a minimum mask configured for the source prefix field and the mask is to be used with the prefix. In this case, the values configured for the minimum mask should be the same for the prefix and mask fields.

Alternatively, if the collector is aware of the minimum mask configuration of the prefix field, the mask field can be configured without a minimum mask so that the true mask and prefix can be calculated.

Examples

The following example configures the IPv4 source address prefix from the flows that have a prefix of 16 bits as a nonkey field:

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 total-length

To configure the IPv4 total-length field as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 total-length command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv4 total-length field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv4total-length [maximum | minimum]

nocollectipv4total-length [maximum | minimum]

Syntax Description

maximum

(Optional) Configures the maximum value of the total length field as a nonkey field and enables collecting the maximum value of the total length field from the flows.

minimum

(Optional) Configures the minimum value of the total length field as a nonkey field and enables collecting the minimum value of the total length field from the flows.

Command Default

The IPv4 total-length field is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect ipv4 total-length [minimum | maximum]

This command is used to collect the lowest and highest IPv4 total length values seen in the lifetime of the flow. Configuring this command results in more processing than is needed to simply collect the first total length value seen using the collect ipv4 total-length command.

Examples

The following example configures total-length value as a nonkey field:

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

Router(config-flow-record)# collect ipv4 total-length

The following example configures minimum total-length value seen in the flows as a nonkey field:

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

Router(config-flow-record)# collect ipv4 total-length minimum

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv4 ttl

To configure the IPv4 time-to-live (TTL) field as a nonkey field for a Flexible NetFlow flow record, use the collect ipv4 ttl command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv4 TTL field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv4ttl [maximum | minimum]

nocollectipv4ttl [maximum | minimum]

Syntax Description

maximum

(Optional) Configures the maximum value of the TTL field as a nonkey field and enables collecting the maximum value of the TTL field from the flows.

minimum

(Optional) Configures the minimum value of the TTL field as a nonkey field and enables collecting the minimum value of the TTL field from the flows.

Command Default

The IPv4 time-to-live (TTL) field is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect ipv4 ttl [minimum | maximum]

This command is used to collect the lowest and highest IPv4 TTL values seen in the lifetime of the flow. Configuring this command results in more processing than is needed to simply collect the first TTL value seen using the collect ipv4 ttl command.

Examples

The following example configures the largest value for IPv4 TTL seen in the flows as a nonkey field:

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

Router(config-flow-record)# collect ipv4 ttl maximum

The following example configures the smallest value for IPv4 TTL seen in the flows as a nonkey field

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

Router(config-flow-record)# collect ipv4 ttl minimum

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6

To configure one or more of the IPv6 fields as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the IPv6 fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the differentiated services code point (DCSP) field as a nonkey field and enables collecting the value in the IPv6 DSCP type of service (ToS) fields from the flows.

flow-label

Configures the IPv6 flow label as a nonkey field and enables collecting the value in the IPv6 flow label from the flows.

next-header

Configures the next-header field as a nonkey field and enables collecting the value of the next-header field in the IPv6 header from the flows.

payload-length

Configures the length of the IPv6 payload as a nonkey field and enables collecting the number of bytes used for the payload in the flows.

precedence

Configures the IPv6 precedence flag as a nonkey field and enables collecting the value in the IPv6 precedence (part of ToS) field from the flows.

protocol

Configures the IPv6 payload protocol field as a nonkey field and enables collecting the IPv6 value of the payload protocol field for the payload in the flows.

traffic-class

Configures the IPv6 traffic-class field as a nonkey field and enables collecting the value in the IPv6 protocol field from the flows.

version

Configures the IPv6 version field as a nonkey field and enables collecting the value in the IPv6 version field from the flows.

Command Default

The IPv6 fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Note Some of the keywords for the collect ipv6 command are documented as separate commands. All of the keywords for the collect ipv6 command that are documented separately start with collect ipv6. For example, for information about configuring the IPv6 hop limit field as a nonkey field and collecting its value for a Flexible NetFlow flow record, refer to the collect ipv6 hop-limit command.

Examples

The following example configures the IPv6 DSCP field as a nonkey field:

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

Router(config-flow-record)# collect ipv6 dscp

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 destination

To configure the IPv6 destination address as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 destination command in Flexible NetFlow flow record configuration mode. To disable the use of an IPv6 destination address field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the IPv6 destination address as a nonkey field and enables collecting the value of the IPv6 destination address from the flows.

mask

Configures the IPv6 destination address mask as a nonkey field and enables collecting the value of the IPv6 destination address mask from the flows.

prefix

Configures the prefix for the IPv6 destination address as a nonkey field and enables collecting the value of the IPv6 destination address prefix from the flows.

minimum-mask mask

(Optional) Specifies the size, in bits, of the minimum mask. Range: 1 to 128.

Command Default

TheIPv6 destination address is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the IPv6 destination address prefix from the flows that have a prefix of 16 bits as a nonkey field:

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 extension map

To configure the bitmap of the IPv6 extension header map as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 extensionmap command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv6 bitmap of IPv6 extension header map as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect ipv6 extension map

no collect ipv6 extension map

Syntax Description

This command has no arguments or keywords.

Command Default

The use of the bitmap of the IPv6 extension header map is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the bitmap of IPv6 extension header map as a nonkey field:

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

Router(config-flow-record)# collect ipv6 extension map

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 fragmentation

To configure one or more of the IPv6 fragmentation fields as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 fragmentation command in Flexible NetFlow flow record configuration mode. To disable the use one or more of the IPv6 fragmentation fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv6fragmentation {flags | id | offset}

nocollectipv6fragmentation {flags | id | offset}

Syntax Description

flags

Configures the IPv6 fragmentation flags as a non-key field and enables collecting the value in the IPv6 fragmentation flag fields from the flows.

id

Configures the IPv6 fragmentation ID as a non-key field and enables collecting the value in the IPv6 fragmentation id fields from the flows

offset

Configures the IPv6 fragmentation offset as a non-key field and enables collecting the value in the IPv6 fragmentation offset field from the flows.

Command Default

The use of one or more of the IPv6 fragmentation fields is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the IPv6 fragmentation flags field as a nonkey field:

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

Router(config-flow-record)# collect ipv6 fragmentation flags

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 hop-limit

To configure the IPv6 hop limit as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 hop-limit command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv6 hop limit field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect ipv6 hop-limit [maximum] [minimum]

no collect ipv6 hop-limit [maximum] [minimum]

Syntax Description

maximum

(Optional) Configures the IPv6 maximum hop limit as a nonkey field and enables collecting the value of the IPv6 maximum hop limit from the flows.

minimum

(Optional) Configures the IPv6 minimum hop limit as a nonkey field and enables collecting the value of the IPv6 minimum hop limit from the flows.

Command Default

The IPv6 hop limit is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

collect ipv6 hop-limit [minimum | maximum]

This command is used to collect the lowest and highest IPv6 hop limit values seen in the lifetime of the flow. Configuring this command results in more processing than is needed to simply collect the first hop limit value seen using the collect ipv6 hop-limit command.

Examples

The following example configures the IPv6 maximum hop limit from the flows as a nonkey field:

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

Router(config-flow-record)# collect ipv6 hop-limit maximum

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 length

To configure one or more of the IPv6 length fields as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 length command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the IPv6 length fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect ipv6 length {header | payload | total [maximum] [minimum]}

no collect ipv6 length {header | payload | total [maximum] [minimum]}

Syntax Description

header

Configures the length in bytes of the IPv6 header, not including any extension headers, as a nonkey field and collects the value of it for a Flexible NetFlow flow record.

payload

Configures the length in bytes of the IPv6 payload, including any extension headers, as a nonkey field and collects the value of it for a Flexible NetFlow flow record.

total

Configures the total length in bytes of the IPv6 header and payload as a nonkey field and collects the value of it for a Flexible NetFlow flow record.

maximum

(Optional) Configures the maximum total length in bytes of the IPv6 header and payload as a nonkey field and collects the value of it for a Flexible NetFlow flow record.

minimum

(Optional) Configures the minimum total length in bytes of the IPv6 header and payload as a nonkey field and collects the value of it for a Flexible NetFlow flow record.

Command Default

The IPv6 length fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

collect ipv6 length [minimum | maximum]

This command is used to collect the lowest and highest IPv6 length values seen in the lifetime of the flow. Configuring this command results in more processing than is needed to simply collect the length value seen using the collect ipv6 length command.

Examples

The following example configures the length of the IPv6 header, not including any extension headers, in bytes as a nonkey field:

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

Router(config-flow-record)# collect ipv6 length header

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 section

To configure a section of an IPv6 packet as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 section command in Flexible NetFlow flow record configuration mode. To disable the use of a section of an IPv6 packet as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the number of bytes of raw data, starting at the IPv6 header, to use as a nonkey field, and enables collecting the value in the raw data from the flows. Range: 1 to 1200.

payload size payload-size

Configures the number of bytes of raw data, starting at the IPv6 payload, to use as a nonkey field, and enables collecting the value in the raw data from the flows. Range: 1 to 1200.

Command Default

A section of an IPv6 packet is not configured as a non-key field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

It is recommended that you configure both header size and payload size so that you know how much data is going to be captured.

Note The IPv6 payload data is captured only if the first packet in the flow is an IPv6 packet. If the first packet in the flow is not an IPv6 packet, information from other packets in the flow such as packet and byte counters, is still captured.

collect ipv6 section header

This command causes a copy of the first IPv6 header to be put into the flow record for this flow. Only the configured size in bytes will be copied, and part of the payload will also be captured if the configured size is larger than the size of the header.

Note Configuring this command can result in large records that use a lot of router memory and export bandwidth.

collect ipv6 section payload

This command causes a copy of the first IPv6 payload to be put into the flow record for this flow. Only the configured size in bytes will be copied, and it may end in a series of zeros if the configured size is smaller than the size of the payload.

Note Configuring this command can result in large records that use a lot of router memory and export bandwidth.

Examples

The following example configures the first eight bytes from the IPv6 header of the packets in the flows as a nonkey field:

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

Router(config-flow-record)# collect ipv6 section header size 8

The following example configures the first 16 bytes from the payload of the IPv6 packets in the flows as a nonkey field:

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

Router(config-flow-record)# collect ipv6 section payload size 16

Related Commands

Command

Description

flow record

Creates a flow record.

collect ipv6 source

To configure the IPv6 source address as a nonkey field for a Flexible NetFlow flow record, use the collect ipv6 source command in Flexible NetFlow flow record configuration mode. To disable the use of the IPv6 source address field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collectipv6source {address | {mask | prefix} [minimum-maskmask]}

nocollectipv6source {address | {mask | prefix} [minimum-maskmask]}

Syntax Description

address

Configures the IPv6 source address as a nonkey field and enables collecting the value of the IPv6 source address from the flows.

mask

Configures the IPv6 source address mask as a nonkey field and enables collecting the value of the IPv6 source address mask from the flows.

prefix

Configures the prefix for the IPv6 source address as a nonkey field and enables collecting the value of the IPv6 source address prefix from the flows.

minimum-mask mask

(Optional) Specifies the size, in bits, of the minimum mask. Range: 1 to 128.

Command Default

The IPv6 source address is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect IPv6 source prefix minimum mask

The source address prefix field is the network part of the source address. The optional minimum mask allows more information to be gathered about large networks.

collect IPv6 source mask minimum mask

The source address mask is the number of bits that make up the network part of the source address. The optional minimum mask allows a minimum value to be configured. This command is useful when there is a minimum mask configured for the source prefix field and the mask is to be used with the prefix. In this case, the values configured for the minimum mask should be the same for the prefix and mask fields.

Alternatively, if the collector is aware of the minimum mask configuration of the prefix field, the mask field can be configured without a minimum mask so that the true mask and prefix can be calculated.

Examples

The following example configures the IPv6 source address prefix from the flows that have a prefix of 16 bits as a nonkey field:

Related Commands

Command

Description

flow record

Creates a flow record.

collect routing

To configure one or more of the routing attributes as a nonkey field for a Flexible NetFlow flow record, use the collect routingcommand in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the routing attributes as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures one or more of the destination routing attributes fields as a nonkey field and enables collecting the values from the flows.

source

Configures one or more of the source routing attributes fields as a nonkey field and enables collecting the values from the flows.

as

Configures the autonomous system field as a nonkey field and enables collecting the value in the autonomous system field from the flows.

4-octet

(Optional) Configures the 32-bit autonomous system number as a key field.

peer

(Optional) Configures the autonomous system number of the peer network as a nonkey field and enables collecting the value of the autonomous system number of the peer network from the flows.

traffic-index

Configures the Border Gateway Protocol (BGP) source or destination traffic index as a nonkey field and enables collecting the value of the BGP destination traffic index from the flows.

forwarding-status

Configures the forwarding status as a nonkey field and enables collecting the value of the forwarding status of the packet from the flows.

next-hop address

Configures the next-hop address value as a nonkey field and enables collecting information regarding the next hop from the flows. The type of address (IPv4 or IPv6) is determined by the next keyword entered.

ipv4

Specifies that the next-hop address value is an IPv4 address.

ipv6

Specifies that the next-hop address value is an IPv6 address.

bgp

(Optional) Configures the IP address of the next hop BGP network as a nonkey field and enables collecting the value of the IP address of the BGP next hop network from the flows.

vrf input

Configures the Virtual Routing and Forwarding (VRF) ID for incoming packets as a key field.

Command Default

The routing attributes are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.4(20)T

The ipv6 keyword was added in Cisco IOS Release 12.4(20)T.

15.0(1)M

This command was modified. The vrf input keywords were added in Cisco IOS Release 15.0(1)M.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS Release XE 3.2S

This command was modified. The 4-octet keyword was added.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect routing source as [peer]

This command collects the 16-bit autonomous system number based on a lookup of the router's routing table using the source IP address. The optional peer keyword provides the expected next network, as opposed to the originating network.

collect routing source as 4-octet [peer 4-octet]

This command collects the 32-bit autonomous system number based on a lookup of the router's routing table using the source IP address. The optional peer keyword provides the expected next network, as opposed to the originating network.

collect routing destination as [peer]

This command collects the 16-bit autonomous system number based on a lookup of the router's routing table using the destination IP address. The optional peer keyword provides the expected next network as opposed to the destination network.

collect routing destination as 4-octet [peer 4-octet]

This command collects the 32-bit autonomous system number based on a lookup of the router's routing table using the destination IP address. The peer keyword will provide the expected next network as opposed to the destination network.

collect routing destination traffic-index

This command collects the traffic-index field based on the destination autonomous system for this flow. The traffic-index field is a value propagated through BGP.

This command is not supported for IPv6.

collect routing source traffic-index

This command collects the traffic-index field based on the source autonomous system for this flow. The traffic-index field is a value propagated through BGP.

This command is not supported for IPv6.

collect routing forwarding-status

This command collects a field to indicate if the packets were successfully forwarded. The field is in two parts and may be up to 4 bytes in length. For the releases specified in the Command History table, only the status field is used:

+-+-+-+-+-+-+-+-+

| S | Reason |

| t | codes |

| a | or |

| t | flags |

| u | |

| s | |

+-+-+-+-+-+-+-+-+

0 1 2 3 4 5 6 7

Status:

00b=Unknown, 01b = Forwarded, 10b = Dropped, 11b = Consumed

collect routing vrf input

This command collects the VRF ID from incoming packets on a router. In the case where VRFs are associated with an interface via methods such as VRF Selection Using Policy Based Routing/Source IP Address, a VRF ID of 0 will be recorded. If a packet arrives on an interface that does not belong to a VRF, a VRF ID of 0 is recorded.

Examples

The following example configures the 16-bit autonomous system number based on a lookup of the router's routing table using the source IP address as a nonkey field:

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

Router(config-flow-record)# collect routing source as

The following example configures the 16-bit autonomous system number based on a lookup of the router's routing table using the destination IP address as a nonkey field:

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

Router(config-flow-record)# collect routing destination as

The following example configures the value in the traffic-index field based on the source autonomous system for a flow as a nonkey field:

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

Router(config-flow-record)# collect routing source traffic-index

The following example configures the forwarding status as a nonkey field:

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

Router(config-flow-record)# collect routing forwarding-status

The following example configures the VRF ID for incoming packets as a nonkey field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# collect routing vrf input

Related Commands

collect routing is-multicast

To configure the use of the is-multicast field (indicating that the IPv4 traffic is multicast traffic) as a nonkey field, use the collect routing is-multicast command in Flexible NetFlow flow record configuration mode. To disable the use of the is-multicast field as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect routing is-multicast

no collect routing is-multicast

Syntax Description

This command has no arguments or keywords

Command Default

The is-multicast field is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(22)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Examples

The following example configures the is-multicast field as a nonkey field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# collect routing is-multicast

Related Commands

Command

Description

flow record

Creates a flow record.

collect routing multicast replication-factor

To configure the multicast replication factor value for IPv4 traffic as a nonkey field for a Flexible NetFlow flow record, use the collect routing multicast replication-factor command in Flexible NetFlow flow record configuration mode. To disable the use of the multicast replication factor value as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collect routing multicast replication-factor

no collect routing multicast replication-factor

Syntax Description

This command has no arguments or keywords.

Command Default

The multicast replication factor value is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(22)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

When the replication-factor field is used in a flow record, it will only have a non-zero value in the cache for ingress multicast traffic that is forwarded by the router. If the flow record is used with a flow monitor in output (egress) mode or to monitor unicast traffic or both, the cache data for the replication factor field is set to 0.

Examples

The following example configures the multicast replication factor value as a nonkey field for a Flexible NetFlow flow record:

Related Commands

Command

Description

flow record

Creates a flow record.

collect timestamp sys-uptime

To configure the system uptime of the first seen or last seen packet in a flow as a nonkey field for a Flexible NetFlow flow record, use the collect timestamp sys-uptime command in Flexible NetFlow flow record configuration mode. To disable the use of the first seen or last seen packet in a flow as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collecttimestampsys-uptime {first | last}

nocollecttimestampsys-uptime {first | last}

Syntax Description

first

Configures the system uptime for the time the first packet was seen from the flows as a nonkey field and enables collecting time stamps based on the system uptime for the time the first packet was seen from the flows.

last

Configures the system uptime for the time the last packet was seen from the flows as a nonkey field and enables collecting time stamps based on the system uptime for the time the most recent packet was seen from the flows.

Command Default

The system uptime field is not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures time stamps based on the system uptime for the time the first packet was seen from the flows as a nonkey field:

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

Router(config-flow-record)# collect timestamp sys-uptime first

The following example configures time stamps based on the system uptime for the time the most recent packet was seen from the flows as a nonkey field:

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

Router(config-flow-record)# collect timestamp sys-uptime last

Related Commands

Command

Description

flow record

Creates a flow record.

collect transport

To configure one or more of the transport layer fields as a nonkey field for a Flexible NetFlow flow record, use the collect transport command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the transport layer fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

collecttransport {destination-port | igmp type | source-port}

nocollecttransport {destination-port | igmp type | source-port}

Syntax Description

destination-port

Configures the destination port as a nonkey field and enables collecting the value of the destination port from the flows.

igmp type

Configures the Internet Group Management Protocol (IGMP) type as a nonkey field and enables collecting the value of the IGMP type from the flows.

source-port

Configures the source port as a nonkey field and enables collecting the value of the source port from the flows.

Command Default

The transport layer fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the transport destination port as a nonkey field:

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

Router(config-flow-record)# collect transport destination-port

The following example configures the transport source port as a nonkey field:

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

Router(config-flow-record)# collect transport source-port

Related Commands

Command

Description

flow record

Creates a flow record.

collect transport icmp ipv4

To configure the internet control message protocol (ICMP) IPv4 type field and the code field as nonkey fields for a Flexible NetFlow flow record, use the collect transport icmp ipv4 command in Flexible NetFlow flow record configuration mode. To disable the use of the ICMP IPv4 type field and code field as nonkey fields for a Flexible NetFlow flow record, use the no form of this command.

collecttransporticmp ipv4 {code | type}

nocollecttransporticmp ipv4 {code | type}

Syntax Description

code

Configures the ICMP code as a nonkey field and enables collecting the value of the ICMP code from the flow.

type

Configures the ICMP type as a nonkey field and enables collecting the value of the ICMP type from the flow.

Command Default

The ICMP IPv4 type field and the code field are not configured as nonkey fields.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the ICMP IPv4 code field as a nonkey field:

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

Router(config-flow-record)# collect transport icmp ipv4 code

The following example configures the ICMP IPv4 type field as a nonkey field:

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

Router(config-flow-record)# collect transport icmp ipv4 type

Related Commands

Command

Description

flow record

Creates a flow record.

collect transport icmp ipv6

To configure the Internet Control Message Protocol (ICMP) IPv6 type field and code field as nonkey fields for a Flexible NetFlow flow record, use the collect transport icmp ipv6 command in Flexible NetFlow flow record configuration mode. To disable the use of the ICMP IPv6 type field and code field as nonkey fields for a Flexible NetFlow flow record, use the no form of this command.

collecttransporticmpipv6 {code | type}

nocollecttransporticmpipv6 {code | type}

Syntax Description

code

Configures the ICMP code as a nonkey field and enables collecting the value of the ICMP code from the flow.

type

Configures the ICMP type as a nonkey field and enables collecting the value of the ICMP type from the flow.

Command Default

The ICMP IPv6 type field and code field are not configured as nonkey fields.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(20)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the ICMP IPv6 code field as a nonkey field:

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

Router(config-flow-record)# collect transport icmp ipv6 code

The following example configures the ICMP IPv6 type field as a nonkey field:

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

Router(config-flow-record)# collect transport icmp ipv6 type

Related Commands

Command

Description

flow record

Creates a flow record.

collect transport tcp

To configure one or more of the TCP fields as a nonkey field for a Flexible NetFlow flow record, use the collect transport tcp command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the TCP fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Configures the TCP header length (in 32-bit words) as a nonkey field and enables collecting the value of the TCP header length from the flow.

sequence-number

Configures the TCP sequence number as a nonkey field and enables collecting the value of the TCP sequence number from the flow.

source-port

Configures the TCP source port as a nonkey field and enables collecting the value of the TCP source port from the flow.

urgent-pointer

Configures the TCP urgent pointer as a nonkey field and enables collecting the value of the TCP urgent pointer from the flow.

window-size

Configures the TCP window size as a nonkey field and enables collecting the value of the TCP window size from the flow.

Command Default

The TCP fields are not configured as a nonkey field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

collect transport tcp flags ece

For more information about ECN echo, refer to RFC 3168 The Addition of Explicit Congestion Notification (ECN) to IP, at the following URL: http://www.rfc.net/rfc3168.html.

Examples

The following example configures the TCP acknowledgement number as a nonkey field:

The following example configures the TCP source port as a nonkey field:

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

Router(config-flow-record)# collect transport tcp source-port

The following example configures the TCP acknowledgement flag as a nonkey field:

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

Router(config-flow-record)# collect transport tcp flags ack

The following example configures the TCP finish flag as a nonkey field:

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

Router(config-flow-record)# collect transport tcp flags fin

The following example configures the TCP reset flag as a nonkey field:

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

Router(config-flow-record)# collect transport tcp flags rst

Related Commands

Command

Description

flow record

Creates a flow record.

collect transport udp

To configure one or more of the user datagram protocol UDP fields as a nonkey field for a Flexible NetFlow flow record, use the collect transport udp command in Flexible NetFlow flow record configuration mode. To disable the use of one or more of the UDP fields as a nonkey field for a Flexible NetFlow flow record, use the no form of this command.

Syntax Description

Configures the UDP destination port as a nonkey field and enables collecting the value of the UDP destination port fields from the flow.

message-length

Configures the UDP message length as a nonkey field and enables collecting the value of the UDP message length fields from the flow.

source-port

Configures the UDP source port as a nonkey field and enables collecting the value of the UDP source port fields from the flow.

Command Default

The UDP fields are not configured as nonkey fields.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The Flexible NetFlow collect commands are used to configure nonkey fields for the flow monitor record and to enable capturing the values in the fields for the flow created with the record. The values in nonkey fields are added to flows to provide additional information about the traffic in the flows. A change in the value of a nonkey field does not create a new flow. In most cases the values for nonkey fields are taken from only the first packet in the flow.

Examples

The following example configures the UDP destination port as a nonkey field:

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

Router(config-flow-record)# collect transport udp destination-port

The following example configures the UDP message length as a nonkey field:

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

Router(config-flow-record)# collect transport udp message-length

The following example configures the UDP source port as a non-key field:

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

Router(config-flow-record)# collect transport udp source-port

Related Commands

Command

Description

flow record

Creates a flow record.

debug flow exporter

To enable debugging output for Flexible NetFlow flow exporters, use the debug flow exporter command in privileged EXEC mode. To disable debugging output, use the no form of this command.

This command was implemented on the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

Use the default command to configure the default values for an FNF flow exporter. The flow exporter information is needed to export the data metrics to a specified destination, port number, and so on.

Examples

The following example shows how to set the default destination for an FNF flow exporter:

Router(config)# flow exporter e1

Router(config-flow-exporter)# default destination

Related Commandss

Command

Description

flow exporter

Creates a flow exporter.

description (Flexible NetFlow)

To configure a description for a Flexible NetFlow flow sampler, flow monitor, flow exporter, or flow record, use the description command in the appropriate configuration mode. To remove a description, use the no form of this command.

Examples

Related Commands

Command

Description

flow exporter

Creates a flow exporter.

flow monitor

Creates a flow monitor.

flow record

Creates a flow record.

sampler

Creates a flow sampler.

destination

To configure an export destination for a Flexible NetFlow flow exporter, use the destination command in Flexible NetFlow flow exporter configuration mode. To remove an export destination for a Flexible NetFlow flow exporter, use the no form of this command.

destination {{ip-address | hostname} | vrfvrf-name}

no destination

Syntax Description

ip-address

IP address of the workstation to which you want to send the NetFlow information.

hostname

Hostname of the device to which you want to send the NetFlow information.

vrf vrf-name

Specifies that the export data packets are to be sent to the named Virtual Private Network (VPN) routing and forwarding (VRF) instance for routing to the destination, instead of to the global routing table.

Command Default

An export destination is not configured.

Command Modes

Flexible NetFlow flow exporter configuration (config-flow-exporter)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Usage Guidelines

Each flow exporter can have only one destination address or hostname.

When you configure a hostname instead of the IP address for the device, the hostname is resolved immediately and the IP address is stored in the running configuration. If the hostname-to-IP-address mapping that was used for the original domain name system (DNS) name resolution changes dynamically on the DNS server, the router does not detect this, and the exported data continues to be sent to the original IP address, resulting in a loss of data. Resolving the hostname immediately is a prerequisite of the export protocol, to ensure that the templates and options arrive before the data

Examples

The following example shows how to configure the networking device to export the Flexible NetFlow cache entry to a destination system:

Router(config)# flow exporter FLOW-EXPORTER-1

Router(config-flow-exporter)# destination 10.0.0.4

The following example shows how to configure the networking device to export the Flexible NetFlow cache entry to a destination system using a VRF named VRF-1:

Router(config)# flow exporter FLOW-EXPORTER-1

Router(config-flow-exporter)# destination 172.16.10.2 vrf VRF-1

Related Commands

Command

Description

flow exporter

Creates a flow exporter.

dscp (Flexible NetFlow)

To configure a differentiated services code point (DSCP) value for Flexible NetFlow flow exporter datagrams, use the dscp command in Flexible NetFlow flow exporter configuration mode. To remove a DSCP value for Flexible NetFlow flow exporter datagrams, use the no form of this command.

dscpdscp

no dscp

Syntax Description

dscp

The DSCP to be used in the DSCP field in exported datagrams. Range: 0 to 63. Default 0.

Command Default

The differentiated services code point (DSCP) value is 0.

Command Modes

Flexible NetFlow flow exporter configuration (config-flow-exporter)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Examples

The following example sets 22as the value of the DSCP field in exported datagrams:

Router(config)# flow exporter FLOW-EXPORTER-1

Router(config-flow-exporter)# dscp 22

Related Commands

Command

Description

flow exporter

Creates a flow exporter.

execute (Flexible NetFlow)

To execute a shell function for a Flexible NetFlow (FNF) flow exporter, use the execute command in FNF flow exporter configuration mode.

execute name [description...]

Syntax Description

name

Name of the shell function to execute.

description

(Optional) Description of the shell function parameter values. You can enter multiple descriptions.

Command Default

No shell function is executed.

Command Modes

FNF flow exporter configuration (config-flow-exporter)

Command History

Release

Modification

15.4(M)

This command was introduced.

Examples

The following example shows how to execute a shell function, function1:

Router(config)# flow exporter e1

Router(config-flow-exporter)# execute function1

Related Commands

Command

Description

flow exporter

Creates a flow exporter.

exporter

To configure a flow exporter for a Flexible NetFlow flow monitor, use the exporter command in Flexible NetFlow flow monitor configuration mode. To remove a flow exporter for a Flexible NetFlow flow monitor, use the no form of this command.

exporterexporter-name

no exporterexporter-name

Syntax Description

exporter-name

Name of a flow exporter that was previously configured.

Command Default

An exporter is not configured.

Command Modes

Flexible NetFlow flow monitor configuration (config-flow-monitor)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Usage Guidelines

You must have already created a flow exporter by using the flow exporter command before you can apply the flow exporter to a flow monitor with the exportercommand.

Examples

The following example configures an exporter for a flow monitor:

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

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

Related Commands

Command

Description

flow exporter

Creates a flow exporter.

flow monitor

Creates a flow monitor.

export-protocol

To configure the export protocol for a Flexible NetFlow exporter, use the export-protocol command in Flexible NetFlow flow exporter configuration mode. To restore the use of the default export protocol for a Flexible NetFlow exporter, use the no form of this command.

export-protocol {netflow-v5 | netflow-v9}

no export-protocol

Syntax Description

netflow-v5

Configures NetFlow Version 5 export as the export protocol.

netflow-v9

Configures NetFlow Version 9 export as the export protocol.

Command Default

NetFlow Version 9 export is used as the export protocol for a Flexible NetFlow exporter.

Command Modes

Flexible NetFlow flow exporter configuration (config-flow-exporter)

Command History

Release

Modification

12.4(22)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Usage Guidelines

The NetFlow Version 5 export protocol is supported only for flow monitors that use the Flexible NetFlow predefined records.

Examples

The following example configures NetFlow Version 5 export as the export protocol for a Flexible NetFlow exporter:

Router(config)# flow exporter FLOW-EXPORTER-1

Router(config-flow-exporter)# export-protocol netflow-v5

Related Commands

Command

Description

flow exporter

Creates a flow exporter

flow exporter

To create a Flexible NetFlow flow exporter, or to modify an existing Flexible NetFlow flow exporter, and enter Flexible NetFlow flow exporter configuration mode, use the flow exporter command in global configuration mode. To remove a Flexible NetFlow flow exporter, use the no form of this command.

flow exporter exporter-name

no flow exporter exporter-name

Syntax Description

exporter-name

Name of the flow exporter that is being created or modified.

Command Default

Flexible NetFlow flow exporters are not present in the configuration.

Command Modes

Global configuration (config)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Usage Guidelines

Flow exporters export the data in the flow monitor cache to a remote system, such as a server running Flexible NetFlow collector, for analysis and storage. Flow exporters are created as separate entities in the configuration. Flow exporters are assigned to flow monitors to provide data export capability for the flow monitors. You can create several flow exporters and assign them to one or more flow monitors to provide several export destinations. You can create one flow exporter and apply it to several flow monitors.

(Optional) Configures NetFlow table utilization parameters for traffic that the router is receiving.

usage notify output

(Optional) Configures NetFlow table utilization parameters for traffic that the router is transmitting.

table-threshold-percentage

(Optional) The NetFlow table utilization threshold percentage.

seconds

(Optional) The NetFlow table utilization time interval, in seconds.

Command Default

Flexible NetFlow hardware parameters are not configured.

Command Modes

Global configuration (config)

Command History

Release

Modification

12.2(50)SY

This command was introduced.

Usage Guidelines

Flow exporters export the data in the flow monitor cache to a remote system, such as a server running Flexible NetFlow collector, for analysis and storage. The number and complexity of flow records to be exported is the prime cause of CPU use in NetFlow. The CPU Friendly NetFlow Export feature (also known as Yielding NetFlow Data Export, or Yielding NDE) monitors CPU use for both the supervisor and line cards according to user-configured thresholds and dynamically adjusts the rate of export as needed.

A system reload is needed for egress NetFlow mode change. If egress NetFlow is disabled and you attempt to configure any feature that requires an egress NetFlow, an error message will be displayed indicating that egress NetFlow must be enabled for this feature to function. You should enable egress NetFlow, reload the system, and reconfigure the feature.

Examples

Related Commands

Command

Description

show platform flow

Displays Flexible NetFlow platform parameter information.

flow monitor

To create a Flexible NetFlow flow monitor, or to modify an existing Flexible NetFlow flow monitor, and enter Flexible NetFlow flow monitor configuration mode, use the flow monitor command in global configuration mode. To remove a Flexible NetFlow flow monitor, use the no form of this command.

flow monitor monitor-name

no flow monitor monitor-name

Syntax Description

monitor-name

Name of the flow monitor that is being created or modified.

Command Default

Flexible NetFlow Flow monitors are not present in the configuration.

Command Modes

Global configuration (config)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Cisco IOS XE 3.1S

This command was integrated into Cisco IOS XE Release 3.1S.

Usage Guidelines

Flow monitors are the Flexible NetFlow component that is applied to interfaces to perform network traffic monitoring. Flow monitors consist of a record and a cache. You add the record to the flow monitor after you create the flow monitor. The flow monitor cache is automatically created at the time the flow monitor is applied to the first interface. Flow data is collected from the network traffic during the monitoring process based on the key and nonkey fields in the record, which is configured for the flow monitor and stored in the flow monitor cache.

Command Default

Flexible NetFlow platform parameters are not configured.

Command Modes

Global configuration (config)

Command History

Release

Modification

12.2(50)SY

This command was introduced.

Usage Guidelines

Hardware Flexible NetFlow table space is a valuable resource and needs to managed. Older flows need to be identified as quickly as possible and aged out (purged) to make way ultimately for new, more active flows. The older the Flexible NetFlow data, the less it is useful for real-time monitoring of traffic.

The common aging schemes are:

•Inactive/normal aging: age out flows that have had no activity in the preceding configured time.

•Active/long aging: age out flows that have lived for longer than the configured long aging period.

•Fast aging: age out flows that had some bursty activity followed by inactivity, for example, Domain Name Service (DNS) resolution requests. This aging scheme is a function of the creation time of a flow and the packet count.

In addition to purging older entries, NetFlow entries need to be purged in response to certain configuration and network topology changes; for example, interface or link going out of service.

Examples

The following example configures the active platform flow cache timeout:

Router(config)# flow platform cache timeout active 60

Related Commands

Command

Description

show platform flow

Displays Flexible NetFlow platform parameter information.

flow record

To create a Flexible NetFlow flow record, or to modify an existing Flexible NetFlow flow record, and enter Flexible NetFlow flow record configuration mode, use the flow record command in global configuration mode. To remove a Flexible NetFlow flow record, use the no form of this command.

flow record record-name

no flow record record-name

Syntax Description

record-name

Name of the flow record that is being created or modified.

Command Default

A flow record is not configured.

Command Modes

Global configuration (config)

Command History

Release

Modification

12.4(9)T

This command was introduced.

12.2(31)SB2

This command was integrated into Cisco IOS Release 12.2(31)SB2.

12.2(33)SRC

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

Flexible NetFlow uses key and nonkey fields just as original NetFlow does to create and populate flows in a cache. In Flexible NetFlow a combination of key and nonkey fields is called a record. Original NetFlow and Flexible NetFlow both use the values in key fields in IP datagrams, such as the IP source or destination address and the source or destination transport protocol port, as the criteria for determining when a new flow must be created in the cache while network traffic is being monitored. A flow is defined as a stream of packets between a given source and a given destination. New flows are created whenever a packet that has a unique value in one of the key fields is analyzed.

Examples

The following example creates a flow record named FLOW-RECORD-1, and enters Flexible NetFlow flow record configuration mode:

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

Router(config-flow-record)#

Related Commands

Command

Description

show flow record

Displays flow record status and statistics.

granularity

To configure the granularity of sampling for a Flexible NetFlow sampler, use the granularity command in Flexible NetFlow sampler configuration mode. To return the sampling configuration to the default value, use the no form of this command.

granularity {connection | packet}

no granularity

Syntax Description

connection

Specifies that the sampling is done by connection.

packet

Specifies that the sampling is done by packet.

Command Default

Sampling is done by packet.

Command Modes

Flexible NetFlow sampler configuration (config-sampler)

Command History

Release

Modification

Cisco IOS XE Release 3.4S

This command was introduced.

Usage Guidelines

To use this command, you must configure the match application name command for the flow record.

Examples

The following example shows how to configure the granularity of the sampling to be by connection for a Flexible NetFlow sampler:

Router(config)# sampler SAMPLER-2

Router(config-sampler)# granularity connection

Router(config-sampler)# mode random 1 out-of 20

Related Commands

ip flow monitor

To enable a Flexible NetFlow flow monitor for IPv4 traffic that the router is receiving or forwarding, use the ip flow monitor command in interface configuration mode or subinterface configuration mode. To disable a Flexible NetFlow flow monitor, use the no form of this command.

Command History

Support for this command was added for Cisco 7200 series routers in Cisco IOS Release 12.2(33)SRC.

12.4(22)T

The unicast and multicast keywords were added.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

12.2(50)SY

This command was modified. The layer2-switched keyword was added in Cisco IOS Release 12.2(50)SY.

Usage Guidelines

You must have already created a flow monitor by using the flow monitor command before you can apply the flow monitor to an interface with the ip flow monitor command to enable traffic monitoring with Flexible NetFlow.

ip flow monitor sampler

When a sampler is added to a flow monitor, only packets that are selected by the named sampler will be entered into the cache to form flows. Each use of a sampler causes separate statistics to be stored for that usage.

You cannot add a sampler to a flow monitor after the flow monitor has been enabled on an interface. You must remove the flow monitor from the interface prior to enabling the same flow monitor with a sampler. See the "Examples" section for more information.

Note The statistics for each flow must be scaled to give the expected true usage. For example, with a 1 in 10 sampler it is expected that the packet and byte counters will have to be multiplied by 10.

Multicast Traffic and Unicast Traffic

In Cisco IOS Release 12.4(22)T and later releases, the default behavior of the ip flow monitor command is to analyze unicast and multicast traffic. If you need to monitor only unicast traffic, use the unicast keyword. If you need to monitor only multicast traffic, use the multicast keyword.

Examples

The following example enables a flow monitor for monitoring input traffic:

Router(config)# interface ethernet0/0

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

The following example enables a flow monitor for monitoring output traffic on a subinterface:

Router(config)# interface ethernet0/0.1

Router(config-if)# ip flow monitor FLOW-MONITOR-1 output

The following example enables a flow monitor for monitoring only multicast input traffic:

Router(config)# interface ethernet0/0

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

The following example enables a flow monitor for monitoring only unicast output traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ip flow monitor FLOW-MONITOR-1 unicast output

The following example enables the same flow monitor on the same interface for monitoring input and output traffic:

Router(config)# interface ethernet0/0

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

Router(config-if)# ip flow monitor FLOW-MONITOR-1 output

The following example enables two different flow monitors on the same interface for monitoring input and output traffic:

Router(config)# interface ethernet0/0

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

Router(config-if)# ip flow monitor FLOW-MONITOR-2 output

The following example enables the same flow monitor on two different interfaces for monitoring input and output traffic:

Router(config)# interface ethernet0/0

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

Router(config-if)# exit

Router(config)# interface ethernet1/0

Router(config-if)# ip flow monitor FLOW-MONITOR-1 output

The following example enables two different flow monitors on two different interfaces for monitoring input and output traffic:

Router(config)# interface ethernet0/0

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

Router(config-if)# exit

Router(config)# interface ethernet1/0

Router(config-if)# ip flow monitor FLOW-MONITOR-2 output

The following example enables a flow monitor for monitoring input traffic, with a sampler to limit the input packets that are sampled:

The following example enables two different flow monitors for monitoring input and output traffic, with a sampler on the flow monitor that is monitoring input traffic to limit the input packets that are sampled:

The following example enables two different flow monitors for monitoring input and output traffic, with a sampler on the flow monitor that is monitoring output traffic to limit the output packets that are sampled:

Related Commands

Command

Description

flow monitor

Creates a flow monitor.

sampler

Creates a flow sampler.

ipv6 flow monitor

To enable a Flexible NetFlow flow monitor for IPv6 traffic that the router is receiving or forwarding, use the ipv6 flow monitor command in interface configuration mode or subinterface configuration mode. To disable a Flexible NetFlow flow monitor, use the no form of this command.

Command History

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

You must have already created a flow monitor by using the flow monitor command before you can apply the flow monitor to an interface with the ipv6 flow monitor command to enable traffic monitoring with Flexible NetFlow.

ipv6 flow monitor sampler

When a sampler is added to a flow monitor, only packets that are selected by the named sampler will be entered into the cache to form flows. Each use of a sampler causes separate statistics to be stored for that usage.

You cannot add a sampler to a flow monitor after the flow monitor has been enabled on an interface. You must remove the flow monitor from the interface prior to enabling the same flow monitor with a sampler. See the "Examples" section for more information.

Note The statistics for each flow must be scaled to give the expected true usage. For example, with a 1 in 10 sampler it is expected that the packet and byte counters will have to be multiplied by 10.

Multicast Traffic and Unicast Traffic

In Cisco IOS Release 12.4(22)T and later releases, the default behavior of the ip flow monitor command is to analyze unicast and multicast traffic. If you need to monitor only unicast traffic, use the unicast keyword. If you need to monitor only multicast traffic, use the multicast keyword.

Examples

The following example enables a flow monitor for monitoring input IPv6 traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 input

The following example enables a flow monitor for monitoring output IPv6 traffic on a subinterface:

Router(config)# interface ethernet0/0.1

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 output

The following example enables a flow monitor for monitoring only multicast input traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 multicast input

The following example enables a flow monitor for monitoring only unicast output traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 unicast output

The following example enables the same flow monitor on the same interface for monitoring input and output IPv6 traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 input

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 output

The following example enables two different flow monitors on the same interface for monitoring input and output IPv6 traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 input

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-2 output

The following example enables the same flow monitor on two different interfaces for monitoring input and output IPv6 traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 input

Router(config-if)# exit

Router(config)# interface ethernet1/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 output

The following example enables two different flow monitors on two different interfaces for monitoring input and output IPv6 traffic:

Router(config)# interface ethernet0/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-1 input

Router(config-if)# exit

Router(config)# interface ethernet1/0

Router(config-if)# ipv6 flow monitor FLOW-MONITOR-2 output

The following example enables a flow monitor for monitoring input IPv6 traffic, with a sampler to limit the input packets that are sampled:

The following example enables two different flow monitors for monitoring input and output IPv6 traffic, with a sampler on the flow monitor that is monitoring input IPv6 traffic to limit the input packets that are sampled:

The following example enables two different flow monitors for monitoring input and output IPv6 traffic, with a sampler on the flow monitor that is monitoring output IPv6 traffic to limit the output packets that are sampled:

Related Commands

Command

Description

flow monitor

Creates a flow monitor.

sampler

Creates a flow sampler.

match application name

To configure the use of the application name as a key field for a Flexible NetFlow flow record, use the match application name command in Flexible NetFlow flow record configuration mode. To disable the use of the application name as a key field for a Flexible NetFlow flow record, use the no form of this command.

match application name [account-on-resolution]

no match application name [account-on-resolution]

Syntax Descriptionno match application name

Syntax Description

account-on-resolution

Specifies that an accurate accounting for the beginning of the flow is provided.

Command Default

The application name is not configured as a key field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

15.0(1)M

This command was introduced.

Cisco IOS XE Release 3.4S

This command was modified. The account-on-resolution keyword was added.

Usage Guidelines

When the account-on-resolution keyword is used, the system temporarily stores the record data until the application is resolved and then it combines the data with the created flow.

Examples

The following example shows how to configure the application name as a key field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# match application name

Related Commands

Command

Description

collect application name

Configures the use of application name as a nonkey field for a Flexible NetFlow flow record.

flow record

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

match connection transaction-id

To configure the transaction ID as a key field for a flow record, use the match connection transaction-id command in flow record configuration mode. To disable the use of a transaction ID field as a key field for a flow record, use the no form of this command.

match connection transaction-id

nomatch connection transaction-id

Syntax Description

This command has no arguments or keywords.

Command Default

The transaction ID is not configured as a key field.

Command Modes

Flow record configuration (config-flow-record)

Command History

Release

Modification

Cisco IOS XE Release 3.4S

This command was introduced.

Usage Guidelines

To use this command, you must configure the match connection transaction id command and the match application name command for the flow record.

The transaction ID identifies a transaction within a connection, for protocols where multiple transactions are used. A transaction is a meaningful exchange of application data between two network devices or a client and server.

A transaction ID is assigned the first time a flow is reported, so that later reports for the same flow will have the same transaction ID. A different transaction ID is used for each concurrent transaction within a TCP or UDP connection. Two flows can receive the same transaction ID if they are not running concurrently. The identifiers are randomly assigned and are not required to be sequential.

A flow record requires at least one key field before it can be used in a flow monitor. The key fields differentiate flows, with each flow having a unique set of values for the key fields. The key fields are defined using the match command.

Examples

The following example shows how to configure the transaction ID as a key field:

Router(config)# flow record RECORD-4

Router(config-flow-record)# match connection transaction-id

Related Commands

Command

Description

flow record

Creates a flow record.

match datalink dot1q vlan

To configure the 802.1Q (dot1q) VLAN value as a key field for a Flexible NetFlow flow record, use the match datalink dot1q vlan command in Flexible NetFlow flow record configuration mode. To disable the use of the 802.1Q VLAN value as a key field for a Flexible NetFlow flow record, use the no form of this command.

match datalink dot1q vlan {input | output}

no match datalink dot1q vlan {input | output}

Syntax Description

input

Configures the VLAN ID of traffic being received by the router as a key field.

output

Configures the VLAN ID of traffic being transmitted by the router as a key field.

Command Default

The 802.1Q VLAN ID is not configured as a key field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.4(22)T

This command was introduced.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The input and output keywords of the match datalink dot1q vlan command are used to specify the observation point that is used by the match datalink dot1q vlan command to create flows based on the unique 802.1q VLAN IDs in the network traffic. For example, when you configure a flow record with the match datalink dot1q vlaninput command to monitor the simulated denial of service (DoS) attack in Figure 3 and apply the flow monitor to which the flow record is assigned in either input (ingress) mode on interface Ethernet 0/0.1 on R3 or output (egress) mode on interface Ethernet 1/0.1 on R3, the observation point is always Ethernet 0/0.1 on R3. The 802.1q VLAN ID that is used as a key field is 5.

Figure 3 Simulated DoS Attack (c)

The observation point of match commands that do not have the input and/or output keywords is always the interface to which the flow monitor that contains the flow record with the match commands is applied.

Examples

The following example configures the 802.1Q VLAN ID of traffic being received by the router as a key field for a Flexible NetFlow flow record

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

Router(config-flow-record)# match datalink dot1q vlan input

Related Commands

Command

Description

flow record

Creates a flow record.

match datalink mac

To configure the use of MAC addresses as a key field for a Flexible NetFlow flow record, use the match datalink mac command in Flexible NetFlow flow record configuration mode. To disable the use of MAC addresses as a key field for a Flexible NetFlow flow record, use the no form of this command.

Command Modes

Command History

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7200 and Cisco 7300 Network Processing Engine (NPE) series routers.

Usage Guidelines

The input and output keywords of the match datalink mac command are used to specify the observation point that is used by the match datalink mac command to create flows based on the unique MAC addressees in the network traffic. For example, when you configure a flow record with the match datalink mac destination address input command to monitor the simulated denial of service (DoS) attack in Figure 4 and apply the flow monitor to which the flow record is assigned in either input (ingress) mode on interface Ethernet 0/0.1 on R3 or output (egress) mode on interface Ethernet 1/0.1 on R3, the observation point is always Ethernet 0/0.1 on R3. The destination MAC address that is used a key field is aaaa.bbbb.cc04.

Figure 4 Simulated DoS Attack (d)

When the destination output mac address is configured, the value is the destination mac address of the output packet, even if the monitor the flow record is applied to is input only.

When the destination input mac address is configured, the value is the destination mac address of the input packet, even if the monitor the flow record is applied to is output only.

When the source output mac address is configured, the value is the source mac address of the output packet, even if the monitor the flow record is applied to is input only.

When the source input mac address is configured, the value is the source mac address of the input packet, even if the monitor the flow record is applied to is output only.

Examples

The following example configures the use of the destination MAC address of packets that are received by the router as a key field for a Flexible NetFlow flow record:

The following example configures the use of the source MAC addresses of packets that are transmitted by the router as a key field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# match datalink mac source address output

Related Commands

Command

Description

flow record

Creates a flow record.

match datalink vlan

To configure the VLAN ID as a key field for a Flexible NetFlow flow record, use the match datalink vlan command in Flexible NetFlow flow record configuration mode. To disable the use of the VLAN ID value as a key field for a Flexible NetFlow flow record, use the no form of this command.

match datalink vlaninput

no match datalink vlan input

Syntax Description

input

Configures the VLAN ID of traffic being received by the router as a key field.

Command Default

The VLAN ID is not configured as a key field.

Command Modes

Flexible NetFlow flow record configuration (config-flow-record)

Command History

Release

Modification

12.2(50)SY

This command was introduced.

Examples

The following example configures the VLAN ID of traffic being received by the router as a key field for a Flexible NetFlow flow record:

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

Router(config-flow-record)# match datalink vlan input

Related Commands

Command

Description

flow record

Creates a flow record.

match flow

To configure the flow direction and the flow sampler ID number as key fields for a flow record, use the match flow command in flow record configuration or policy inline configuration mode. To disable the use of the flow direction and the flow sampler ID number as key fields for a flow record, use the no form of this command.

matchflow {direction | sampler}

nomatchflow {direction | sampler}

Cisco Catalyst 6500 Switches in Cisco IOS Release 12.2(50)SY

matchflow {cts {destination | source} group-tag | direction}

nomatchflow {cts {destination | source} group-tag | direction}

Syntax Description

direction

Configures the direction in which the flow was monitored as a key field.

sampler

Configures the flow sampler ID as a key field.

cts destination group-tag

Configures the CTS destination field group as a key field.

cts source group-tag

Configures the CTS source field group as a key field.

Command Default

The CTS destination or source field group, flow direction and the flow sampler ID are not configured as key fields.

Command History

This command was integrated into Cisco IOS Release 12.2(33)SRC and implemented on the Cisco 7200 series routers.

12.2(33)SRE

This command was integrated into Cisco IOS Release 12.2(33)SRE for the Cisco 7300 Network Processing Engine (NPE) series routers.

15.1(3)T

This command was integrated into Cisco IOS Release 15.1(3)T for Cisco Performance Monitor. Support was added for policy inline configuration mode.

12.2(58)SE

This command was integrated into Cisco IOS Release 12.2(58)SE for Cisco Performance Monitor.

12.2(50)SY

This command was modified. The cts destination group-tag and destination source-tag keywords were added in Cisco IOS Release 12.2(50)SY. The sampler keyword was not supported.

Usage Guidelines

This command can be used with both Flexible NetFlow and Performance Monitor. These products use different commands to enter the configuration mode in which you issue this command.

A flow record requires at least one key field before it can be used in a flow monitor. The key fields differentiate flows, with each flow having a unique set of values for the key fields. The key fields are defined using the match command.

You must first enter the service-policy type performance-monitor inline command.

match flow direction

This field indicates the direction of the flow. This is of most use when a single flow monitor is configured for input and output flows. It can be used to find and eliminate flows that are being monitored twice, once on input and once on output. This field may also be used to match up pairs of flows in the exported data when the two flows are flowing in opposite directions.

match flow sampler

This field contains the ID of the flow sampler used to monitor the flow. This is useful when more than one flow sampler is being used with different sampling rates. The flow exporter option sampler-table command will export options records with mappings of the flow sampler ID to the sampling rate so the collector can calculate the scaled counters for each flow.

Examples

The following example configures the direction the flow was monitored in as a key field:

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

Router(config-flow-record)# match flow direction

The following example configures the flow sampler ID as a key field:

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

Router(config-flow-record)# match flow sampler

The following example configures the CTS destination fields group as a key field:

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

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

The following example configures the CTS source fields group as a key field:

The following example shows how to use the policy inline configuration mode to configure a service policy for Performance Monitor. The policy specifies that packets traversing Ethernet interface 0/0 that match the flow sampler ID will be monitored based on the parameters specified in the flow monitor configuration named fm-2: