Supported by the GlobalNOC at Indiana University

Upgrading Code

* If you're upgrading the device as part of SDN device testing you'll want to consider upgrading both routing engines intially as one of the later tests depends on you switching the routing engine and verifying correct behavior.

To load new software onto the Juniper MX-960 switch you should do the following. (Note if the disk is full you may have to open a shell and clear some space. (> start shell) Then you can rm files as you would on any unix system.

There will be two packages involved. A jinstall and a jsdn package in separate .tgz files. First start by scp'ing the packages to the switch.

scp *.tgz <switch ip>:

Next log into the switch on the management ip.

Run the following commands adding the package names as needed.


> edit

> deactivate interfaces

> deactivate protocols openflow

> deactivate routing-instances al2s_of_switch

> commit

> exit

> request system software delete jsdn [or jsdn-i386, etc.]

At this point, we've seen the following error message:

"Database header sequence numbers mismatch for file '/var/run/db/'. If a package has just been added or deleted, please verify and commit the configuration."

The solution is to continue with the upgrade.

> request system software add no-validate <new jinstall package filename>

> request system reboot

Wait for the RE to reboot, then log back in:

> request system software add <new jsdn package filename>

> edit

> activate interfaces

> edit protocols openflow switch al2s

> set controller address [or other controller ip, as appropriate]

> set controller protocol tcp port 6633 <or other controller port>

> commit

> exit

> activate protocols openflow

> activate routing-instances al2s_of_switch

> commit

> exit

Now that you've activated the openflow protocol you will have to add some openflow interfaces and set emergency mode.

> edit

> edit protocols openflow switch al2s interfaces

For testing purposes we just set all of the *.0 interfaces

> set et-5/0/0.0

> set xe-7/0/0.0

> set xe-7/0/1.0

> set xe-7/0/2.0

> commit

> exit

Now set emergency-mode. (note this command will not tab complete... for reasons)

> edit protocols openflow switch al2s

> set emergency-mode

> commit

Note that the switch has two Routing Engines denoted by the prompt when you log in. For instance 

thompsbp@mx960-2-re0> shows that Routing Engine 0 is currently in use. Each routing engine has its own copy of the code the switch uses. For recovery purposes you should only upgrade one routing engine on each switch so that if there is an issue you can fail back to the other routing engine. Once the switch reboots as part of the install there is no guarantee it will come back up with the same routing engine you just upgraded. If that is the case you will need to have the switch change to the routing engine you have just upgraded with the following command. 

> request chassis routing-engine master switch


Your request has been completed.