RE: [EFM-OAM] 4/21 OAM Call / Usage of zero
From Matt's notes:
==================================
Reserving zero. The call participants didn't understand the Editor's reluctance to use the value "0" very much, as it appears to be reserved in many tables though not all. As zero is a valid value, it would seem to make sense to allow it. This was brought up in the context of the loopback command. Loopback commands use 0x01 and 0x02 to enable/disable loopback mode, whereas 0x00 and 0x01 are generally "off"/"on" values.
Action: Ask editor why he hates the value zero.
===================================
Guess that's my cue.
When we made the change to go from a "loopback timer" to a "loopback command", I thought about the width of the command. Since we've been using octet-wide values in PDUs, I didn't constrain myself to "0" & "1" as the values for ON and OFF. I also looked at prior opcodes and commands such as Table 31A-1. Here, the value 0x0000 is reserved and 0x0001 is used for PAUSE. Presuming good reasons for reserving 0x0000, I followed the precendence.
I don't have any religion on the usage of zero.
Table 57-4: Since we don't have a NULL PDU, I used 0x00 for Information PDU
Table 57-10: Needing an "end of TLVs" marker of some kind, I reserved the TVL type value of zero for just that.
Table 57-13: Not sure of the value of reserving zero here. (Looks like I missed some editing in the description section "Reserved needs update" was supposed to be my reminder. Oops!) If your Variable Width indicates error (bit 23) then there doesn't seem to be any purpose for reserving zero as "no error". This should probably be fixed.
Kevin Daines
Editor, EFM OAM