Knowledge Search


×
 

[MX] Reduced Flow Samples After Upgrading to Junos OS 15.1

  [KB30819] Show Article Properties


Summary:

After upgrading to Junos OS 15.1F2 or 16.1R1, the MX device sends fewer flow samples to the collector. This article explains this behavior and provides a workaround.

Symptoms:

After upgrading to Junos OS 15.1, the number of IPFIX flow samples decreased dramatically. No IPFIX or sampling configuration changes were made during this time.

Cause:

Starting with Junos OS 15.1F2 and 16.1R1, the flow table sizes for IPv4 are no longer set to fifteen 256K entries as in earlier versions. More information on default values can be found in ipv4-flow-table-size

Prior to Junos OS 15.1, there are fifteen 256K entries located by default for the IPv4 flow table and one 1K entry allocated by default for the IPv6 flow table on the Packet Forwarding Engine (PFE).

To check if the values have changed after the upgrade, run the following command from the PFE:

MPC0(juniper-user)# sh jnh 0 inline-services flow-table-info
Configured IPv4 Flow Table in Unit: 0
Configured IPv6 Flow Table in Unit: 0
Configured VPLS Flow Table in Unit: 0
Configured MPLS Flow Table in Unit: 0
Programmed IPv4 Flow Table Size : 1024
Programmed IPv6 Flow Table Size : 1024
Programmed VPLS Flow Table Size : 1024
Programmed MPLS Flow Table Size : 1024

 
Solution:

To change the behavior to match that of versions before Junos OS 15.1, use the following command to configure the MX. 

# set chassis fpc inline-services flow-table-size ipv4-flow-table-size 15

After configuring the above command, the system will revert to using the the default settings prior to the release of version 15.1.

MPC0(juniper-user)# show jnh 0 inline-services flow-table-info
Configured IPv4 Flow Table in Unit: 0
Configured IPv6 Flow Table in Unit: 0
Configured VPLS Flow Table in Unit: 0
Programmed IPv4 Flow Table Size : 3932160
Programmed IPv6 Flow Table Size : 1024
Programmed VPLS Flow Table Size : 1024

Starting from Junos OS Release 16.1R1 and 15.1F2, any changes in the configured size of the flow table needs a reboot of the FPC.  We recommend that you run this command during a maintenance window.

Max supported table size for IPv4 and IPv6 is 15. Please ensure you have adequately-sized hash tables for IPv4 and IPv6 flow sampling.

Incorrect Example of configured flow-table-size is higher than supported value:

When configuring the flow-table-size as 15, both IPv4 and IPv6 FPC will revert to default and allocate 1k entries for both IPv4 and IPv6 flow tables.

set chassis fpc 9 inline-services flow-table-size ipv4-flow-table-size 15
set chassis fpc 9 inline-services flow-table-size ipv6-flow-table-size 15

Error message under the FPC:

jnh_services_calculate_hash_table_size(7394): Configured Flow Table Size is higher than the supported value/chip, max supported table size is 15

NPC9(jtac-mx960-r2032-re1 vty)# sho jnh 0 inline-services flow-table-info
Configured IPv4 Flow Table in Unit: 15
Configured IPv6 Flow Table in Unit: 15
Configured VPLS Flow Table in Unit: 0
Configured MPLS Flow Table in Unit: 0
Programmed IPv4 Flow Table Size   : 1024
Programmed IPv6 Flow Table Size   : 1024
Programmed VPLS Flow Table Size   : 1024
Programmed MPLS Flow Table Size   : 1024

Correct Example:

When configuring the flow-table-size for IPv4 as 10 and IPv6 as 5, FPC correctly programs the table size.

set chassis fpc 9 inline-services flow-table-size ipv4-flow-table-size 10
set chassis fpc 9 inline-services flow-table-size ipv6-flow-table-size 5

NPC9(jtac-mx960-r2032-re1 vty)# sho jnh 0 inline-services flow-table-info
Configured IPv4 Flow Table in Unit: 10
Configured IPv6 Flow Table in Unit: 5
Configured VPLS Flow Table in Unit: 0
Configured MPLS Flow Table in Unit: 0
Programmed IPv4 Flow Table Size   : 2752580
Programmed IPv6 Flow Table Size   : 1376290
Programmed VPLS Flow Table Size   : 1024
Programmed MPLS Flow Table Size   : 1024

NOTE: Starting with Junos OS Release 17.3R1, the maximum number of 256K flow entries that you can configure for IPv4 flow tables and IPv6 flow tables is 256 on MPC5Es and MPC6Es with 4GB DDR3 memory or higher. The maximum number of 256K flow entries that you can configure for IPv4 flow tables and IPv6 flow tables is 245 on MPC5Es and MPC6Es with DDR3 memory lower than 4GB.
For more information, refer to Juniper documentation on flow-table-size.
 
Modification History:

2019-07-18: Added incorrect and correct examples for the solution.

Related Links: