Hi Xiaohu,

please see inline (“...FB“)

From: nvo3 <nvo3-boun...@ietf.org> On Behalf Of ???(??)
Sent: Freitag, 13. April 2018 09:42
To: Int-area <int-area-boun...@ietf.org>; Frank Brockners (fbrockne) 
<fbroc...@cisco.com>
Cc: NVO3 <nvo3@ietf.org>; int-area <int-a...@ietf.org>; Service Function 
Chaining IETF list <s...@ietf.org>; IETF IPPM WG <i...@ietf.org>
Subject: Re: [nvo3] [Int-area] [ippm] encapsulation of IOAM data in various 
protocols - follow up from WG discussion in London

Hi,

It said in draft-brockners-ippm-ioam-vxlan-gpe-00:



"

   [I-D.ietf-nvo3-vxlan-gpe] defines an "O bit" for OAM packets.  Per

   
[I-D.ietf-nvo3-vxlan-gpe<https://tools.ietf.org/html/draft-brockners-ippm-ioam-vxlan-gpe-00#ref-I-D.ietf-nvo3-vxlan-gpe>]
 the O bit indicates that the packet

   contains an OAM message instead of data payload.  Packets that carry

   IOAM data fields in addition to regular data payload / customer

   traffic must not set the O bit.  Packets that carry only IOAM data

   fields without any payload must set the O bit."



My first question is: if the Next Protocol field within the VXLAN-GPE header 
should be resorted to indicate the IOAM, why do we still need the "O" bit?



...FB: What this paragraph states is that IOAM is orthogonal to the O-bit in 
traffic and will not impact the use of the O-bit. I.e. if the O-bit is set on 
traffic (because it is OAM traffic), then you’ll continue to have it set with 
IOAM data added to the packet. If the O-bit isn’t set on the original packet, 
then it also won’t be set with IOAM data added to the packet.



It said in draft-brockners-ippm-ioam-vxlan-gpe-00:



"Next Protocol:  8-bit unsigned integer that determines the type of

      header following IOAM protocol.  The value is from the IANA

            registry setup for VXLAN GPE Next Protocol defined in

      
[I-D.ietf-nvo3-vxlan-gpe<https://tools.ietf.org/html/draft-brockners-ippm-ioam-vxlan-gpe-00#ref-I-D.ietf-nvo3-vxlan-gpe>]."



My second question is: why the "Next Protocol" is designed to be 
context-specific (i.e., specific to the tunnel over which the IOAM data fields 
are contained). In other words, wouldn't it be better to make the Next Protocol 
tunnel-independant since the IOAM is intended to be added into various tunnel 
encapsulations?



...FB: In those cases where IOAM data encapsulation uses the “next protocol” 
approach, the encapsulation will borrow next-protocol code points from the 
“parent” protocol. It is the parent protocol that determines how these code 
points are structured and defined – and in some cases they are 16-bit (like 
with GRE, where “next protocol” is an Ethertype value) or 8-bit, like for 
example for “NSH next protocol”



My third question is: does it means intermediate nodes must be aware of various 
tunnel encapsulations since the IOAM data field is behind the tunnel header? 
wouldn't it be better to carry the IOAM data just behind the outer IP header?



...FB: This is really a deployment question. E.g. if you run VXLAN-GPE over 
IPv6, you could choose to encapsulate IOAM data natively into IPv6, or you 
could choose to encapsulate IOAM data into VXLAN-GPE, or even both.



Cheers, Frank





Best regards,

Xiaohu


On Wed, Apr 11, 2018 at 12:02 PM, Frank Brockners (fbrockne) 
<fbroc...@cisco.com<mailto:fbroc...@cisco.com>> wrote:
Back at the IPPM meeting in London, we discussed several drafts dealing with 
the encapsulation of IOAM data in various protocols 
(draft-brockners-ippm-ioam-vxlan-gpe-00, draft-brockners-ippm-ioam-geneve-00, 
draft-weis-ippm-ioam-gre-00). One discussion topic that we decided to take to 
the list was the question on whether draft-ooamdt-rtgwg-ooam-header could be 
leveraged.  After carefully considering draft-ooamdt-rtgwg-ooam-header, I came 
to the conclusion that the “OOAM header” does not meet the needs of IOAM:
* Efficiency: IOAM adds data to live user traffic. As such, an encapsulation 
needs to be as efficient as possible. The “OOAM header” is 8 bytes long. The 
approach for IOAM data encapsulation in the above mentioned drafts only 
requires 4 bytes. Using the OOAM header approach would add an unnecessary 
overhead of 4 bytes – which is significant.
GIM>> The difference in four octets is because OOAM Header:

  *   provides more flexibility, e.g. Flags field and Reserved fields;
  *   supports larger OAM packets than iOAM header;
  *   is future proof by supporting versioning (Version field).
* Maturity: IOAM has several implementations, which were also shown at recent 
IETF hackathons – and we’re expecting additional implementations to be 
publicized soon. Interoperable implementations need timely specifications. 
Despite the question being asked, the recent thread on OOAM in the NVO3 list 
hasn’t revealed any implementation of the OOAM header. In addition, the thread 
revealed that several fundamental questions about the OOAM header are still 
open, such as whether or how active OAM mechanisms within protocols such as 
Geneve would apply to the OOAM header. This ultimately means that we won’t get 
to a timely specification.
GIM>> May I ask which encapsulations supported by the implementations you refer 
to. Until very recently all iOAM proposals were to use meta-data TLV in, e.g. 
Geneve and NSH. And if these or some of these implementations already updated 
to the newly proposed iOAM shim, I don't see problem in making them use OOAM 
Header. Would you agree?

* Scope: It isn’t entirely clear to which protocols the OOAM header would 
ultimately apply to. The way the OOAM header is defined, OOAM uses a 8-bit 
field for “Next Prot”, the next protocol. Some protocols that IOAM data needs 
to be encapsulated into use 16-bits for their next protocol code points. See 
e.g. the GRE encapsulation – as specified in draft-weis-ippm-ioam-gre-00.
GIM>> The first paragraph of the Introduction section states:
   New protocols that support overlay networks like VxLAN-GPE
   [I-D.ietf-nvo3-vxlan-gpe], GUE [I-D.ietf-nvo3-gue], Geneve
   [I-D.ietf-nvo3-geneve], BIER [I-D.ietf-bier-mpls-encapsulation], and
   NSH [I-D.ietf-sfc-nsh] support multi-protocol payload, e.g.
   Ethernet, IPv4/IPv6, and recognize Operations, Administration, and
   Maintenance (OAM) as one of distinct types.  That ensures that
   Overlay OAM (OOAM)packets are sharing fate with Overlay data packet
   traversing the underlay.
I'm updating the OOAM Header draft and along with cleaning nits will update 
reference to GUE. I think that the list and the statemnt are quite clear in 
identifying the scope of networks that may benefit from using not only common 
OOAM Header but common OOAM mechanisms, e.g. Echo 
Request/Reply<https://tools.ietf.org/html/draft-ooamdt-rtgwg-demand-cc-cv-03>.

With the above in mind, I’d suggest that the WG moves forward with specific 
definitions for encapsulating IOAM data into protocols – per the above 
mentioned drafts.

Regards, Frank

_______________________________________________
ippm mailing list
i...@ietf.org<mailto:i...@ietf.org>
https://www.ietf.org/mailman/listinfo/ippm


_______________________________________________
nvo3 mailing list
nvo3@ietf.org
https://www.ietf.org/mailman/listinfo/nvo3

Reply via email to