This article throws light on traffic forwarding throughput performance in MX150 Series routers before and after PR1531983 and how throughput performance depends on the input traffic frame size.
MX150 is essentially NFX250-S2 hardware running vMX software directly on NFX250 hardware. MX150 packet forwarding is performed in software, and is limited to 20 Gbps.
Throughput data is experimentally measured by bidirectional input wire-rate (10GE) traffic.
Test Topology
IXIA 10GE port1 ------ xe-0/0/12 MX150 xe-0/0/13 ------ IXIA 10GE port2
== MX150 configuration ==
interfaces { xe-0/0/12 { gigether-options { no-flow-control; } unit 0 { family bridge { interface-mode access; vlan-id 1001; } } } xe-0/0/13 { gigether-options { no-flow-control; } unit 0 { family bridge { interface-mode access; vlan-id 1001; } } } } bridge-domains { vlan1001 { vlan-id 1001; } }
##### Junos OS 19.4R3-S1.3 without fix of PR1531983 #####
--- JUNOS 19.4R3-S1.3 Kernel 64-bit JNPR-11.0-20201028.e1cef1d_buil User@mx150> show interfaces xe-0/0/12 extensive Physical interface: xe-0/0/12, Enabled, Physical link is Up Interface index: 159, SNMP ifIndex: 538, Generation: 162 Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode, Speed: 10Gbps, Duplex: Full-Duplex, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: d8:18:d3:2e:18:0c, Hardware address: d8:18:d3:2e:18:0c Last flapped : 2021-02-12 13:10:19 IST (00:07:34 ago) Statistics last cleared: 2021-02-12 13:15:07 IST (00:02:46 ago) Traffic statistics: Input bytes : 9949048500 0 bps Output bytes : 9964099560 0 bps Input packets: 165817475 0 pps Output packets: 166068326 0 pps IPv6 transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Dropped traffic statistics due to STP State: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Input errors: Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0 Output errors: Carrier transitions: 0, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0 Active alarms : None Active defects : None PCS statistics Seconds Bit errors 0 Errored blocks 0 Ethernet FEC statistics Errors FEC Corrected Errors 0 FEC Uncorrected Errors 0 FEC Corrected Errors Rate 0 FEC Uncorrected Errors Rate 0 MAC statistics: Receive Transmit Total octets 63999999936 10805426176 Total packets 999999999 166068326 Unicast packets 999999999 166068326 Broadcast packets 0 0 Multicast packets 0 0 CRC/Align errors 0 0 FIFO errors 0 0 MAC control frames 0 0 MAC pause frames 0 2766458 <<<<<< Pause frames are sent back to the sender Oversized frames 0 Jabber frames 0 Fragment frames 0 VLAN tagged frames 0 Code violations 0 Total errors 0 0
##### Junos 19.4R3-S2.1 with fix of PR1531983 #####
--- JUNOS 19.4R3-S2.1 Kernel 64-bit JNPR-11.0-20201221.5316c2e_buil User@mx150> show interfaces xe-0/0/12 extensive Physical interface: xe-0/0/12, Enabled, Physical link is Up Interface index: 159, SNMP ifIndex: 538, Generation: 162 Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode, Speed: 10Gbps, Duplex: Full-Duplex, BPDU Error: None, Loop Detect PDU Error: None, Ethernet-Switching Error: None, MAC-REWRITE Error: None, Loopback: Disabled, Source filtering: Disabled, Flow control: Disabled Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Hold-times : Up 0 ms, Down 0 ms Damping : half-life: 0 sec, max-suppress: 0 sec, reuse: 0, suppress: 0, state: unsuppressed Current address: d8:18:d3:2e:18:0c, Hardware address: d8:18:d3:2e:18:0c Last flapped : 2021-02-10 19:18:14 IST (01:44:20 ago) Statistics last cleared: 2021-02-10 20:58:37 IST (00:03:57 ago) Traffic statistics: Input bytes : 17776354560 0 bps Output bytes : 14159163240 0 bps Input packets: 296272576 0 pps Output packets: 235986054 0 pps IPv6 transit statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Dropped traffic statistics due to STP State: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Input errors: Errors: 0, Drops: 0, Framing errors: 0, Runts: 0, Policed discards: 0, L3 incompletes: 0, L2 channel errors: 0, L2 mismatch timeouts: 0, FIFO errors: 0, Resource errors: 0 Output errors: Carrier transitions: 0, Errors: 0, Drops: 0, Collisions: 0, Aged packets: 0, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0 Active alarms : None Active defects : None PCS statistics Seconds Bit errors 0 Errored blocks 0 Ethernet FEC statistics Errors FEC Corrected Errors 0 FEC Uncorrected Errors 0 FEC Corrected Errors Rate 0 FEC Uncorrected Errors Rate 0 MAC statistics: Receive Transmit Total octets 63999999936 15103107456 Total packets 999999999 235986054 Unicast packets 999999999 235986054 Broadcast packets 0 0 Multicast packets 0 0 CRC/Align errors 0 0 FIFO errors 0 0 MAC control frames 0 0 MAC pause frames 0 0 <<<<<< No Pause frames sent Oversized frames 0 Jabber frames 0 Fragment frames 0 VLAN tagged frames 0 Code violations 0 Total errors 0 0
As stated in the MX150 Hardware Guide , MX150 routers provide 20 Gbps of throughput with 1GE and 10GE interfaces, but the actual throughput performance depends on the input traffic frame size.
Before the problem in PR1531983 was fixed, the no-flow-control configuration knob did not work on MX150 routers as shown above. Even though no-flow-control was set under the gigether-options hierarchy, an overwhelmed MX150 router was seen to send MAC pause frames, which halted the transmission of the sender for a specified period of time.
no-flow-control
gigether-options
This software issue caused throughput performance degradation system wide.
After the fix was introduced via PR1531983 , MAC pause frames are not sent from the MX150 router if no-flow-control is set as shown above and better throughput performance can be expected.
Throughput performance data depends on the input frame size. After the fix was introduced in PR1531983 , we have 20 Gbps system capacity with frame sizes longer than 500B.
== Junos 19.4R3-S2.1 ==
Frame length (B) Throughput (Gbps) ---------------------------------- 64 5 100 7 128 9 200 13 256 17 300 19 512 20 1024 20 1280 20 1518 20