Subject: Re: [Idr] I-D Action: draft-dong-idr-node-target-ext-comm-01.txt

From: Robert Raszuk <[email-masked]>
Date: Mon, 8 Jul 2019 14:02:18 +0200

Dear authors,

Let me start by restating that using a p2mp protocol to distribute
information in a p2p fashion is a bad thing. Your proposal just further
encourages folks to do continue use of BGP along those lines which is not a
good thing.

Now few questions/observations:

* You are explicitly breaking RFC4456. The node which does your policy
enforcement - let's call it - BGP Policy based Update Replicator (BGP PUR)
- no longer follows RFC4456 recommendations of route propagation from
client to non-client and from non-client to client. Sure you may define
such new functional block in BGP but IMHO this is no longer a vanilla Route
Reflector with "just a little bit more filtering" :)

* Assume that in my 500 PEs IPv6 network I want to distribute some
information to 100 of them. Very conservative case. So with the current
draft I will need to send with each route BGP Extended Community Attribute
of the 2K size. Well assume that BGP Extended Message is not there at least
on one of the PEs the proposed scheme breaks. Did you ever consider to
actually define new attribute for this and support wildcard match/extended
community match length ?

* Can you describe the rational for keeping the Node Targets ext
communities still in the update when reflecting it to one of the targets on
the list ?

* Have you thought of using 4 octet BGP identifier instead of peering
address ? First you no longer need to struggle with IPv6 length, you no
longer worry about link-local peerings and you no longer need to touch all
senders when interface addresses get renumbered.

* RRs in general where designed and optimized to reflect all received
updates. RTC came and applied some outbound filters. Now your proposal
comes and applies new set of per peer dynamic filters. Putting
implementation details aside at min your proposal must define which filter
is more important RTC pushed from target or your Target RT pushed from
sources.

* How does your proposal works with RR hierarchy ? It seems pretty clear
that it only works with flat sender -- RR -- receiver architecture.

* How does your proposal work with confederations ?

* What happens when session to a peer goes down ? Would you now need to
remodify the list of Node Target Ext Comms and resend to other IBGP peers
including that node which you have lost IBGP to ?

Essentially what you are defining is to push dynamic filtering policy from
the src to the RRs hoping that RRs will honor it and apply proper outbound
filters. Moreover you are also adding new behaviour for RRs to modify
content of BGP attributes upon reflection. I think you are assuming that
all applicable implementations support dynamic update groups or are you
assuming that whenever such Node Target Ext Community arrive on the RR it
should switch for a given SAFI to per peer update generation ?

Best,
R.

> On Mon, Jul 8, 2019 at 1:13 PM <[email-masked]> wrote:

>
> A New Internet-Draft is available from the on-line Internet-Drafts
> directories.
>
>
>         Title           : BGP Extended Community for Identifying the
> Target Node
>         Authors         : Jie Dong
>                           Shunwan Zhuang
>                           Gunter Van de Velde
>         Filename        : draft-dong-idr-node-target-ext-comm-01.txt
>         Pages           : 7
>         Date            : 2019-07-08
>
> Abstract:
>    BGP has been used to distribute different types of routing and policy
>    information in the network.  In some cases, the information
>    distributed may be only intended for one or several particular
>    receiving BGP nodes in the network.  However, BGP does not have a
>    general mechanism for designating the receiving node of the routing
>    information.  This document defines a new type of BGP extended
>    community called "Node Target".  The mechanism of using the Node
>    Target extended community to steer BGP route distribution to
>    particular BGP nodes is specified.
>
>
>
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-dong-idr-node-target-ext-comm/
>
> There are also htmlized versions available at:
> https://tools.ietf.org/html/draft-dong-idr-node-target-ext-comm-01
>
> https://datatracker.ietf.org/doc/html/draft-dong-idr-node-target-ext-comm-01
>
> A diff from the previous version is available at:
> https://www.ietf.org/rfcdiff?url2=draft-dong-idr-node-target-ext-comm-01
>
>
> Please note that it may take a couple of minutes from the time of
> submission
> until the htmlized version and diff are available at tools.ietf.org.
>
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>
> _______________________________________________
> I-D-Announce mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/i-d-announce
> Internet-Draft directories: http://www.ietf.org/shadow.html
> or ftp://ftp.ietf.org/ietf/1shadow-sites.txt
>

---

From: "Dongjie (Jimmy)" <[email-masked]>
Date: Tue, 9 Jul 2019 11:52:48 +0000

Hi Robert,

Thanks a lot for your prompt comments. Please see some replies inline with [Jie].

From: Robert Raszuk [mailto:[email-masked]]
Sent: Monday, July 08, 2019 8:02 PM
To: Van De Velde, Gunter (Nokia - BE/Antwerp) <[email-masked]>; Dongjie (Jimmy) <[email-masked]>; Zhuangshunwan <[email-masked]>
Cc: idr@ietf. org <[email-masked]>
Subject: Re: I-D Action: draft-dong-idr-node-target-ext-comm-01.txt

Dear authors,

Let me start by restating that using a p2mp protocol to distribute information in a p2p fashion is a bad thing. Your proposal just further encourages folks to do continue use of BGP along those lines which is not a good thing.

[Jie] This document just provides a mechanism to solve some operator’s requirement in using existing tools. It does not encourage anything:)

* You are explicitly breaking RFC4456. The node which does your policy enforcement - let's call it - BGP Policy based Update Replicator (BGP PUR) - no longer follows RFC4456 recommendations of route propagation from client to non-client and from non-client to client. Sure you may define such new functional block in BGP but IMHO this is no longer a vanilla Route Reflector with "just a little bit more filtering" :)

[Jie] You are right this would require some update to vanilla RR functionality, RFC 4456 may be updated by this document. In the past, RTC has also made some changes to the RR behavior.

* Assume that in my 500 PEs IPv6 network I want to distribute some information to 100 of them. Very conservative case. So with the current draft I will need to send with each route BGP Extended Community Attribute of the 2K size. Well assume that BGP Extended Message is not there at least on one of the PEs the proposed scheme breaks. Did you ever consider to actually define new attribute for this and support wildcard match/extended community match length ?

[Jie] The initial problem space is to distribute some information to one or a small group of the BGP routers in the network. In the case you described, wildcard matching may be more efficient, while it requires to configure the 100 nodes with the same prefix for wildcard matching.

* Can you describe the rational for keeping the Node Targets ext communities still in the update when reflecting it to one of the targets on the list ?

[Jie] The Node Target extended communities are used by the receiving nodes to identify whether it should keep and use the received information or not. With this mechanism, RR only need to check the and remove the node target extended community which identifies itself, which is easier than checking the IDs of all its clients.

* Have you thought of using 4 octet BGP identifier instead of peering address ? First you no longer need to struggle with IPv6 length, you no longer worry about link-local peerings and you no longer need to touch all senders when interface addresses get renumbered.

[Jie] Good suggestion. This was discussed during the presentation of this document in last year. We considered two options: using BGP Identifier or the local (preferably the loopback IP address). As you mentioned, there are some advantages in using BGP Identifier. We could make this change in next version.

* RRs in general where designed and optimized to reflect all received updates. RTC came and applied some outbound filters. Now your proposal comes and applies new set of per peer dynamic filters. Putting implementation details aside at min your proposal must define which filter is more important RTC pushed from target or your Target RT pushed from sources.

[Jie] This is part of the reason of defining a new extended community which is independent from RT. RTC rules applie to the RT in the VPN routes, while the rules defined in this document apply to this Node Target Extended Community. If one Update carries both RT and Node Target, then both rules would be used separately to determine how to send and receive the Update.

* How does your proposal works with RR hierarchy ? It seems pretty clear that it only works with flat sender -- RR -- receiver architecture.

[Jie] Good question. In general RR hierarchy could be supported, while further study is needed to cover the corner cases, this is similar to the work we have been doing with RTC.

[Jie] If there is requirement to support confederation, It could be covered in next version.

* What happens when session to a peer goes down ? Would you now need to remodify the list of Node Target Ext Comms and resend to other IBGP peers including that node which you have lost IBGP to ?

[Jie] I don’t quite get your question here. The list of Node Target extended communities is not be modified by a route reflector unless a local address matches one of the node target. As discussed above, the node target which identifies a peer node will not be removed by the RR.

Essentially what you are defining is to push dynamic filtering policy from the src to the RRs hoping that RRs will honor it and apply proper outbound filters. Moreover you are also adding new behaviour for RRs to modify content of BGP attributes upon reflection. I think you are assuming that all applicable implementations support dynamic update groups or are you assuming that whenever such Node Target Ext Community arrive on the RR it should switch for a given SAFI to per peer update generation ?

[Jie] IMO the changes to the RR’s behavior in this document is smaller than you thought, in current version it is hard to call it “RR with outbound filtering”, although it may be extended further in that direction. So far it does not require to support dynamic update groups.

Best regards,
Jie

Best,
R.

> On Mon, Jul 8, 2019 at 1:13 PM <[email-masked]<mailto:[email-masked]>> wrote:

A New Internet-Draft is available from the on-line Internet-Drafts directories.

        Title           : BGP Extended Community for Identifying the Target Node
        Authors         : Jie Dong
                          Shunwan Zhuang
                          Gunter Van de Velde
        Filename        : draft-dong-idr-node-target-ext-comm-01.txt
        Pages           : 7
        Date            : 2019-07-08

Abstract:

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org<http://tools.ietf.org>.

[email-masked]<mailto:[email-masked]>

---

From: Robert Raszuk <[email-masked]>
Date: Tue, 9 Jul 2019 19:22:16 +0200

Hi Jie,

I think you are underestimating the effort to implement it correctly on the
RRs :)

Two clarifications to my points below:

> If one Update carries both RT and Node Target, then both rules would be
used
> separately to determine how to send and receive the Update.

It is not about if those are used separately or together ... this is
implementation detail.  What however matters in the spec is clear
articulation if update needs to be sent when RTC is asking for it yet Node
Target does not list a given peer (and vice-versa).

> [Jie] I don’t quite get your question here. The list of Node Target
extended communities
> is not be modified by a route reflector unless a local address matches
one of the node
> target. As discussed above, the node target which identifies a peer node
will not be removed by the RR.

Yes I am pointing out the "unless" situation.

When interface goes down to the peer you have sent it to you need to now
resend that subset of updates with modified Ext Community Attribute to
other peers. In general the draft does not even say if propagation between
clients and non-clients still remains default as per 4456 or does your
rules also apply between those groups ?

Thx,
RR :)

On Tue, Jul 9, 2019 at 1:53 PM Dongjie (Jimmy) <[email-masked]> wrote:

> *From:* Robert Raszuk [mailto:[email-masked]]
> *Sent:* Monday, July 08, 2019 8:02 PM
> *To:* Van De Velde, Gunter (Nokia - BE/Antwerp) <
> [email-masked]>; Dongjie (Jimmy) <[email-masked]>;
> Zhuangshunwan <[email-masked]>
> *Cc:* idr@ietf. org <[email-masked]>
> *Subject:* Re: I-D Action: draft-dong-idr-node-target-ext-comm-01.txt
>
>
>
> Dear authors,
>
>
>
> [Jie] This document just provides a mechanism to solve some operator’s
> requirement in using existing tools. It does not encourage anything:)
>
>
>
> [Jie] You are right this would require some update to vanilla RR
> functionality, RFC 4456 may be updated by this document. In the past, RTC
> has also made some changes to the RR behavior.
>
>
>
> [Jie] The initial problem space is to distribute some information to one
> or a small group of the BGP routers in the network. In the case you
> described, wildcard matching may be more efficient, while it requires to
> configure the 100 nodes with the same prefix for wildcard matching.
>
>
>
> [Jie] The Node Target extended communities are used by the receiving nodes
> to identify whether it should keep and use the received information or not.
> With this mechanism, RR only need to check the and remove the node target
> extended community which identifies itself, which is easier than checking
> the IDs of all its clients.
>
>
>
> [Jie] Good suggestion. This was discussed during the presentation of this
> document in last year. We considered two options: using BGP Identifier or
> the local (preferably the loopback IP address). As you mentioned, there are
> some advantages in using BGP Identifier. We could make this change in next
> version.
>
>
>
> [Jie] This is part of the reason of defining a new extended community
> which is independent from RT. RTC rules applie to the RT in the VPN routes,
> while the rules defined in this document apply to this Node Target Extended
> Community. If one Update carries both RT and Node Target, then both rules
> would be used separately to determine how to send and receive the Update.
>
>
>
> [Jie] Good question. In general RR hierarchy could be supported, while
> further study is needed to cover the corner cases, this is similar to the
> work we have been doing with RTC.
>
>
>
> [Jie] I don’t quite get your question here. The list of Node Target
> extended communities is not be modified by a route reflector unless a local
> address matches one of the node target. As discussed above, the node target
> which identifies a peer node will not be removed by the RR.
>
>
>
> [Jie] IMO the changes to the RR’s behavior in this document is smaller
> than you thought, in current version it is hard to call it “RR with
> outbound filtering”, although it may be extended further in that direction.
> So far it does not require to support dynamic update groups.
>
>
>
> Best regards,
>
> Jie
>
>
>
> Best,
> R.
>
>
>
>
>
> Idr mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/idr
>