Juniper MX and tunable optics

Got my hands on a fully DWDM C-band tunable XFP today! Didn't take long before it was properly seated in a small MX80 I have in close vicinity. Soon later, disappointed and dismayed to see a peak pegged to 1550nm on my spectrum analyzer...

Putting the tunable optic in one of the four built-in 10GE ports only resulted in it transmitting on 1550nm - the default on JUNOS boxes. Setting or not setting wavelength (under optic-options on the interface configuration) didn't have any effect at all.

If I on the other hand used a 10GE port on a MIC, the XFP would adjust to whatever wavelength I set in the configuration.

Discussing the matter with lord Ytti soon led to the XFP once again being seated in a built-in port and I launched a shell on the internal CPU on the FEB.

kll@ROUTER>  start shell pfe network tfeb0

TFEB platform (1000Mhz MPC 8544 processor, 1024MB memory, 512KB flash)

TAZ-TBB-0( vty)# test xfp 5
    alarm                 test xfp  alarm 
    data-rate             set xfp data rate
    laser                 set xfp laser
    loopback              xfp loopback
    periodic              xfp periodic
    power                 set XFP power
    presence              check presence of xfp
    read                  xfp read register
    stats-clear           clear xfp stats
    wavelength            set xfp wavelength
    write                 xfp write register

TAZ-TBB-0( vty)# test xfp 1 presence
xfp-0/0/0 is  present

TAZ-TBB-0( vty)# test xfp 2 presence
xfp-0/0/1 is  present

TAZ-TBB-0( vty)# test xfp 3 presence
xfp-0/0/2 not present

0/0/1 looks like my horse and so let's try setting wavelength;

TAZ-TBB-0( vty)# test xfp 2 wavelength 1537
Error, command returned 7 error code

TAZ-TBB-0( vty)#

Nope..

TAZ-TBB-0( vty)# test xfp 2 wavelength 153700

TAZ-TBB-0( vty)#

Yay!

... and the spec' says: 1537.025nm! So it seems that the hardware indeed is capable of setting the wavelength on the XFP - it's just JUNOS that doesn't properly pass the information from the configuration to the FEB.

Another rather interesting thing I noticed was that after a while, the XFP, when inserted in a built-in port, jumps to a different wavelength for no apparent reason. A minute later it jumps again and continues to do this. It does not appear to be temperature related, since it's very stable at 1550nm if I don't touch anything. Not sure if the FEB might be writing random bits to the XFP as it is in some form of "unknown state" after I manually set the wavelength.. remains to be seen once the wavelength tuning bug is fixed in JUNOS.

Turn on, tune in and tune out!

UPDATE: This should be supported in JUNOS 11.2 and later.. let's wait and see :)