HowTo Enable PFC on Arista switches

Version 7

    To function reliably, RoCE requires a lossless fabric which can be guaranteed by employing a flow control mechanism. Priority Flow Control (PFC) is a recommended flow control mechanism that allows for high RoCE performance and guarantees zero packet loss in the network. To achieve the utmost RoCE performance with PFC, all endpoints and switches must be configured to enable PFC. Mellanox network adapters and Ethernet switches support PFC end-to-end, and guarantee zero packet loss (see HowTo Enable PFC on Mellanox Switches).

    In case your network includes an Arista (EOS) switch, this switch must also be configured to enable PFC to optimize RoCE performance.

     

    Below are instructions showing how to enable PFC on Arista (EoS) switches on two ports (eth 1 and eth 2).

     

    References

     

    Configuration

    1. Set the interface switchport parameter to trunk mode. Run:

    switch (config) # interface ethernet 1

    switch (config-if-et1) # switchport mode trunk

    switch (config-if-et1) # switchport allowed vlan 100

    switch (config-if-et1) # exit

    switch (config) # interface ethernet 2

    switch (config-if-et2) # switchport mode trunk

    switch (config-if-et2) # switchport allowed vlan 100

    2. Disable Flow Control on the interfaces. Run:

    switch (config) # interface ethernet 1

    switch (config-if-et1) # flowcontrol send off

    switch (config-if-et1) # flowcontrol receive off

    switch (config-if-et1) # exit

    switch (config) # interface ethernet 2

    switch (config-if-et2) # flowcontrol send off

    switch (config-if-et2) # flowcontrol receive off

     

    3. Enable PFC on the desired priority on the interfaces. Run:

    switch (config) # interface ethernet 1

    switch (config-if-et1) # priority-flow-control mode on

    switch (config-if-et1) # priority-flow-control priority 3 no-drop

    switch (config) # interface ethernet 2

    switch (config-if-et2) # priority-flow-control mode on

    switch (config-if-et2) # priority-flow-control priority 3 no-drop