Description

On a 100GE link between MX10003 JNP-MIC1 and Pluribus (Arista) NRU02 switch, when NRU02 switch is being booted up, the link may keep flapping frequently for 40+ minutes. The problem will be automatically resolved without any manual intervention.

The problem is only triggered after NRU02's boot-up (soft reboot/power cycle, etc). Simple link flap or MX side operation like rebooting FPC or bouncing MIC never triggers the problem.

Refer to PR1686012.

Solution

This issue is fixed in the Junos Releases listed in PR1686012

The following workaround is for Junos Releases before the fix in PR1686012.

Manual steps:

By configuring 'disable' to MX interface before NRU02 is booted up, the problem can be avoided.
Once NRU02 is completely booted up, wait for additional 5 minutes, then enable the interface back.
  • On MX side. Configure disable to the interface before NRU02 switch is going to boot up. (or powered up)
#set interface <Physical interface towards NRU02> disable
#commit
  • Power up NRU02 here
  • Once NRU02 switch is booted up, wait for another 5 min, then enable the interface back on MX side
#delete interface <Physical interface towards NRU02> disable
#commit

Automation;

Juniper is provides a mitigation event-script. This script only covers NRU02's 'soft-reboot' scenario.
For hard-reboot or Power Cycle of NRU02, you still need to follow the above 'Manual steps'.

Mitigation scriptifd_flap_mitigation.slax 
This script detects peer NRU switch's soft-reboot event, then keep the MX interface disabled until NRU02 gets stablized.

Installation
Copy the script as /var/db/scripts/event/ifd_flap_mitigation.slax on both Routing-Engines.

Required configuration

set event-options generate-event 1min time-interval 60
set event-options policy ifd_flap_mitigation_periodic events 1min
set event-options policy ifd_flap_mitigation_periodic then event-script ifd_flap_mitigation.slax
set event-options event-script file ifd_flap_mitigation.slax


Optional but recommended configuration

set event-options event-script optional
set system scripts synchronize


Script customization 
NOTE: This script determines its neighbor device by LLDP 'Chassis Id' and 'System Name' fields.
By default, chassis-id strings starting from 11 or 18 in hex (corresponding to host-id on NRU02 which is shown as decimal value) are identified as the target Pluribus NRU switch.

For example:

On NRU02 host-id : 285212846
On MX side:lldp-remote-chassis-id : 110000ae

You can customize the behavior with configuration knobs.

set event-options policy ifd_flap_mitigation_periodic then event-script ifd_flap_mitigation.slax arguments lldp-remote-chassis-id "<regex for chassisd id>"

set event-options policy ifd_flap_mitigation_periodic then event-script ifd_flap_mitigation.slax arguments lldp-remote-system-name "<regex for remote system name>"


For example, if your NRU02 switches contain "NRU02" in their hostname, you can configure like this:

set event-options policy ifd_flap_mitigation_periodic then event-script ifd_flap_mitigation.slax arguments lldp-remote-system-name "NRU02"

Modification History

2023-04-12 added PR1686012 as software resolution
2022-08-29: initial draft