Subject: [eap] Revised Section 5.7: Vendor-Specific

From: [email-masked] (Bernard Aboba)
Date: Fri, 3 Jan 2003 10:58:11 -0800 (PST)

Based on Paul Funk's comments, I've revised Section 5.7, Vendor-Specific.
Here is the proposed strawman text. Comments welcome. I'm still working on
the revisions to the Nak section; those will be ready for review in a day
or two.

5.7.  Vendor-specific

Description

   Due to EAP's popularity, the original Method Type space, which only
   provides for 255 values, is being allocated at a pace, which if
   continued, would result in exhaustion within a few years. Since many
   of the existing uses of EAP are vendor-specific, the Vendor-Specific
   Method Type is available to allow vendors to support their own
   extended Types not suitable for general usage.

   The Vendor-specific type is also used to expand the global Method
   Type space beyond the original 255 values. A Vendor-Id of 0 maps the
   original 255 possible types onto a namespace of 2^32-1 possible
   types, allowing for virtually unlimited expansion. (Note that type 0
   is never used.)

   An implementation that supports the Vendor-specific attribute MUST
   treat EAP types that are less than 256 equivalently whether they
   appear as a single octet or as the 32-bit Vendor-Type within a
   Vendor-specific type where Vendor-Id is 0. The single exception to
   this rule is the Nak type, as described below.

   Peers not equipped to interpret the Vendor-specific Type MUST send a
   Nak, and negotiate a more suitable authentication method.

   A summary of the Vendor-specific Type format is shown below. The
   fields are transmitted from left to right.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |               Vendor-Id                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                          Vendor-Type                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              Vendor data...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

   254 for Vendor-specific

Vendor-Id

   The Vendor-Id is 3 octets and represents the SMI Network Management
   Private Enterprise Code of the Vendor in network byte order, as
   allocated by IANA. A Vendor-Id of zero is reserved for use by the
   IETF in providing an expanded global EAP Type space.

Vendor-Type

   The Vendor-Type field is four octets and represents the vendor-
   specific Method Type.

   If Vendor-Id is zero, the Vendor-Type field is an extension and
   superset of the existing namespace for EAP types. The first 256 types
   are reserved for compatibility with single-octet EAP types that have
   already been assigned or may be assigned in the future.  Thus, EAP
   types from 0 through 255 are semantically identical whether they
   appear as single octet EAP types or as Vendor-Types when Vendor-Id is
   zero.

Vendor-Data

   The Vendor-Data field is defined by the vendor.  Where a Vendor-Id of
   zero is present, the Vendor- Data field will be used for transporting
   the contents of EAP Methods of Types defined by the IETF.