Description

Different show commands in JUNOS can yield different traffic rates for the same traffic stream. On devices that perform additional encapsulation or add tunnel headers (in case of L2TP) it can be even more confusing. This article provides an example of such outputs on LNS along with corresponding explanations.

Solution

In our setup, a tunneled PPPoE subscriber will be receiving traffic from the core networks behind L2TP LNS. The following topology will be used:

PPPoE subscriber --- L2TP LAC --- L2TP LNS --- Spirent

1000 pps of 82 byte IP packets will be sent from Spirent to the subscriber.

It is important to note that output of "show interface " command will provide calculation based on L3 packet size by default.

Interface Spirent -> LNS:

root@lns> show interfaces xe-2/0/1 | match rate
  Input rate     : 655896 bps (999 pps) // 656:8 (bits per byte) = 82 bytes (L3 packet size) as expected
  Output rate    : 0 bps (0 pps)   

Interface LNS -> LAC (L2TP encapsulation adds 38 bytes, so the resulting L3 packet size is 120 bytes):
root@lns> show interfaces xe-2/0/0 | match rate
  Input rate     : 184 bps (0 pps)
  Output rate    : 960512 bps (1000 pps) // 960:8 (bits per byte) = 120 bytes  

If the customer wants the output of "show interface" command to also include L2 overhead, we can add the knob below on the related PIC.

root@lns# set chassis fpc 2 pic 0 account-layer2-overhead

The output of " show interface queue " will provide calculation based on L1 packet size (L3 packet size + L2 header size + L1 overhead). L1 overhead consists of 12 bytes of inter-frame gap, 7 bytes preamble and 1 byte of start of frame delimiter. 

The output of " show interfaces queue " for this interface, the traffic rate is different:

root@lns> show interfaces queue xe-2/0/0 | except " 0 [bp]"
  Queued:
    Packets       :     820710        1000 pps
    Bytes         :  132952800     1296000 bps // 1296:8 (bits per byte) = 162 bytes per packet
  Transmitted:
    Packets       :     820710        1000 pps
    Bytes         :  132952800     1296000 bps  

Between LNS and LAC it's a VLAN tagged interface, which means that for traffic sent over this link:

L2 overhead = 14 bytes (eth. header) + 4 bytes (dot1q header) + 4 bytes (FCS) = 22 bytes
L1 overhead = 12 bytes (inter-frame gap) + 7 bytes (preamble) + 1 byte (start of frame delimiter) = 20 bytes

The traffic calculated total size =  120 bytes (L3 packet size) + 22 bytes (L2 overhead) + 20 bytes (L1 overhead) = 162 bytes
Therefore,  the output of " show interface queue " depicted above is correct.