LFI (Link Fragmentation and Interleaving) reduces excessive delays by fragmenting large packets into smaller packets and interleaving them with real-time frames. This allows real-time and non-real-time data frames to be carried together on lower-speed links, without causing excessive delays to the real-time traffic. For example, short delay-sensitive packets, such as packetized voice, can race ahead of larger delay-insensitive packets, such as common data packets. If MLPPP LFI (Link Fragmentation and Interleaving) is enabled for the required forwarding-class that maps the voice traffic and even though the voice packets' size is less than the configured fragment-threshold, as per Junos implementation, the no-fragmentation knob must be enabled under this forwarding-class.
In certain cases, customers want to enable MLPPP LFI for voice traffic over the LSQ interface. Most of voice packets' size is about 100 bytes; so they configure the fragment threshold as 128 bytes under the LSQ interface, while taking it for granted that it is not necessary to set the no-fragmentation option for the forwarding-class, which is mapped to the voice traffic. So, it will not lessen the delay for the voice traffic, as expected. Test scenario : Tester will generate traffic that passes through two Juniper routers and back to the tester. The link bandwidth between the two routers is 256 Kbps. The traffic that is generated by tester consists of two streams:
> show interfaces queue lsq-2/1/0 | no-more Physical interface: lsq-2/1/0, Enabled, Physical link is Up *Skip Packet Forwarding Engine Chassis Queues: Queues: 8 supported, 8 in use Queue: 0, Forwarding classes: standard Queued: Packets : 987 0 pps Bytes : 1462734 0 bps Transmitted: Packets : 987 0 pps Bytes : 1462734 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets : 0 0 pps Low : 0 0 pps Medium-low : 0 0 pps Medium-high : 0 0 pps High : 0 0 pps RED-dropped bytes : 0 0 bps Low : 0 0 bps Medium-low : 0 0 bps Medium-high : 0 0 bps High : 0 0 bps Queue: 1, Forwarding classes: business *Skip Queue: 2, Forwarding classes: premiumrt Queued: Packets : 7500 0 pps Bytes : 615000 0 bps Transmitted: Packets : 7500 0 pps Bytes : 615000 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets : 0 0 pps Low : 0 0 pps Medium-low : 0 0 pps Medium-high : 0 0 pps High : 0 0 pps RED-dropped bytes : 0 0 bps Low : 0 0 bps Medium-low : 0 0 bps Medium-high : 0 0 bps High : 0 0 bps Latency measurement on the tester: Test case # Name/ID Tx Count (Frames) Rx Count (Frames) Avg Latency (us) fragmentation-maps disabled Voice-1/65536 7,500 7,500 27,856.71 Standard-1/65537 987 727 751,574.75
Based on the configuration in this test case, the fragmentation threshold set to 128Bytes with no fragmentation-map being configured:
> show interfaces extensive lsq-2/1/0 | no-more Physical interface: lsq-2/1/0, Enabled, Physical link is Up *Skip Multilink detail statistics: Bundle: Fragments: Input : 0 0 0 0 Output : 8472 0 1114774 0 Non-fragments: Input : 0 0 0 0 Output : 7500 0 682500 0 LFI: Input : 0 0 0 0 Output : 0 0 0 0 > there is no interleaving *Skip
Configuring a fragmentation map with the no-fragmentation knob being enabled for the premium forwarding-class that is mapped to voice traffic:
> show configuration class-of-service fragmentation-maps fragmentation-maps { LFI-TEST { forwarding-class { premium { no-fragmentation; } } } }
> show interfaces queue lsq-2/1/0 | no-more Physical interface: lsq-2/1/0, Enabled, Physical link is Up *Skip Packet Forwarding Engine Chassis Queues: Queues: 8 supported, 8 in use Queue: 0, Forwarding classes: standard Queued: Packets : 987 0 pps Bytes : 1462734 0 bps Transmitted: Packets : 987 0 pps Bytes : 1462734 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets : 0 0 pps Low : 0 0 pps Medium-low : 0 0 pps Medium-high : 0 0 pps High : 0 0 pps RED-dropped bytes : 0 0 bps Low : 0 0 bps Medium-low : 0 0 bps Medium-high : 0 0 bps High : 0 0 bps Queue: 1, Forwarding classes: business *Skip Queue: 2, Forwarding classes: premiumrt Queued: Packets : 7500 0 pps Bytes : 615000 0 bps Transmitted: Packets : 7500 0 pps Bytes : 615000 0 bps Tail-dropped packets : 0 0 pps RED-dropped packets : 0 0 pps Low : 0 0 pps Medium-low : 0 0 pps Medium-high : 0 0 pps High : 0 0 pps RED-dropped bytes : 0 0 bps Low : 0 0 bps Medium-low : 0 0 bps Medium-high : 0 0 bps High : 0 0 bps
[edit groups edi] edi@LAB-M120-01# run show interfaces extensive lsq-2/1/0| no-more Physical interface: lsq-2/1/0, Enabled, Physical link is Up *Skip Multilink detail statistics: Bundle: Fragments: Input : 0 0 0 0 Output: 8736 0 1149512 0 Non-fragments: Input : 0 0 0 0 Output: 0 0 0 0 LFI: Input : 0 0 0 0 Output: 7500 0 645000 0 // Interleaving observed for Premium traffic *Skip Latency measurement on the tester: Test case # Name/ID Tx Count (Frames) Rx Count (Frames) Avg Latency (us) fragmentation-maps enabled Voice-1/65536 7,500 7,499 26,042.87 Standard-1/65537 987 767 782,567.86