Description

This article shows how to use Multilink Point-to-Point Protocol (MLPPP) to combine multiple physical interface into single logical interface for increased bandwidth. Ocasionally, the need to monitor the interface usage via SNMP arises. When the lsq interface is involved, choosing the correct location to capture/monitor the interface utilization can become an issue which needs carefull consideration.

Symptoms


Solution


The interface counter shown for Link Service IQ (lsq) interface is the counter for the packet sent out from Service PIC to link IQ PIC. It can be larger than the total of MLPPP bundle bandwidth. After the flows reach the link IQ PIC, the exceeded (out-profile) packets will be dropped by the link IQ PIC as if received directly from fabric. This ensures that even the ingress traffic from the WAN side may exceed the bundle capacity, the egress traffic will still be kept in the range of the bundle capacity.

alt

The following lab environment is used to check for this issue:

alt

10Mbps traffic is sent from the Tester to the DUT. 2xe1 interfaces and is being formed as a MLPPP bundle. LSQ interface (lsq-3/2/0.1) created on the DUT.

The floolwing output results from using SNMP to get the interface output bytes:

First, aquire the SNMP ifIndex:

lab@m120-re0 > show snmp mib walk ifDescr | match lsq
ifDescr.695 = lsq-3/2/0
ifDescr.696 = lsq-3/2/0.1

lab@m120-re0 > show snmp mib walk ifDescr | match ds
ifDescr.5 = dsc
ifDescr.609 = ds-3/3/0:1:1
ifDescr.610 = ds-3/3/0:1:1.0
ifDescr.707 = ds-5/3/4:1
ifDescr.708 = ds-5/3/4:1.0
ifDescr.713 = ds-5/3/5:1
ifDescr.714 = ds-5/3/5:1.0


Capture the output bytes count:

lab@m120-re0 > show snmp mib get ifHCOutOctets.696
Mar 20 10:41:17
ifHCOutOctets.696 = 3049612406

lab@m120-re0 > show snmp mib get ifHCOutOctets.708
Mar 20 10:41:17
ifHCOutOctets.708 = 620286550

lab@m120-re0 > show snmp mib get ifHCOutOctets.714
Mar 20 10:41:17
ifHCOutOctets.714 = 620273996

The summary of 2 member link is 620286550+620273996=1240560546, which is significantly less than the value from the lsq interface (3049612406).

Using the following 2 captured results:

lab@m120-re0 > show snmp mib get ifHCOutOctets.696
Mar 20 10:57:35
ifHCOutOctets.696 = 4249617156

lab@m120-re0 > show snmp mib get ifHCOutOctets.708
Mar 20 10:57:35
ifHCOutOctets.708 = 852151580

lab@m20-re0 > show snmp mib get ifHCOutOctets.714
Mar 20 10:57:35
ifHCOutOctets.714 = 852139547

lab@m120-re0 > show snmp mib get ifHCOutOctets.696
show snmp mib get ifHCOutOctets.708
Mar 20 10:57:46
ifHCOutOctets.696 = 4264586840

lab@m120-re0 > show snmp mib get ifHCOutOctets.708
show snmp mib get ifHCOutOctets.714
Mar 20 10:57:46
ifHCOutOctets.708 = 854701524

lab@m120-re0 > show snmp mib get ifHCOutOctets.714
Mar 20 10:57:46
ifHCOutOctets.714 = 854688423


The interface output usage can be calculated:
For lsq-3/2/0.1: (4264586840-4249617156)*8/11 = 10,887,042.91 (approximately 10Mbps)
For ds-5/3/4:1.0: (854701524-852151580)*8/11 = 1854504.727 (approximately 1.9m)
For ds-5/3/5:1.0: (854688423-852139547)*8/11 = 1853728 (approximately 1.9m)


In conclusion: should bundle usage be needed, capture the statistics / get SNMP OID values from every member interfaces and sum them as a whole.