Subject: [AAA-WG]: draft-ietf-aaa-diameter-02.txt / Proxy-State

From: "Bob Kopacz" <[email-masked]>
Date: Sun, 15 Apr 2001 21:39:16 -0400

Hi Pat,

Here is a problem and a proposed solution:

The Problem:
------------
Proxy-State (AVP Code 33) is one of the attributes inherited from
RADIUS.

However, in Radius this attribute is of type OctetString, while in
Diameter it is of type Grouped.

The problem comes when defining the dictionary entry for
Proxy-State, in a AAA server which supports both Radius and Diameter
peers.  Whether the dictionary types Proxy-State as STRING or
GROUPED, one of the protocols is going to be confused.

Proposed Solution: 
------------------
The Diameter Proxy-Info AVP corresponds to what Radius calls
Proxy-State.  They are both of type OctetString and represent opaque
state data.

My thought would be to swap the current roles of Proxy-State and
Proxy-Info.

That is, keep the two-member grouped AVP of proxy stuff, but make
Proxy-State the second member of the group, and make Proxy-Info the
Grouped AVP.  Proxy-Info retains its AVP code of 284, and
Proxy-State retains its AVP code of 33.  In the documents, swap all
occurrences of Proxy-State with Proxy-Info and vice versa.  Sections
12.4.4-12.4.6 would become:

| 12.4.4  Proxy-Info AVP
|
| The Proxy-Info AVP (AVP Code = 284) is of type Grouped.  The Grouped
| Data field has the following ABNF grammar:
|
|    Proxy-Info   = Proxy-Address Proxy-State
|       Proxy-Address = ; See Section 12.4.5
|       Proxy-State   = ; See Section 12.4.6
|
| The Proxy-Address AVP Data field contains one of the IP addresses of
| the system that created the AVP. This assists hosts in determining
| whether a Proxy-Info AVP is intended for the local host. The Proxy-
| State AVP contains state information, and MUST be treated as opaque
| data.
|
|    +---------------------------------------------------------------+
|    |                 AVP Header (AVP Code = 284)                   |
|    +---------------------------------------------------------------+
|    |                      Proxy-Address AVP                        |
|    +---------------------------------------------------------------+
|    |                        Proxy-State AVP                        |
|    +---------------------------------------------------------------+
|
|
| 12.4.5  Proxy-Address AVP
|
| The Proxy-Address AVP (AVP Code = 280) is of type Address.  Its use
| is described in Section 12.4.4.
|
|
| 12.4.6  Proxy-State AVP
|
| The Proxy-State AVP (AVP Code = 33) is of type OctetString.  Its use
| is described in Section 12.4.4.

---

From: Patrice Calhoun <[email-masked]>
Date: Thu, 26 Apr 2001 10:49:52 -0700 (PDT)

> Here is a problem and a proposed solution:

[solution delete]

Bob,

Thanks for the proposal. It has been included in -03. I agree that this
minimal change will eliminate alot of problems with dual RADIUS/Diameter
implementations.

Thanks,

PatC