Rtgdir early review of draft-dmk-rtgwg-multisegment-sdwan-05

Adrian Farrel via Datatracker <noreply@ietf.org> Sat, 10 February 2024 21:38 UTC

Return-Path: <noreply@ietf.org>
X-Original-To: rtgwg@ietf.org
Delivered-To: rtgwg@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 83B10C14F60F; Sat, 10 Feb 2024 13:38:38 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Adrian Farrel via Datatracker <noreply@ietf.org>
To: rtg-dir@ietf.org
Cc: draft-dmk-rtgwg-multisegment-sdwan.all@ietf.org, rtgwg@ietf.org
Subject: Rtgdir early review of draft-dmk-rtgwg-multisegment-sdwan-05
X-Test-IDTracker: no
X-IETF-IDTracker: 12.5.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <170760111852.36779.1112884739220480182@ietfa.amsl.com>
Reply-To: Adrian Farrel <adrian@olddog.co.uk>
Date: Sat, 10 Feb 2024 13:38:38 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtgwg/Lj_bucuYCb2NerD4r-sDO_i8otk>
X-BeenThere: rtgwg@ietf.org
X-Mailman-Version: 2.1.39
List-Id: Routing Area Working Group <rtgwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtgwg/>
List-Post: <mailto:rtgwg@ietf.org>
List-Help: <mailto:rtgwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtgwg>, <mailto:rtgwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 10 Feb 2024 21:38:38 -0000

Reviewer: Adrian Farrel
Review result: Has Issues

Hello,

draft-dmk-rtgwg-multisegment-sdwan-05.txt

I have been selected to do a routing directorate "early" review of this
draft.

The routing directorate will, on request from the working group chair, 
perform an "early" review of a draft before it is submitted for 
publication to the IESG. The early review can be performed at any time
during the draft's lifetime as a working group document. The purpose of
the early review depends on the stage that the document has reached.

This review was requested by the RTGWG chairs as part of the process for
considering this draft for working group adoption.

For more information about the Routing Directorate, please see
https://wiki.ietf.org/en/group/rtg/RtgDir

Although these comments are primarily for the use of the RTGWG chairs,
it would be helpful if you could consider them along with any other 
adoption poll or mailing list comments that you receive, and strive to
resolve them through discussion or by updating the draft.

Document: draft-dmk-rtgwg-multisegment-sdwan-05.txt
Reviewer: Adrian Farrel
Review Date: 10 February 2024
Intended Status: Standards Track

= Summary =

I believe this document is suitable to be a candidate for an adoption
poll in RTGWG.

I have some concerns about this document that I think should be resolved
during the adoption process (or before).

= Overview =

The IETF has documented GENEVE in the Standards Track RFC 8926. It is a
generic encapsulation for network virtualization.

This document proposes using GENEVE to encapsulate IPsec packets between
customer premises equipment (CPEs) and data centre gateways as it is
carried across a variety of underlay networks in support of "SD-WAN"
connectivity services. It is suggested tht this is necessary so that key
transit relay points do not need to decrypt and re-encrypt the packets, 
allowing IPsec to run correctly "edge-to-edge" between CPEs.

I assume there is a reason why this document was not taken to NVO3, but
it seems wise to let them know about the proposal to adopt it in RTGWG.
Otherwise, it seems that this draft could be in scope for RTGWG
according to the charter.

The problem statement is somewhat woolly and is better understood from
the examples than from the Introduction. However, the examples seem to
offer credible scenarios and requirements. What is not clear from the
examples or the introduction is why GENEVE is an appropriate solution
rather than any of the many other tunnelling encapsulations that exist.
It is not until Section 4 that we discover why GENEVE is suggested as a
solution. I have no doubt that using GENEVE in this way could be made to
work (modulo some fixes to the proposal in the draft), and if that is
what the WG wants to work on, then it seems to be OK.

= Comments =

The document is relatively readable notwithstanding my concerns about
clarity of motivation. I feel that it could be a lot shorter and cleaner
(possibly the authors are too close to the problem?), but this is 
something the WG should be able to polish.

There are a lot of nits in this document. Nits are not significant for
determining adoption and might not need to be fixed before adoption by a 
WG (this is a matter for the chairs to determine), but their presence
makes the document much harder to review.

= Major Issues =

4.1 has

   The Protocol Type (16 bits) = 50 (ESP) [RFC4303] indicates
   that IPsec ESP encapsulated data are appended at the end of
   the GENEVE header.

My understanding of RFC 8926 is that you put an Ethertype in the
Protocol Type field.

   Protocol Type (16 bits):  The type of protocol data unit appearing
      after the Geneve header.  This follows the Ethertype [ETYPES]
      convention, with Ethernet itself being represented by the value
      0x6558.

The value 50 (x32) would thus be interpreted as an IEEE802.3 Length
Field. I *think* what you are meant to do is put the ESP after an IP
header (per RFC 4303) and then use the appropriate Ethertype in the
GENEVE header. This probably also makes life a lot easier because the
encapsulating IP header tells the gateway a lot about the intended 
destination of the packet (for example, you wouldn't need the SD-WAN
Tunnel Endpoint Sub-TLV and the SD-WAN Tunnel Originator Sub-TLV).

= Minor Issues =

Section 1 lists a number of ways to connect an enterprise to a cloud DC.
It says that these are described in [Net2Cloud] but a quick search does
not yield matching terms. It would be helpful if the terminology was
aligned and a more specific (section) reference was given.

The section introduces "the IPsec encrypted packets" without mentioning
where these are flowing and why IPsec is being used. 

A lot of Section 1 seems to be describing reasons for an architecture
(which would make use of the proposed solution) and not simply speaking 
to the problem at hand that motivates the solution. Doesn't the 
architectural discussion belong in [Net2Cloud]? 

All in all, it is very hard to determine a clear motivation for this 
work from the text until we get to Section 3.4.

---

2.

   SD-WAN      An overlay connectivity service that optimizes
               transport of IP Packets over one or more Underlay
               Connectivity Services by recognizing applications
               (Application Flows) and determining forwarding
               behavior by applying Policies to them. [MEF-70.1]

To be clear, and notwithstanding anything in MEF70.1, it is not
possible (or desireable) to identify and applications. What is
possible, using the fields highlighted in MEF70.1, is to select
traffic flows and apply steering policies to them to direct them
towards interfaces or tunnel endpoints so that they are carried
across the underlay.

---

3.1 points to the use of cloud security functions ans SaaS features. If,
however, end-to-end encryption is in use through IPsec, and that is 
carried in GENEVE so that the gateways do not need to decrypt and re-
encrypt, the availability of those security functions will be limited
(because they cannot see into the payload packet). Doesn't that mean
that these pieces of this use case are lost?

---

I think 3.3 says, "overlays are useful," and then 3.4 says "tunnels are
useful."

---

You need much more clarity on your choice to not set the C bit in the 
option types. You should state that this is a deliberate choice and 
describe how the packets will be processed if the option type is not
recognised.

Won't you need a registry for these option types?

---

4.6 and 4.7

Obviously, you are going to have to specify these TLVs in a future 
version. For the include case, you are going to have to say whether this
is an ordered list, whether the inclusion is mandatory, and whether the
list is strict or loose. You may also have to worry about the option
length in the GENEVE header especially in the case of IPv6.

---

5.5 What do you mean by an invalid address?

---

4.5 has...
   The Control Plane protocol is out of the
   scope of this document.

And yet...

   7. Control Plane considerations

---

I'm curious why your new Multi Segment SD-WAN Sub-TLVs registry has 0
and 255 as reserved.

= Nits =

The very first thing I do when asked to review a document is to run idnits
It is not hard (just click a button). 

There is rarely an excuse for any version of a draft to have nits, but when
an author is requesting action (such as adoption or last call) then they
really have a duty to fix all of the nits first.

idnits reports

  Checking nits according to https://www.ietf.org/id-info/checklist :
  ----------------------------------------------------------------------------

  == There are 7 instances of lines with non-RFC6890-compliant IPv4 addresses
     in the document.  If these are example addresses, they should be changed.

  == There are 5 instances of lines with private range IPv4 addresses in the
     document.  If these are generic example addresses, they should be changed
     to use any of the ranges defined in RFC 6890 (or successor): 192.0.2.x,
     198.51.100.x or 203.0.113.x.


  Miscellaneous warnings:
  ----------------------------------------------------------------------------

  == The document seems to lack the recommended RFC 2119 boilerplate, even if
     it appears to use RFC 2119 keywords -- however, there's a paragraph with
     a matching beginning. Boilerplate error?

     (The document does seem to have the reference to RFC 2119 which the
     ID-Checklist requires).
  -- The document date (January 24, 2024) is 13 days in the past.  Is this
     intentional?

---

The layout of the file is a bit of a mess in places. This does not make
reviewing it any easier. The problems are around layout of boilerplate
and the use of bullets. (Probably an artefact of using the Word template
but surely easy to fix before submission?

The running footer is also broken probably for the same reason.

---

As a matter of style, the Title, Abstract, and main text should not use
abreviations (SD-WAN, DC, CPE, GW) without expanding them first. This
should happen in each place they are used for the first time (i.e., the
main text cannot inherit from the Abstract, and the Abstract cannot
inherit from the Title.

---

Please decide on "cloud DC" or "Cloud DC"

---

I'm not sure that wikipedia is the best reference, but if you want to
use it, make it a proper reference.

---

Clean your terms to only mention ones you actually use.

---

I don't think you should reproduce the GENEVE header from RFC 8926.
Although you probably have this right, you risk issues if you
accidentally introduce a discrepency.

You can just say, "The GENEVE header is defined in Section 3 of
[RFC8926]."

---

Please use consistent case for "TBD"