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.
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.
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
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.
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
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
2019-07-18: Added incorrect and correct examples for the solution.