Subject: [Dime] Ben's comments on 5.2.2: 5th paragraph

From: "Wiehe, Ulrich (NSN - DE/Munich)" <[email-masked]>
Date: Thu, 15 Jan 2015 09:59:10 +0000

Ben wrote:
-- 5.2.2: 5th paragraph:

This doesn't seem quite right, since it leaves the option of no abatement at all. Second, it doesn't seem to allow delegation of abatement downstream. When might one choose to ignore those SHOULDs? Is this here to allow delegation? If so, the use of SHOULD makes local throttling preferred over delegation.

<Ulrich> My understanding is: If delegation of abatement is done by a node, then that node is no longer a reacting node.
The first SHOULD is ignored by reacting nodes that do not support diversion and hence always perform throttling. For the second SHOULD you MAY be right. We SHOULD replace it with MUST.
In addition the world "otherwise" must not be read as " if diversion abatement treatment is not possible" but as " if diversion abatement treatment is not possible and if the first SHOULD is ignored".

---

From: Steve Donovan <[email-masked]>
Date: Thu, 15 Jan 2015 07:38:38 -0600

On 1/15/15 3:59 AM, Wiehe, Ulrich (NSN - DE/Munich) wrote:
> Ben wrote:
> -- 5.2.2: 5th paragraph:
> This doesn't seem quite right, since it leaves the option of no 
> abatement at all. Second, it doesn't seem to allow delegation of 
> abatement downstream. When might one choose to ignore those SHOULDs? 
> Is this here to allow delegation? If so, the use of SHOULD makes local 
> throttling preferred over delegation.
> <Ulrich> My understanding is: If delegation of abatement is done by a 
> node, then that node is no longer a reacting node.
> The first SHOULD is ignored by reacting nodes that do not support 
> diversion and hence always perform throttling. For the second SHOULD 
> you MAY be right. We SHOULD replace it with MUST.
> In addition the world “otherwise” must not be read as “ if diversion 
> abatement treatment is not possible” but as “ if diversion abatement 
> treatment is not possible and if the first SHOULD is ignored”.
SRD>  I mostly agree with Ulrich.  I propose the second sentence be 
changed to:

The reacting node MUST apply throttling abatement treatment to requests
identified for abatement treatment  when diversion treatment
is not possible or was not applied.

>
>
> _______________________________________________
> DiME mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dime

---

From: Ben Campbell <[email-masked]>
Date: Thu, 15 Jan 2015 09:15:33 -0600

> On Jan 15, 2015, at 7:38 AM, Steve Donovan <[email-masked]> wrote:
> 
> 
>> In addition the world “otherwise” must not be read as “ if diversion abatement treatment is not possible” but as “ if diversion abatement treatment is not possible and if the first SHOULD is ignored”.
> SRD>  I mostly agree with Ulrich.  I propose the second sentence be changed to:

I agree in general. But I suggest casting in the form of MUST apply an abatement treatment, which SHOULD be diversion if possible. That is, avoid baking the current fact that we have only two treatment possibilities into the normative language.  In the odd chance we come up with some new kind of treatment in the future, this form would require less modification.

---

From: Steve Donovan <[email-masked]>
Date: Thu, 15 Jan 2015 10:17:45 -0600

> I agree in general. But I suggest casting in the form of MUST apply an abatement treatment, which SHOULD be diversion if possible. That is, avoid baking the current fact that we have only two treat…
SRD> Ok. I'll propose wording later.

---

From: Steve Donovan <[email-masked]>
Date: Tue, 20 Jan 2015 12:17:21 -0600

On 1/15/15 10:17 AM, Steve Donovan wrote:
>>>> abatement downstream. When might one choose to ignore those 
>>>> SHOULDs? Is this here to allow delegation? If so, the use of SHOULD 
>>>> makes local throttling preferred over delegation.
>>>>   <Ulrich> My understanding is: If delegation of abatement is done 
>>>> by a node, then that node is no longer a reacting node.
>>>> diversion and hence always perform throttling. For the second 
>>>> SHOULD you MAY be right. We SHOULD replace it with MUST.
>>>> In addition the world “otherwise” must not be read as “ if 
>>>> diversion abatement treatment is not possible” but as “ if 
>>>> diversion abatement treatment is not possible and if the first 
>>>> SHOULD is ignored”.
>> I agree in general. But I suggest casting in the form of MUST apply 
>> an abatement treatment, which SHOULD be diversion if possible. That 
>> is, avoid baking the current fact that we have only two treatment 
>> possibilities into the normative language. In the odd chance we come 
>> up with some new kind of treatment in the future, this form would 
>> require less modification.
SRD> Looking at this again, the previous paragraph handles the MUST 
apply abatement treatment.  The paragraph in question handles the SHOULD 
do diversion.  I've  added the sentence I suggested above and a note.  
The new text looks as follows:

    If the overload abatement algorithm selects the request for overload
    abatement treatment then the reacting node MUST apply overload
    abatement treatment on the request.  The abatement treatment applied
    depends on the context of the request.

    If diversion abatement treatment is possible (i.e. a different path
    for the request can be selected where the overloaded node is not part
    of the different path), then the reacting node SHOULD apply diversion
    abatement treatment to the request.  The reacting node MUST apply
    throttling abatement treatment to requests identified for abatement
    treatment when diversion treatment is not possible or was not
    applied.

       Note: This only addresses the case where there are two defined
       abatement treatments, diversion and throttling.  Any extension
       that defines a new abatement treatment must also defined the
       interaction of the new abatement treatment with existing
       treatments.

---

From: Ben Campbell <[email-masked]>
Date: Tue, 20 Jan 2015 14:36:13 -0600

> On Jan 20, 2015, at 12:17 PM, Steve Donovan <[email-masked]> wrote:
> 
> SRD> Looking at this again, the previous paragraph handles the MUST apply abatement treatment.  The paragraph in question handles the SHOULD do diversion.  I've  added the sentence I suggested above and a note.  The new text looks as follows:
> 

I'm okay with the text, but the last sentence doesn't need to be normative, since it's entirely covered as a consequence of the previous MUST and SHOULD. And removing that last MUST makes the note less important.

>      interaction of the new abatement treatment with existing

If we need the note, shouldn't it go in the extensibility section?  (It's probably still worth having, in case someone defines a new Foo treatment that is even preferred over diversion.)