Description

This article provides information on what a MAC PAUSE frame is and how to check the MAC PAUSE counters on numerous interfaces of a router, switch or across a Virtual Chassis.

Symptoms

A MAC PAUSE frame is a bi-directional Flow Control Mechanism implemented to support full duplex operations in the Ethernet standard.

A pause frame allows a device to request other devices on the ethernet segment to halt transmission of traffic temporarily. It does so by specifying the operational code of PAUSE in the MAC control frame along with a timer value indicating the duration of the requested PAUSE. This allows the receiving device to recover from any condition that is leading to congestion (i.e. no buffer space remaining to receive additional frames). Once the specified PAUSE duration expires, the transmitting device can resume the normal transmission of frames.

With flow control enabled, when a device connected to a switch encounters congestion it will transmit a pause frame to the switch, which will be reflected in the mac pause frames counter of the interface extensive command.

Solution

The following command will display the "MAC pause frames" counters on ALL the interfaces of the Switch or a Virtual Chassis.

NOTE:  For individual interfaces use the "show interfaces <interface>  extensive" command.

{master:0}
lucianix@SW-ZL> show interfaces "[gfxe][et]-*" extensive | match "physical|pause" 
Physical interface: ge-0/0/0, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: xe-0/0/1, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: ge-0/0/2, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: ge-0/0/3, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: ge-0/0/4, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: ge-0/0/5, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: ge-0/0/6, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: ge-0/0/7, Enabled, Physical link is Up
    MAC pause frames                       394                0
Physical interface: xe-0/0/8, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: ge-0/0/9, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: ge-0/0/10, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: ge-0/0/11, Enabled, Physical link is Up
    MAC pause frames                         0                0
Physical interface: xe-0/0/18, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: et-0/0/48, Enabled, Physical link is Down
    MAC pause frames                         0                0
Physical interface: et-0/0/49, Enabled, Physical link is Down
    MAC pause frames                         0                0

On NFX platforms, on JCP (aka vjunos0), you can detect Pause frames by looking at show interfaces sxe-0/0/0 extensive:

lab@JCP> show interfaces sxe-0/0/0 extensive | match pause        
    MAC pause frames                         0          2719690

{master:0}
lab@JCP> show interfaces sxe-0/0/0 extensive | match pause    
    MAC pause frames                         0          2720883



You can find Pause frames from Wireshark with the filter "macc.opcode == pause"

alt

You can see "pause_time".
The unit of time is a special unit called "bit quanta". 
If an Ethernet port wants to allow the incoming frame before "pause_time" expires, it can send another Pause frame with pause_time = 0.

Modification History

2022-02-25: Updated the title and to be generic since MAC pause is not platform specific.
2021-09-11: Added NFX platform to title
2020-10-20: Added example with non-zero MAC pause frames. Modified "show" command to include 40G and 100G interfaces. Added Wireshark capture showing MAC Pause.