Subject: [RTG-DIR] RtgDir review: draft-ietf-nvo3-geneve-14

From: Tal Mizrahi <[email-masked]>
Date: Thu, 28 Nov 2019 15:58:58 +0200

Hello,

I have been selected as the Routing Directorate reviewer for this draft.
The Routing Directorate seeks to review all routing or routing-related
drafts as they pass through IETF last call and IESG review, and sometimes
on special request. The purpose of the review is to provide assistance to
the Routing ADs. For more information about the Routing Directorate, please
see http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir

Although these comments are primarily for the use of the Routing ADs, it
would be helpful if you could consider them along with any other IETF Last
Call comments that you receive, and strive to resolve them through
discussion or by updating the draft.

Document: draft-ietf-nvo3-geneve-14
Reviewer: Tal Mizrahi
Review Date: 28-Nov-2019
Intended Status: Standards Track

Summary:
========
I have some minor concerns about this document that I think should be
resolved before publication.

Comments:
=========

The draft is clear and well-written.
Specific comments are provided below.

Section 2.2:
"The presence of a Geneve variable length header SHOULD NOT prevent the
tunnel endpoints and transit devices from using such offload capabilities."
- this is purely an implementation consideration, and uppercase requirement
language is not appropriate.

Section 3.4:
  "Transit devices MUST maintain consistent forwarding behavior
   irrespective of the value of 'Opt Len', including ECMP link
   selection.  These devices SHOULD be able to forward packets
   containing options without resorting to a slow path."
The first sentence makes sense, but the second sentence is
implementation-specific. Given the first sentence, I would recommend to
remove the second sentence.

Section 3.5:
OLD:
for standardized and experimental options
NEW:
for allocated and for experimental options
Explanation:
the word "standardized" is misleading, because the document is requesting
an "IETF Review" allocation policy.

Section 3.5.1:
I could not find a specification of what a receiving endpoint should do if
the total length of the Geneve header + options exceeds its processing
depth. Drop? Notify the peer tunnel endpoint?

Section 4.2:
"Geneve MUST be used with congestion controlled traffic or within a network
that is traffic managed to avoid congestion (TMCE)" - the MUST does not
seem appropriate. It is up to the operator whether congestion control is
required or not.

Section 4.6:
This section should be rephrased. This section currently defines how
hardware offloading in NICs should be implemented, including MUST
requirements. A network protocol should not define requirements for
specific implementation approaches. Instead, the section should describe
what is expected from ANY intermediate node in the network (switch, router,
or hardware component along the path) to do or not do (for example not to
change the order of Geneve options).

Section 5:
- I suggest to remove this section, or to significantly revise it. As
opposed to its title, it does not discuss interoperability, but migration
from other tunnel protocols to Geneve.
- The following sentences are inaccurate: "Geneve does not introduce any
interoperability issues as it appears to most devices as UDP packets.", and
"Geneve is a superset of the functionality of the most common protocols
used for network virtualization (VXLAN,NVGRE)"
- It appears that removing this section would not remove significant
information.

Section 7:
OLD:
are to be reserved for standardized options for allocation by IETF Review
NEW:
are to be assigned by the IETF Review policy
Explanation:
This sentence is confusing, since "Standards Action" and "IETF Review" are
two different IANA policies.

Section 1:
Currently section 1.1 starts a whole page after section 1 starts. I suggest
to separate the Requirement Language and the Terminology from the
Introduction (two different sections).

References:
IEEE.802.1Q_2014 is not the latest version of 802.1Q.

Cheers,
Tal Mizrahi.