Re: WG LC draft-ietf-idr-flowspec-path-redirect-10.txt [11/17/2019 to 12/2/2019]

"Van De Velde, Gunter (Nokia - BE/Antwerp)" <[email protected]> Fri, 29 Nov 2019 03:51:35 +0000
Newsgroups gmane.ietf.idr
Message-ID <AM6PR07MB482356A327D714512EBAF2DBE0460@AM6PR07MB4823.eurprd07.prod.outlook.com>
--===============2169833428345733426==
Content-Language: en-US
Content-Type: multipart/alternative;
 boundary="_000_AM6PR07MB482356A327D714512EBAF2DBE0460AM6PR07MB4823eurp_"

--_000_AM6PR07MB482356A327D714512EBAF2DBE0460AM6PR07MB4823eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Jeff,

Thanks for the feedback and suggestions.

See inline: GV>

-----Original Message-----
From: Idr <[email protected]> On Behalf Of Jeffrey Haas
Sent: Thursday, November 28, 2019 20:21
To: Sue Hares <[email protected]>
Cc: [email protected]
Subject: Re: [Idr] WG LC draft-ietf-idr-flowspec-path-redirect-10.txt [11/1=
7/2019 to 12/2/2019]

Sue,



> On Nov 18, 2019, at 12:41 AM, Susan Hares <[email protected]<mailto:shares@=
ndzh.com>> wrote:
>
> This begins a 2 week WG Last call on draft-idr-flowspec-path-redirect-10.=
txt from [11/17/2019 to 12/2/2019].
>
> You can obtain the draft at:
>
> https://datatracker.ietf.org/doc/draft-ietf-idr-flowspec-path-redirect/
>
> Consider in your review whether this draft:
>
> 1)      Is compatible with draft-ietf-rfc5575bis-17.txt?

Yes.  (Close enough.)  The current version of the draft is implementable.

> 2)      Whether the draft is useful for deployments of flow specification

It can be useful.

> 3)      Is this technology ready for deployment?
> 4)      Is the write-up of this technology in draft-ietf-idr-flowspec-pat=
h-redirect clearly written and ready for publication?

Ready with minor issues, IMO:

Procedure-wise, there needs to be a bit more text covering cases about inte=
ractions with other traffic actions.  This was a known headache for similar=
 drafts such as redirect-to-ip.  In particular, interaction with redirect-t=
o-ip and redirect-to-vrf is needed.

GV> Section "6. Validation Procedures" gives input on this. We discussed th=
is with you long ago and hence this text was added.

"
   While it MUST NOT happen, and is seen as invalid combination, it is
   possible from a semantics perspective to have multiple clashing
   redirect actions defined within a single flowspec rule.  For best and
   consistant compatibility with legacy implementations, the redirect
   functionality as documented by rfc5575bis MUST NOT be broken, and
   hence when a clash occurs, then rfc5575bis based redirect MUST take
   priority.
"

This means that redirect-to-VRF will take absolute priority to not break rf=
c5575bis behavior.
Having also redirect-to-ip will result in an invalid


The text "A single flowspec rule MUST NOT have more as one indirection-id p=
er S-ID.  On a flowspec client the indirection-id with lowest S-ID MUST be =
imposed first for any given flowspec entry."  There's no procedure for what=
 happens in error handling when you do have more than one of the same S-ID.=
  The text about the case for S-ID of 0 is also a bit ambiguous.  It feels =
like it's reading "there is no sequence", but what do you do when you then =
have ones that do?

GV> What about the following rewrite:

Original:
    The 'S-ID' field identifies a 4 bit Sequence ID field.  This field is
   used to provide a flowspec client an indication how and where to
   sequence the received indirection-ids.  The Sequence ID value 0
   indicates that Sequence ID field is NOT set and SHOULD be ignored.  A
   single flowspec rule MUST NOT have more as one indirection-id per
   S-ID.  On a flowspec client the indirection-id with lowest S-ID MUST
   be imposed first for any given flowspec entry.

New:
   The 'S-ID' field identifies a 4 bit Sequence ID field.  This field is
   used to provide a flowspec client an indication how and where to
   sequence the received indirection-ids.  The Sequence ID value 0
   indicates that Sequence ID field is NOT set and **all other sequence ID'=
s**
   SHOULD be ignored.  A
   single flowspec rule MUST NOT have more as one indirection-id per
   S-ID.  On a flowspec client the indirection-id with lowest S-ID MUST
   be imposed first for any given flowspec entry.

GV> In section *6. Validation procedure" there is text to handle the error =
condition when the flowspec rule results in an invalid redirection, that pr=
escribe what needs to happen when the "redirect to indirection-id" does not=
 result in a valid redirection:

"
   While it MUST NOT happen, and is seen as invalid combination, it is
   possible from a semantics perspective to have multiple clashing
   redirect actions defined within a single flowspec rule.  For best and
   consistant compatibility with legacy implementations, the redirect
   functionality as documented by rfc5575bis MUST NOT be broken, and
   hence when a clash occurs, then rfc5575bis based redirect MUST take
   priority.  Additionally, if the "Redirect to indirection-id" does not
   result in a valid redirection, then the flowspec rule MUST be
   processed as if the "Redirect to indirection-id" community was not
   attached to the flowspec route.
"

GV> Is there more to add to this? (We could add a line to detail that "redi=
rect-to-ip" is incompatible with "redirect to indirection-id" and result in=
 invalid redirection rule, however to me that is already implied with enoug=
h detail in the text above)

A few IANA issues:
I see the type registry is currently registered with IANA (code point 0x09)=
..  However, the sub-type registry is not established for some reason?
The ID-Type field likely needs its own IANA registry.  Values 1-5 are defin=
ed in this draft.

GV> Correct. There is a reason for this. When we asked IANA the code-points=
 they informed me that once the document get to RFC the sub-type registry w=
ill be established by IANA.

The flags field (one octet) currently has 3 bits reserved.  In the past, we=
've not done a registry for such cases (c.f. graceful restart) until we nee=
d to start carving out those reserved bits for future extensions.  I leave =
it to the chairs' opinion whether we want this a priori or not.

G/


>
> Thank you for considering this draft.
>
> Cheerily, Susan Hares
>
> _______________________________________________
> Idr mailing list
> [email protected]<mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/idr

_______________________________________________
Idr mailing list
[email protected]<mailto:[email protected]>
https://www.ietf.org/mailman/listinfo/idr


--_000_AM6PR07MB482356A327D714512EBAF2DBE0460AM6PR07MB4823eurp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left:=
 #800000 2px solid; } --></style>
</head>
<body>
<font face=3D"Calibri" size=3D"2"><span style=3D"font-size:11pt;">
<div>Hi Jeff,</div>
<div>&nbsp;</div>
<div>Thanks for the feedback and suggestions.</div>
<div>&nbsp;</div>
<div>See inline: <font color=3D"#4472C4"><b>GV&gt;</b></font></div>
<a name=3D"_MailEndCompose"></a>
<div>&nbsp;</div>
<div>-----Original Message-----<br>

From: Idr &lt;[email protected]&gt; On Behalf Of Jeffrey Haas<br>

Sent: Thursday, November 28, 2019 20:21<br>

To: Sue Hares &lt;[email protected]&gt;<br>

Cc: [email protected]<br>

Subject: Re: [Idr] WG LC draft-ietf-idr-flowspec-path-redirect-10.txt [11/1=
7/2019 to 12/2/2019]</div>
<div>&nbsp;</div>
<div>Sue,</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&gt; On Nov 18, 2019, at 12:41 AM, Susan Hares &lt;<a href=3D"mailto:s=
[email protected]">[email protected]</a>&gt; wrote:</div>
<div>&gt; </div>
<div>&gt; This begins a 2 week WG Last call on draft-idr-flowspec-path-redi=
rect-10.txt from [11/17/2019 to 12/2/2019]. </div>
<div>&gt;&nbsp; </div>
<div>&gt; You can obtain the draft at:</div>
<div>&gt;&nbsp; </div>
<div>&gt; <a href=3D"https://datatracker.ietf.org/doc/draft-ietf-idr-flowsp=
ec-path-redirect/">https://datatracker.ietf.org/doc/draft-ietf-idr-flowspec=
-path-redirect/</a></div>
<div>&gt;&nbsp; </div>
<div>&gt; Consider in your review whether this draft: </div>
<div>&gt;&nbsp; </div>
<div>&gt; 1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is compatible with draft-ietf-rf=
c5575bis-17.txt? </div>
<div>&nbsp;</div>
<div>Yes.&nbsp; (Close enough.)&nbsp; The current version of the draft is i=
mplementable.</div>
<div>&nbsp;</div>
<div>&gt; 2)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether the draft is useful for =
deployments of flow specification</div>
<div>&nbsp;</div>
<div>It can be useful.</div>
<div>&nbsp;</div>
<div>&gt; 3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is this technology ready for dep=
loyment? </div>
<div>&gt; 4)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Is the write-up of this technolo=
gy in draft-ietf-idr-flowspec-path-redirect clearly written and ready for p=
ublication? </div>
<div>&nbsp;</div>
<div>Ready with minor issues, IMO:</div>
<div>&nbsp;</div>
<div>Procedure-wise, there needs to be a bit more text covering cases about=
 interactions with other traffic actions.&nbsp; This was a known headache f=
or similar drafts such as redirect-to-ip.&nbsp; In particular, interaction =
with redirect-to-ip and redirect-to-vrf is
needed.</div>
<div>&nbsp;</div>
<div>GV&gt; Section &#8220;6. Validation Procedures&#8221; gives input on t=
his. We discussed this with you long ago and hence this text was added.</di=
v>
<div>&nbsp;</div>
<div>&#8220;</div>
<div>&nbsp;&nbsp; While it MUST NOT happen, and is seen as invalid combinat=
ion, it is</div>
<div>&nbsp;&nbsp; possible from a semantics perspective to have multiple cl=
ashing</div>
<div>&nbsp;&nbsp; redirect actions defined within a single flowspec rule.&n=
bsp; For best and</div>
<div>&nbsp;&nbsp; consistant compatibility with legacy implementations, the=
 redirect</div>
<div>&nbsp;&nbsp; functionality as documented by rfc5575bis MUST NOT be bro=
ken, and</div>
<div>&nbsp;&nbsp; hence when a clash occurs, then rfc5575bis based redirect=
 MUST take</div>
<div>&nbsp;&nbsp; priority. </div>
<div>&#8220;</div>
<div>&nbsp;</div>
<div>This means that redirect-to-VRF will take absolute priority to not bre=
ak rfc5575bis behavior.</div>
<div>Having also redirect-to-ip will result in an invalid </div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>The text &quot;A single flowspec rule MUST NOT have more as one indire=
ction-id per S-ID.&nbsp; On a flowspec client the indirection-id with lowes=
t S-ID MUST be imposed first for any given flowspec entry.&quot;&nbsp; Ther=
e's no procedure for what happens in error handling
when you do have more than one of the same S-ID.&nbsp; The text about the c=
ase for S-ID of 0 is also a bit ambiguous.&nbsp; It feels like it's reading=
 &quot;there is no sequence&quot;, but what do you do when you then have on=
es that do?</div>
<div>&nbsp;</div>
<div><font color=3D"#4472C4"><b>GV&gt;</b> What about the following rewrite=
:</font></div>
<div><font color=3D"#4472C4">&nbsp;</font></div>
<div><font color=3D"#4472C4">Original:</font></div>
<div><font color=3D"#4472C4"> &nbsp;&nbsp; The 'S-ID' field identifies a 4 =
bit Sequence ID field.&nbsp; This field is</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; used to provide a flowspec client=
 an indication how and where to</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; sequence the received indirection=
-ids.&nbsp; The Sequence ID value 0</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; indicates that Sequence ID field =
is NOT set and SHOULD be ignored.&nbsp; A</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; single flowspec rule MUST NOT hav=
e more as one indirection-id per</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; S-ID.&nbsp; On a flowspec client =
the indirection-id with lowest S-ID MUST</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; be imposed first for any given fl=
owspec entry.</font></div>
<div><font color=3D"#4472C4">&nbsp;</font></div>
<div><font color=3D"#4472C4">New:</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; The 'S-ID' field identifies a 4 b=
it Sequence ID field.&nbsp; This field is</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; used to provide a flowspec client=
 an indication how and where to</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; sequence the received indirection=
-ids.&nbsp; The Sequence ID value 0</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; indicates that Sequence ID field =
is NOT set and <b>**</b><b>all</b><b> other sequence ID's**</b> </font></di=
v>
<div><font color=3D"#4472C4">&nbsp;&nbsp; SHOULD be ignored.&nbsp; A</font>=
</div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; single flowspec rule MUST NOT hav=
e more as one indirection-id per</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; S-ID.&nbsp; On a flowspec client =
the indirection-id with lowest S-ID MUST</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; be imposed first for any given fl=
owspec entry.</font></div>
<div><font color=3D"#4472C4">&nbsp;</font></div>
<div><font color=3D"#4472C4"><b>GV&gt;</b> In section *6. Validation proced=
ure&quot; there is text to handle the error condition when the flowspec rul=
e results in an invalid redirection, that prescribe what needs to happen wh=
en the &#8220;redirect to indirection-id&#8221; does not
result in a valid redirection:</font></div>
<div><font color=3D"#4472C4">&nbsp;</font></div>
<div><font color=3D"#4472C4">&quot;</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; While it MUST NOT happen, and is =
seen as invalid combination, it is</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; possible from a semantics perspec=
tive to have multiple clashing</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; redirect actions defined within a=
 single flowspec rule.&nbsp; For best and</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; consistant compatibility with leg=
acy implementations, the redirect</font></div>
<div><font color=3D"#4472C4"><b>&nbsp;&nbsp; functionality as documented by=
 rfc5575bis MUST NOT be broken</b>, and</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; hence when a clash occurs, then <=
b>rfc5575bis based redirect MUST take</b></font></div>
<div><font color=3D"#4472C4"><b>&nbsp;&nbsp; priority</b>.&nbsp; Additional=
ly, if the &quot;Redirect to indirection-id&quot; does not</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; result in a valid redirection, th=
en the flowspec rule MUST be</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; processed as if the &quot;Redirec=
t to indirection-id&quot; community was not</font></div>
<div><font color=3D"#4472C4">&nbsp;&nbsp; attached to the flowspec route.</=
font></div>
<div><font color=3D"#4472C4">&quot;</font></div>
<div><font color=3D"#4472C4">&nbsp;</font></div>
<div><font color=3D"#4472C4"><b>GV&gt;</b> Is there more to add to this? (W=
e could add a line to detail that &#8220;redirect-to-ip&#8221; is incompati=
ble with &#8220;redirect to indirection-id&#8221; and result in invalid red=
irection rule, however to me that is already implied with enough
detail in the text above)</font></div>
<div>&nbsp;</div>
<div>A few IANA issues:</div>
<div>I see the type registry is currently registered with IANA (code point =
0x09).&nbsp; However, the sub-type registry is not established for some rea=
son?</div>
<div>The ID-Type field likely needs its own IANA registry.&nbsp; Values 1-5=
 are defined in this draft.</div>
<div>&nbsp;</div>
<div><font color=3D"#4472C4"><b>GV&gt;</b> Correct. There is a reason for t=
his. When we asked IANA the code-points they informed me that once the docu=
ment get to RFC the sub-type registry will be established by IANA. </font><=
/div>
<div>&nbsp;</div>
<div>The flags field (one octet) currently has 3 bits reserved.&nbsp; In th=
e past, we've not done a registry for such cases (c.f. graceful restart) un=
til we need to start carving out those reserved bits for future extensions.=
&nbsp; I leave it to the chairs' opinion whether
we want this a priori or not.</div>
<div>&nbsp;</div>
<div><font color=3D"#4472C4"><b>G/</b></font></div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>&gt;&nbsp; </div>
<div>&gt; Thank you for considering this draft. </div>
<div>&gt;&nbsp; </div>
<div>&gt; Cheerily, Susan Hares </div>
<div>&gt;&nbsp; </div>
<div>&gt; _______________________________________________</div>
<div>&gt; Idr mailing list</div>
<div>&gt; <a href=3D"mailto:[email protected]">[email protected]</a></div>
<div>&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/idr">https://www=
..ietf.org/mailman/listinfo/idr</a></div>
<div>&nbsp;</div>
<div>_______________________________________________</div>
<div>Idr mailing list</div>
<div><a href=3D"mailto:[email protected]">[email protected]</a></div>
<div><a href=3D"https://www.ietf.org/mailman/listinfo/idr">https://www.ietf=
..org/mailman/listinfo/idr</a></div>
<div>&nbsp;</div>
</span></font>
</body>
</html>

--_000_AM6PR07MB482356A327D714512EBAF2DBE0460AM6PR07MB4823eurp_--


--===============2169833428345733426==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Idr mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/idr

--===============2169833428345733426==--