Subject: Genart telechat review of draft-ietf-grow-bgp-reject-07

From: Dale Worley <[email-masked]>
Date: Fri, 19 May 2017 11:19:34 -0700

Reviewer: Dale Worley
Review result: Ready with Nits

I am the assigned Gen-ART reviewer for this draft.  The General Area
Review Team (Gen-ART) reviews all IETF documents being processed by
the IESG for the IETF Chair.  Please wait for direction from your
document shepherd or AD before posting a new version of the draft.

For more information, please see the FAQ at
<http://wiki.tools.ietf.org/area/gen/trac/wiki/GenArtfaq>.

Document:  draft-ietf-grow-bgp-reject-07
Reviewer:  Dale R. Worley
Review Date:  2017-05-19
IETF LC End Date:  2017-04-18
IESG Telechat date:  2017-06-08

Summary:  This draft is basically ready for publication, but has nits
that should be fixed before publication.

My knowledge of BGP is quite limited, so I cannot review the
desirability of this solution.  I assume that the routing and
operations community has fully considered that question.

   1. Introduction
			
   BGP routing security issues need to be addressed in order to make
the
   Internet more stable.  Route leaks [RFC7908] are part of the
problem,
   but software defects or operator misconfiguration can contribute
too.
   This document updates [RFC4271] in order to improve the default
level
   of Internet routing security.

This paragraph is a good introduction, but it isn't very cohesive.  I
suggest revising the third sentence to something like:

   This document updates [RFC4271] so that routes are neither
imported
   nor exported unless specifically enabled by configuration, thus
   reducing route leaks, and so improving the default level of
   Internet routing security.

Then again, considering section 5 paragraph 1, perhaps this update
reduces all three causes (route leaks, software defects, and operator
misconfigurations), in which case you could say

   This document updates [RFC4271] so that routes are neither
imported
   nor exported unless specifically enabled by configuration, thus
   reducing the consequences of these problems, and so improving the
   default level of Internet routing security.

--

   BGP speakers following this specification do not use or send
routes
   on EBGP sessions, unless configured to do otherwise.

This sentence seems to be correct as written, but somehow it reads
awkwardly to me.  I think the problem is that "do otherwise" is used,
when the "otherwise" is "do not use ...".  I think it would read more
smoothly to say:

   BGP speakers following this specification do not use or send
routes
   on EBGP sessions, unless specifically configured to do so.

Perhaps the Editor should be consulted about this.

--

   2.  Terminology

   [RFC4271] describes a Policy Information Base (PIB) which contains
   local policies that can be applied to the information in the
Routing
   Information Base (RIB).  This document distinguishes the type of
   policy based on its application.

Here, you want to say "the type of a policy" or "the type of a
particular policy", because "policy" refers to a specific policy
within a set of policies, rather than being a mass noun.

   3. Changes to RFC4271	
				
   This section describes the Updates to [RFC4271] that define the
   default behavior of a BGP speaker when there are no Import or
   Export Policies associated with a particular EBGP session.

Of course, there is no need to capitalize "Updates".

The wording "describes the updates" is awkward.  Really, it lists or
specifies the updates, rather than describing them.  Also, the use of
"updates ... that ..." suggests that there is a larger set of updates
from which "the updates that define the default behavior" are
selected, and that smaller set will be described in this section.
Instead, there are updates, and those updates define the default
behavior.

So I think a better wording is:

   This section updates [RFC4271] to change the default behavior
...".

It's probably worth consulting the Edtior to see if a better wording
is possible.

--

   The following paragraph is added to Section 9.1 (Decision Process)
   after the fifth paragraph ending in "route aggregation and route
   information reduction":

Strictly, this says that there are five paragraphs which end in
"route
aggregation and route information reduction", and the fifth of them
is
being discussed.  The correct wording is 'the fifth paragraph, which
ends in "route aggregation and route information reduction"'.

   The following paragraph is added to Section 9.1.3 (Phase 3: Route
   Dissemination) after the third paragraph ending in "by means of an
   UPDATE message (see 9.2).":

Similarly, this should be 'the third paragraph, which ends in "by
means of an UPDATE message (see 9.2)."'

   5. Security Considerations	

   Permissive default routing policies can result in inadvertent
effects	
   such as route leaks [RFC7908], in general resulting in rerouting
of	
   traffic through an unexpected path.

The word "rerouting" emphasizes that the traffic's route has been
changed, whereas I think the problem you are concerned with is simply
that the traffic is routed through an unexpected path.  That suggests
changing "rerouting" to "routing".

Then again, perhaps routing people always conceptualize an incorrect
route as a change from an expected or correct route, in which case
"rerouting" is the best word to use.

   Appendix A.  Transition Considerations

   It is anticipated that transitioning to a compliant BGP
   implementation will require a process thay may take several years.

You probably want to s/a compliant BGP implementation/compliant BGP
implementations/, unless you are describing the process for an
individual operator, not for all operators collectively.

   A.1. N+1 N+2 Release Strategy	

   An implementer could leverage an approach described as "the N+1
and	
   N+2 release strategy".

I prefer reducing the words within the quotation marks.  (But
probably
it's best to ask the Editor.)  That would give:

   An implementer could leverage an approach described as the "N+1
and	
   N+2" release strategy.

The section title is difficult to understand without context.  I
suggest revising it in a way that parallels the way you use the term
in the text of the section, such as:

   A.1. Using an "N+1 and N+2" Release Strategy	

This conveys the maximum possible amount of information to a reader
(like me) who doesn't know what the "N+1 and N+2" strategy is, namely
that there is a known release strategy with the name "N+1 and N+2",
and that the section describes how to use it in this context (and
hopefully, defines it as well). -- (All of which expectations are
met.)

   "ebgp insecure-mode"

I think that in this phrase, "ebgp insecure" modifies "mode", and so
it would be written "ebgp-insecure mode".  (As opposed to "ebgp"
modifying "insecure mode", in which case it would indeed be written
"ebgp insecure-mode".)

[END]

---

From: Job Snijders <[email-masked]>
Date: Mon, 22 May 2017 13:04:48 +0200

Dear Dale,

Thank you for your time reviewing this document.

On Fri, May 19, 2017 at 11:19:34AM -0700, Dale Worley wrote:
>    the Internet more stable.  Route leaks [RFC7908] are part of the
>    problem, but software defects or operator misconfiguration can
>    contribute too.  This document updates [RFC4271] in order to
>    improve the default level of Internet routing security.
> 
>    This document updates [RFC4271] so that routes are neither imported
>    This document updates [RFC4271] so that routes are neither imported

I've accepted the latter suggestion.

> --
> 
>    BGP speakers following this specification do not use or send routes
>    BGP speakers following this specification do not use or send routes

I've accepted this suggestion.

>    Routing Information Base (RIB).  This document distinguishes the
>    type of policy based on its application.
> 

accepted.

>    This section updates [RFC4271] to change the default behavior ...".
> 

I suggest: "This section updates <xref target="RFC4271" /> to specify
the default behavior of a BGP speaker when there are no Import or Export
Policies associated with a particular EBGP session."

> Strictly, this says that there are five paragraphs which end in "route
> aggregation and route information reduction", and the fifth of them is

accepted.

> means of an UPDATE message (see 9.2)."'

accepted.

>    effects such as route leaks [RFC7908], in general resulting in
>    rerouting of traffic through an unexpected path.
> 

"routing" is perfectly fine too in this context since we are explicit
about "unexpected paths". Accepted.

> individual operator, not for all operators collectively.

The process refers to the vendors of BGP implementations, not operators.
Given that the appendix is targetted mostly to the vendor audience,
would you have a suggestion within that context?

>    An implementer could leverage an approach described as "the N+1 and
>    N+2 release strategy".
> 
> I prefer reducing the words within the quotation marks.  (But probably
>    An implementer could leverage an approach described as the "N+1 and
>    N+2" release strategy.
> 

I moved the quotation marks around according to your suggestions.

> modifying "insecure mode", in which case it would indeed be written

The current phrasing aligns with industry standards (for better of for
worse), one should consider the suggestion arbitrary, it is merely a
configuration keyword suggestion and not normative. 

I've attached a -07 -> -08 htmldiff which incorporates your suggestions.
After we covered the 's/a compliant BGP implementation/compliant BGP
implementations/' subtopic, and my co-authors reviewed the proposed
changes, we can proceed to cut & publish a -08.

Kind regards,

Job

---

From: "Hankins, Greg (Nokia - US)" <[email-masked]>
Date: Mon, 22 May 2017 12:19:21 -0400

>   default level of Internet routing security.

Hi Dale, this paragraphs seems wordy now, so I would suggested splitting
sentences as follows:

This document updates [RFC4271] so that routes are neither imported nor
exported unless specifically enabled by configuration.  The solution
reduces the consequences of these problems, and improves the default level
of Internet routing security.

>individual operator, not for all operators collectively.

As Job said, this was a transition consideration for BGP implementers.

How about this change for clarity:
- old: It is anticipated that transitioning to a compliant BGP implementation
will require a process thay may take several years.
- new: Transitioning to a compliant BGP implementation may require a software
development and release process that can take implementers several years.

I attached a new -07 -> -08 htmldiff that incorporates my edits and
Job's edits.

Greg

--
Greg Hankins <[email-masked]>

---

From: [email-masked] (Dale R. Worley)
Date: Mon, 22 May 2017 16:29:06 -0400

I agree with all the changes that have been discussed, with the
following additional suggestions:

> development and release process that can take implementers several years.

I suspect my problems come from not realizing there has been a change of
focus.  (It may be much clearer to routing people.)  So I would suggest
expanding the title of Appendix A to "Transition Considerations for
Vendors of BGP Implementations".

As you point out, in the context of a vendor, the correct wording is "a
compliant BGP implementation".

Even with that change, the change Greg suggests makes sense.  Although
it might be easier to read if the "for an implementor" is brought to the
front of the sentence, where it won't stretch out the flow of the rest
of the sentence.  Something like

    For an implementer, transitioning to a compliant BGP implementation
    may require a software development and release process that can take
    several years.

Perhaps "a software development and release" can be omitted.

> of Internet routing security.

In that case, I'd start the second sentence with "This change ..." or
perhaps "This update ..." -- nothing has previously been labeled a
"solution", so the reader has to search a bit to determine the
antecedent.

Dale

---

From: "Hankins, Greg (Nokia - US)" <[email-masked]>
Date: Mon, 22 May 2017 18:28:11 -0400

>Vendors of BGP Implementations".

Hi Dale, how about simply "Transition Considerations for BGP Implementers" as
there are many excellent FOSS implementations in addition to implementations
sold by vendors?

>Perhaps "a software development and release" can be omitted.

Updated: For an implementer, transitioning to a compliant BGP implementation
may require a process that can take several years.

>"solution", so the reader has to search a bit to determine the

Updated: This change reduces the consequences of these problems, and improves
the default level of Internet routing security.

We'll wait to send a new diff in case there are further comments.

Kind regards,
Greg

--
Greg Hankins <[email-masked]>
Senior Product Manager
IP/Optical Networks, Nokia