Subject: proposed example text and question on draft-ietf-rtgwg-policy-model

From: Chris Bowers <[email-masked]>
Date: Wed, 10 Jun 2020 16:23:24 -0500

I would like to propose adding the following example to the text of
draft-ietf-rtgwg-policy-model
to better illustrate how the model will work in practice with routing
policies involving IGPs.
The proposed text is shown below.

I think that the example below also illustrates a problem with the naming
of what is currently called "import-level" and "set-import-level".  In the
example, the export policy called
"export-all-OSPF-prefixes-into-ISIS-level-2" uses the "set-import-level"
 action.  As far as I can tell, it only makes sense to use
"set-import-level" in an export policy, and not in an import policy.  If
this is the case, wouldn't it make more sense to call it "set-export-level"?

===========
Proposed text for new IGP routing policy example:

This example illustrates the import and export policies corresponding to
the following scenario.

All routes that are learned via OSPF advertisements should get installed in
the RIB.

All routes in the RIB that have been learned from OSPF advertisements
corresponding to

OSPF intra-area and inter-area route types should get advertised into ISIS
level 2 advertisements.

          <policy-definitions>

           <policy-definition>

             <name>import-all-OSPF</name>

             <statements>

               <statement>

                 <name>term-0</name>

                 <conditions>

                   <match-prefix-set>

                     <prefix-set>all-prefixes</prefix-set>

                   </match-prefix-set>

                 </conditions>

                 <actions>

                   <policy-result>accept-route</policy-result>

                 </actions>

               </statement>

             </statements>

           </policy-definition>

              <policy-definition>

             <name>export-all-OSPF-prefixes-into-ISIS-level-2</name>

             <statements>

               <statement>

                 <name>term-0</name>

                 <conditions>

                   <match-prefix-set>

                     <prefix-set>all-prefixes</prefix-set>

                   </match-prefix-set>

                   <match-route-type>

                     <proto-route-type>ospf-internal-type</proto-route-type>

                   </match-route-type>

                 </conditions>

                 <actions>

                   <set-import-level>

                     <import-level>isis-level-2</import-level>

                   </set-import-level>

                   <policy-result>accept-route</policy-result>

                 </actions>

               </statement>

             </statements>

           </policy-definition>

         </policy-definitions>

==========

Thanks,
Chris

---

From: Yingzhen Qu <[email-masked]>
Date: Thu, 18 Jun 2020 22:59:16 +0000

Hi Chris,

Thanks for the review and proposed examples, really appreciate.

I’ve uploaded a new version of the draft and included the example to demonstrate route redistribution between ospf and isis. I didn’t include the one to install ospf routes to RIB considering this is default behavior unless you specify a policy to limit the ospf routes installation.

Regarding the name, the model supports both import and export modes, so I didn’t want to simply change the name to “set-export-level”, but open to suggestions. The model also provides a grouping “apply-policy-group” that can be used by routing protocols for route redistributions, and there are descriptions about it in Section 6.

Thanks,
Yingzhen

From: Chris Bowers <[email-masked]>
Date: Wednesday, June 10, 2020 at 2:23 PM
To: "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: proposed example text and question on draft-ietf-rtgwg-policy-model
Resent-From: <[email-masked]>
Resent-To: <[email-masked]>, <[email-masked]>, <[email-masked]>, <[email-masked]>
Resent-Date: Wednesday, June 10, 2020 at 2:23 PM

I would like to propose adding the following example to the text of draft-ietf-rtgwg-policy-model
to better illustrate how the model will work in practice with routing policies involving IGPs.
The proposed text is shown below.

I think that the example below also illustrates a problem with the naming of what is currently called "import-level" and "set-import-level".  In the example, the export policy called "export-all-OSPF-prefixes-into-ISIS-level-2" uses the "set-import-level"  action.  As far as I can tell, it only makes sense to use "set-import-level" in an export policy, and not in an import policy.  If this is the case, wouldn't it make more sense to call it "set-export-level"?

===========

This example illustrates the import and export policies corresponding to the following scenario.
All routes that are learned via OSPF advertisements should get installed in the RIB.
All routes in the RIB that have been learned from OSPF advertisements corresponding to
OSPF intra-area and inter-area route types should get advertised into ISIS level 2 advertisements.

          <policy-definitions>
           <policy-definition>

==========

Thanks,
Chris

---

From: "Acee Lindem (acee)" <[email-masked]>
Date: Thu, 18 Jun 2020 23:21:28 +0000

Hi Yingzhen,

Meant to reply earlier. Thanks for responding.

From: Yingzhen Qu <[email-masked]>
Date: Thursday, June 18, 2020 at 6:59 PM
To: Chris Bowers <[email-masked]>, "[email-masked]" <[email-masked]>, Routing WG <[email-masked]>
Subject: Re: proposed example text and question on draft-ietf-rtgwg-policy-model
Resent-From: <[email-masked]>
Resent-To: <[email-masked]>, Jeff Tantsura <[email-masked]>, Acee Lindem <[email-masked]>, Xufeng Liu <[email-masked]>
Resent-Date: Thursday, June 18, 2020 at 6:59 PM

Hi Chris,

I Think we should change it to set-isis-level or simply set-level.

Thanks,
Acee

Thanks,
Yingzhen

===========

          <policy-definitions>
           <policy-definition>

==========

Thanks,
Chris

---

From: Yingzhen Qu <[email-masked]>
Date: Fri, 19 Jun 2020 05:08:13 +0000

Hi Acee and Chris,

I will change the name in next revision with other comments.

Thanks,
Yingzhen

From: "Acee Lindem (acee)" <[email-masked]>
Date: Thursday, June 18, 2020 at 4:21 PM
To: Yingzhen Qu <[email-masked]>, Chris Bowers <[email-masked]>, "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: Re: proposed example text and question on draft-ietf-rtgwg-policy-model

Hi Yingzhen,

Hi Chris,

Thanks,
Acee

Thanks,
Yingzhen

===========

          <policy-definitions>
           <policy-definition>

==========

Thanks,
Chris

---

From: Chris Bowers <[email-masked]>
Date: Wed, 24 Jun 2020 13:04:47 -0500

Yingzhen,

I think the following changes in naming are clearer:

set-import-level -> set-export-level
import-level -> export-level

I understand that the model supports both import and export policies.
However, as far as I can tell, 'isis-level-2' should never be used in an
import policy, only an export policy.   Instead, 'isis-level-2-type' would
be used in an import policy.  The name change that I propose above makes
this clear.

Acee's proposal to use 'set-level' for isis-level-2 leaves this unclear.

Thanks,
Chris

On Fri, Jun 19, 2020 at 12:08 AM Yingzhen Qu <[email-masked]>
wrote:

> *From: *"Acee Lindem (acee)" <[email-masked]>
> *Date: *Thursday, June 18, 2020 at 4:21 PM
> *To: *Yingzhen Qu <[email-masked]>, Chris Bowers <
> [email-masked]>, "[email-masked]" <
> [email-masked]>, "[email-masked]" <[email-masked]>
> *Subject: *Re: proposed example text and question on
> *From: *Yingzhen Qu <[email-masked]>
> *Date: *Thursday, June 18, 2020 at 6:59 PM
> *To: *Chris Bowers <[email-masked]>, "
> [email-masked]" <
> [email-masked]>, Routing WG <[email-masked]>
> *Subject: *Re: proposed example text and question on
> *Resent-From: *<[email-masked]>
> *Resent-To: *<[email-masked]>, Jeff Tantsura <
> [email-masked]>, Acee Lindem <[email-masked]>, Xufeng Liu <
> [email-masked]>
> *Resent-Date: *Thursday, June 18, 2020 at 6:59 PM
>
>
>
> Hi Chris,
>
>
>
> I’ve uploaded a new version of the draft and included the example to
> demonstrate route redistribution between ospf and isis. I didn’t include
> the one to install ospf routes to RIB considering this is default behavior
> unless you specify a policy to limit the ospf routes installation.
>
>
>
> Regarding the name, the model supports both import and export modes, so I
> didn’t want to simply change the name to “set-export-level”, but open to
> suggestions. The model also provides a grouping “apply-policy-group” that
> can be used by routing protocols for route redistributions, and there are
> descriptions about it in Section 6.
>
>
>
> *From: *Chris Bowers <[email-masked]>
> *Date: *Wednesday, June 10, 2020 at 2:23 PM
> *To: *"[email-masked]" <
> [email-masked]>, "[email-masked]" <[email-masked]>
> *Subject: *proposed example text and question on
> *Resent-From: *<[email-masked]>
> *Resent-To: *<[email-masked]>, <[email-masked]>, <
> [email-masked]>, <[email-masked]>
> *Resent-Date: *Wednesday, June 10, 2020 at 2:23 PM
>
>
>
> _______________________________________________
> rtgwg mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/rtgwg
>

---

From: "Acee Lindem (acee)" <[email-masked]>
Date: Wed, 24 Jun 2020 19:24:24 +0000

Hi Chris,

From: Chris Bowers <[email-masked]>
Date: Wednesday, June 24, 2020 at 2:05 PM
To: Yingzhen Qu <[email-masked]>
Cc: Acee Lindem <[email-masked]>, Chris Bowers <[email-masked]>, "[email-masked]" <[email-masked]>, Routing WG <[email-masked]>
Subject: Re: proposed example text and question on draft-ietf-rtgwg-policy-model

Yingzhen,

IS-IS is the protocol where it ultimately is advertised so it is imported here and NOT from the protocol from which is is exported. Between import and export, the former is clearly cleaner.

I understand that the model supports both import and export policies. However, as far as I can tell, 'isis-level-2' should never be used in an import policy, only an export policy.   Instead, 'isis-level-2-type' would be used in an import policy.  The name change that I propose above makes this clear.

See above. set-isis-level is probably better than set-level. In any case, we aren’t going to change as you suggest.

Thanks,
Acee

Thanks,
Chris

On Fri, Jun 19, 2020 at 12:08 AM Yingzhen Qu <[email-masked]<mailto:[email-masked]>> wrote:
Hi Acee and Chris,

Thanks,
Yingzhen

From: "Acee Lindem (acee)" <[email-masked]<mailto:[email-masked]>>
Date: Thursday, June 18, 2020 at 4:21 PM
To: Yingzhen Qu <[email-masked]<mailto:[email-masked]>>, Chris Bowers <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Subject: Re: proposed example text and question on draft-ietf-rtgwg-policy-model

Hi Yingzhen,

From: Yingzhen Qu <[email-masked]<mailto:[email-masked]>>
Date: Thursday, June 18, 2020 at 6:59 PM
To: Chris Bowers <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>, Routing WG <[email-masked]<mailto:[email-masked]>>
Subject: Re: proposed example text and question on draft-ietf-rtgwg-policy-model
Resent-From: <[email-masked]<mailto:[email-masked]>>
Resent-To: <[email-masked]<mailto:[email-masked]>>, Jeff Tantsura <[email-masked]<mailto:[email-masked]>>, Acee Lindem <[email-masked]<mailto:[email-masked]>>, Xufeng Liu <[email-masked]<mailto:[email-masked]>>
Resent-Date: Thursday, June 18, 2020 at 6:59 PM

Hi Chris,

Thanks,
Acee

Thanks,
Yingzhen

From: Chris Bowers <[email-masked]<mailto:[email-masked]>>
Date: Wednesday, June 10, 2020 at 2:23 PM
To: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>, "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Subject: proposed example text and question on draft-ietf-rtgwg-policy-model
Resent-From: <[email-masked]<mailto:[email-masked]>>
Resent-To: <[email-masked]<mailto:[email-masked]>>, <[email-masked]<mailto:[email-masked]>>, <[email-masked]<mailto:[email-masked]>>, <[email-masked]<mailto:[email-masked]>>
Resent-Date: Wednesday, June 10, 2020 at 2:23 PM

===========

          <policy-definitions>
           <policy-definition>

==========

Thanks,
Chris
_______________________________________________
rtgwg mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/rtgwg

---

From: Chris Bowers <[email-masked]>
Date: Wed, 24 Jun 2020 15:06:29 -0500

Acee,

The existing text provides a clear description of import-policy and
export-policy.  It uses the terms import and export from the point of view
of the RIB.  I think it is important for the terminology to remain
consistent.

Chris
======

       leaf-list import-policy {
         type leafref {
           path "/rt-pol:routing-policy/rt-pol:policy-definitions/" +
             "rt-pol:policy-definition/rt-pol:name";
           require-instance true;
         }
         ordered-by user;
         description
           "List of policy names in sequence to be applied on
            receiving a routing update in the current context, e.g.,
            for the current peer group, neighbor, address family,
            etc.";
       }

=============

    leaf-list export-policy {
         type leafref {
           path "/rt-pol:routing-policy/rt-pol:policy-definitions/" +
             "rt-pol:policy-definition/rt-pol:name";
           require-instance true;
         }
         ordered-by user;
         description
           "List of policy names in sequence to be applied on
            sending a routing update in the current context, e.g.,
            for the current peer group, neighbor, address family,
            etc.";
       }

==========

On Wed, Jun 24, 2020 at 2:24 PM Acee Lindem (acee) <[email-masked]> wrote:

> Hi Chris,
>
>
>
> *From: *Chris Bowers <[email-masked]>
> *Date: *Wednesday, June 24, 2020 at 2:05 PM
> *To: *Yingzhen Qu <[email-masked]>
> *Cc: *Acee Lindem <[email-masked]>, Chris Bowers <[email-masked]>, "
> IS-IS is the protocol where it ultimately is advertised so it is *imported
> *here and NOT from the protocol from which is is *exported.* Between
> import and export, the former is clearly cleaner.
>
>
>
> See above. *set-isis-level* is probably better than * set-level. *In any
> case, we aren’t going to change as you suggest.
>
>
>
> Thanks,
> Acee
>
>
>
>
>
> Thanks,
>
> Chris
>
>
>