Subject: Re: [Dime] endpoint determination

From: Ben Campbell <[email-masked]>
Date: Tue, 3 Dec 2013 15:45:42 -0600

On Nov 28, 2013, at 6:21 AM, Wiehe, Ulrich (NSN - DE/Munich) <[email-masked]> wrote:

> Hi,
> 
> draft-ietf-dime-ovli-00 in Clause 5.1 says:
> 
> How the endpoints are determined is specific to a deployment, a Diameter node role in that deployment and local configuration.
> 
> 
> In order to better address REQ  6 of RFC 7068 I would like to propose some principles that should be taken into account:
> 
> 1. A client that supports the Diameter Overload Control Mechanism must (offer to) take the role of a reacting endpoint and hence includes the OC-Feature-Vector AVP when sending requests.
> 2. An Agent that - based on local configuration - takes the role of a reporting endpoint (towards the downstream reacting endpoint) must also (offer to) take the role of a reacting endpoint towards the server and hence replace the received OC-Feature-Vector AVP with its own OC-Featur-Vector AVP.

I agree with the concepts in 1 and 2, but not as written (assuming you intend the use of must to be normative.) I think this is better written in terms of a definition of what reporting node and reacting node means, then mention that a supporting client is normally a reacting node, a supporting server is normally a reporting node, and an agent can be both.

> 3. An agent that supports the Diameter Overload Control Mechanism and that - based on absence of local configuration - does not take the role of a reporting endpoint must be able to detect whether a downstream agent or client  already takes the role of the reacting endpoint (e.g. by checking the presence of an OC-Feature-Vector AVP in the received request). If it detects that no downstream node took the role of the reacting  endpoint, the agent must take the role of the reacting endpoint and hence insert an OC-Feature AVP to the request. I.e. determination of the reporting endpoint is done dynamically and does not rely on local configuration.

I read that to mean you expect an agent to "take over" as the reacting node even if the administrator has completely turned off OC? If so, I don't agree, at least not as a normative requirement. Implementors can choose to create such a mode if they want to, but we don't need to require it.

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Wed, 4 Dec 2013 10:00:22 +0000

Ben,

please see inline.

Ulrich

-----Original Message-----
From: ext Ben Campbell [mailto:[email-masked]] 
Sent: Tuesday, December 03, 2013 10:46 PM
To: Wiehe, Ulrich (NSN - DE/Munich)
Cc: [email-masked]
Subject: Re: [Dime] endpoint determination

I read that to mean you expect an agent to "take over" as the reacting node even if the administrator has completely turned off OC? If so, I don't agree, at least not as a normative requirement. Implementors can choose to create such a mode if they want to, but we don't need to require it.
[Wiehe, Ulrich (NSN - DE/Munich)] The original intention was to say: "An agent that supports DOIC must be able to detect whether a downstream agent or client already takes the role of the reacting endpoint..." This is to cover the case in figure 4 (see clause 5.1) where the reacting DEP is in A instead of C (A performs throttling on behalf of C towards the reporting endpoint S). But then I noticed that in figure 6 the agent does not take the role of the reacting endpoint on behalf of C2 because A already is the reporting endpoint (by configuration) (A performs throttling on behalf of C2 towards the reporting endpoint A). If the administrator turns off the reporting endpoint functionality in A, then we would have a DOIC association beween C1 and S and a DOIC association between A (on behalf of C2) and S. In summary: the agent takes over the reacting DEP functionality on behalf of the client unless the agent itself is the reporting DEP.

---

From: Jouni Korhonen <[email-masked]>
Date: Wed, 4 Dec 2013 12:02:50 +0200

>> 2. An Agent that - based on local configuration - takes the role of a reporting endpoint (towards the downstream reacting endpoint) must also (offer to) take the role of a reacting endpoint toward…

This should already be possible according to the current
spec..

>> 3. An agent that supports the Diameter Overload Control Mechanism and that - based on absence of local configuration - does not take the role of a reporting endpoint must be able to detect whether a downstream agent or client  already takes the role of the reacting endpoint (e.g. by checking the presence of an OC-Feature-Vector AVP in the received request). If it detects that no downstream node took the role of the reacting  endpoint, the agent must take the role of the reacting endpoint and hence 

I do not agree the MUST here to be written into the spec.
The agent is free to do the above procedure but it is an
implementation & local config issue. 

- JOuni

>> insert an OC-Feature AVP to the request. I.e. determination of the reporting endpoint is done dynamically and does not rely on local configuration.
> 
> _______________________________________________
> DiME mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dime

---

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Wed, 4 Dec 2013 12:28:59 +0000

Jouni,

local configuration is exactly wht REQ6 aims to avoid.

With regard to figure 4 in clause 5.1: why would the agent base its decision (to take over the role of the reacting node on behalf of the non supporting client) on local configuration data rather than on absence of the Feature-Vector AVP?

Ulrich

-----Original Message-----
From: ext Jouni Korhonen [mailto:[email-masked]] 
Sent: Wednesday, December 04, 2013 11:03 AM
To: Ben Campbell
Cc: Wiehe, Ulrich (NSN - DE/Munich); [email-masked]
Subject: Re: [Dime] endpoint determination

- JOuni

---

From: Jouni Korhonen <[email-masked]>
Date: Wed, 4 Dec 2013 16:27:34 +0200

- Jouni

> local configuration is exactly wht REQ6 aims to avoid.

I still do not agree on the MUST in your proposal, since the
REQ6 is SHOULD.

> With regard to figure 4 in clause 5.1: why would the agent base its decision (to take over the role of the reacting node on behalf of the non supporting client) on local configuration data rather t…

Because a network administrator may have a reason
beyond our current visibility to prohibit and agent
of doing so. For example the administrator might 
want to prohibit DOIC for some realms talking to
its servers.

- Jouni