Juniper RE i40e firmware

==Backgroud==
Certain MX480 line cards have an Intel i40e network card built in, the firmware on which needs to be upgraded to version 6.01 to work with more recent JunOS versions.
==Firmware File==
The firmware file is available from Juniper TAC directly, it's not publicly available on their site, so open a TAC case to get the appropriate one for the JunOS version the router is currently running.
==Steps==
The following steps are the best way to complete an upgrade of this firmware and JunOS itself. It assumes RE0 is master at start of process. 
The basic approach is to upgrade the firmware, and then JunOS, on each RE one at a time. This requires less disruptive RE switchovers than doing the firmware on both first, and then JunOS upgrade on both after.
# Drain the router fully at the protocol level (Transit/Transport/Tunnels/VRRP/PFE etc.)
#* Following the standard Juniper router upgrade instructions.
# Disable graceful routing-engine failover
#* deactivate chassis redundancy graceful-switchover
# Save rescue config
#* request system configuration rescue save
# SCP the firmware file to /var/tmp/ on RE0
# Load the firmware file
#* request vmhost software add /var/tmp/jfirmware-vmhost-x86-64-17.3R3-S8.1.tgz (or appropriate file for current JunOS version)
# Tell RE0 to upgrade the firmware on its next reboot (NOTE: this command can only be issued for the current master RE)
#* request system firmware upgrade re i40nvm
#* show system firmware 
#** This command should show "PROGRAMMING" at 0% beside the i40e
# We need to reboot this RE to start the upgrade, so at this stage we want to switchover the REs
#* It *is* possible to re-enable graceful-switchover at this point if we want, wait for sync and then switch. This removes 1 impactful switchover, but is perhaps riskier.
#* request chassis routing-engine master switch
# Once the RE switch is complete issue the following from the serial console of RE0:
#* requst vmhost reboot
# Monitor the serial console of RE0, you'll see it reboot and start the firmware upgrade.
# At a certain point it will say you need to power-cycle the RE. 
#* We can do this from the other/master RE.
#* Keep a close eye on the serial console of RE0, if you don't reboot quickly after it says it'll keep booting and be trickier to continue
# From RE1: request chassis cb slot 0 offline
# From RE1: request chassis cb slot 0 online
#* Use: show chassis environment cb to see status
# RE0 will reboot again (monitor serial) and ask to power-cycle again 2 more times, repeat the above process each time.
# Eventually RE0 will be fully booted, without asking to power-cycle
# At this stage we can start the JunOS upgrade on RE0
# Disable graceful switchover if it's on:
#* deactivate chassis redundancy graceful-switchover
# From RE0 serial console: request vmhost software add /var/tmp/$filename.tgz (include no-validate if needed)
# Once the software is loaded reload the RE0 vmhost again: request vmhost reboot
# RE0 will reboot, when it comes up it will be on newer JunOS, before we switch to it we set RE1 to upgrade firmware
# SCP the firmware file to /var/tmp/ on RE1
# Load the firmware file to RE1
#* request vmhost software add /var/tmp/jfirmware-vmhost-x86-64-17.3R3-S8.1.tgz (or appropriate file for current JunOS version)
# Tell RE1 to upgrade the firmware on its next reboot (NOTE: this can only be done when the RE is the master)
#* request system firmware upgrade re i40nvm
#* show system firmware 
#** This command should show "PROGRAMMING" at 0% beside the i40e
# Now we can switch over to RE0, which has already been upgraded
# request chassis routing-engine master switch
# Wait until RE0 has taken back over, interfaces are up, OSPF adjacencies Full, configured BGP sessions Established.
# From RE1 serial console: request vmhost reboot
# RE1 will reboot and upgrade firmware, it'll say again to power cycle several times, each time it asks:
#* From RE0: request chassis cb slot 1 offline
#* From RE0: request chassis cb slot 1 online
# When RE1 is back up login to it on serial console, we can go ahead and upgrade JunOS on it now.
# From RE1 serial console: request vmhost software add /var/tmp/$filename.tgz (include no-validate if needed)
# Once the software is loaded reload the RE1 vmhost again: request vmhost reboot
# RE1 will reboot, when it comes up it will be on newer JunOS
At this point run the normal checks, cleanup operations, re-enable graceful switchover, reset protocols, VRRP etc as outlined in the general instructions.
Category:Juniper