Subject: [Capwap] Issue 164: Some bitfields need to be clarified

From: "Pat Calhoun (pacalhou)" <[email-masked]>
Date: Tue, 29 Jul 2008 12:17:03 -0700

Pasi's comment was:

   The description of bit fields needs clarification in several places:
   at least Section 4.6.1 (Security field), 4.6.1 (DTLS Policy field),
   4.6.43 (Frame Tunnel Mode field). For example, the "Security" field
   currently seems to say that bit 1 is X.509, bit 2 
   is PSK, and bits 0 and 3..7 are unused -- but the intention was
   probably to say that bit 0 is X.509 and so on. This 
   gets especially confusing in Section 4.6.43 (and associated IANA text
   in 15.21), where it's not even clear whether this 
   is an enumeration or bit field. Drawing bit diagrams would be a good
   idea, IMHO.

Pasi is correct. One could mis-interpret the spec and think that the 
values provided are in fact the values, and not the bit positions in the
frame. So I do agree that we should address this problem to ensure
interoperability.

Note that in my process, I assumed that existing implementation assumed
that the
value was in fact the bit position, hence why the zero (0) was always
reserved.

Here is the proposed text:

<text>
4.6.1.  AC Descriptor
[...]
   Security:   A 8 bit mask specifying the authentication credential
      type supported by the AC (See Section 2.4.4).  The field has the
      following format:

         0 1 2 3 4 5 6 7
        +-+-+-+-+-+-+-+-+
        |Reserved |S|X|U|
        +-+-+-+-+-+-+-+-+

      Reserved:  A set of reserved bits for future use.  All
         implementations complying with this protocol MUST set to zero
         any bits that are reserved in the version of the protocol
         supported by that implementation.  Receivers MUST ignore all
         bits not defined for the version of the protocol they support.

      S:   The AC supports the pre-shared secret authentication, as
         described in Section 12.6.

      X:   The AC supports X.509 Certificate authentication, as
         described in Section 12.7.

      U:   This bit is set to zero and is unused.
[...]
   DTLS Policy:   The AC communicates its policy on the use of DTLS for
      the CAPWAP data channel.  The AC MAY communicate more than one
      supported option, represented by the bit field below.  The WTP
      MUST abide by one of the options communicated by AC.  The field
      has the following format:

         0 1 2 3 4 5 6 7
        +-+-+-+-+-+-+-+-+
        |Reserved |D|C|U|
        +-+-+-+-+-+-+-+-+

      Reserved:  A set of reserved bits for future use.  All
         implementations complying with this protocol MUST set to zero
         any bits that are reserved in the version of the protocol
         supported by that implementation.  Receivers MUST ignore all
         bits not defined for the version of the protocol they support.

      D:   DTLS Enabled Data Channel Supported

      C:   Clear Text Data Channel Supported

      U:   This bit is set to zero and is unused.

4.6.44.  WTP Frame Tunnel Mode

   The WTP Frame Tunnel Mode message element allows the WTP to
   communicate the tunneling modes of operation which it supports to the
   AC.  A WTP that advertises support for all types allows the AC to
   select which type will be used, based on its local policy.

      0
      0 1 2 3 4 5 6 7
     +-+-+-+-+-+-+-+-+
     |Reservd|N|E|L|U|
     +-+-+-+-+-+-+-+-+

   Type:   41 for WTP Frame Tunnel Mode

   Length:   1

   Reservd:   A set of reserved bits for future use.  All
      implementations complying with this protocol MUST set to zero any
      bits that are reserved in the version of the protocol supported by
      that implementation.  Receivers MUST ignore all bits not defined
      for the version of the protocol they support.

   N:   Native Frame Tunnel mode requires the WTP and AC to encapsulate
      all user payloads as native wireless frames, as defined by the
      wireless binding (see for example Section 4.4)

   E:   The 802.3 Frame Tunnel Mode requires the WTP and AC to
      encapsulate all user payload as native IEEE 802.3 frames (see
      Section 4.4).  All user traffic is tunneled to the AC.  This value
      MUST NOT be used when the WTP MAC Type is set to Split-MAC.

   L:   When Local Bridging is used, the WTP does not tunnel user
      traffic to the AC; all user traffic is locally bridged.  This
      value MUST NOT be used when the WTP MAC Type is set to Split-MAC.

   U:   This bit is set to zero and is unused.
</text>

PatC
_________________________________________________________________
To unsubscribe or modify your subscription options, please visit:
http://lists.frascone.com/mailman/listinfo/capwap

Archives: http://lists.frascone.com/pipermail/capwap