Juniper RE i40e firmware

From Wikitech

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.

  1. Drain the router fully at the protocol level (Transit/Transport/Tunnels/VRRP/PFE etc.)
  2. Disable graceful routing-engine failover
    • deactivate chassis redundancy graceful-switchover
  3. Save rescue config
    • request system configuration rescue save
  4. SCP the firmware file to /var/tmp/ on RE0
  5. 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)
  6. 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
  7. 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
  8. Once the RE switch is complete issue the following from the serial console of RE0:
    • requst vmhost reboot
  9. Monitor the serial console of RE0, you'll see it reboot and start the firmware upgrade.
  10. 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
  11. From RE1: request chassis cb slot 0 offline
  12. From RE1: request chassis cb slot 0 online
    • Use: show chassis environment cb to see status
  13. RE0 will reboot again (monitor serial) and ask to power-cycle again 2 more times, repeat the above process each time.
  14. Eventually RE0 will be fully booted, without asking to power-cycle
  15. At this stage we can start the JunOS upgrade on RE0
  16. Disable graceful switchover if it's on:
    • deactivate chassis redundancy graceful-switchover
  17. From RE0 serial console: request vmhost software add /var/tmp/$filename.tgz (include no-validate if needed)
  18. Once the software is loaded reload the RE0 vmhost again: request vmhost reboot
  19. RE0 will reboot, when it comes up it will be on newer JunOS, before we switch to it we set RE1 to upgrade firmware
  20. SCP the firmware file to /var/tmp/ on RE1
  21. 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)
  22. 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
  23. Now we can switch over to RE0, which has already been upgraded
  24. request chassis routing-engine master switch
  25. Wait until RE0 has taken back over, interfaces are up, OSPF adjacencies Full, configured BGP sessions Established.
  26. From RE1 serial console: request vmhost reboot
  27. 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
  28. When RE1 is back up login to it on serial console, we can go ahead and upgrade JunOS on it now.
  29. From RE1 serial console: request vmhost software add /var/tmp/$filename.tgz (include no-validate if needed)
  30. Once the software is loaded reload the RE1 vmhost again: request vmhost reboot
  31. 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.