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.
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