[Detnet] IPv6 encapsulation in dataplane doc

"Pascal Thubert (pthubert)" <pthubert@cisco.com> Wed, 07 February 2018 13:27 UTC

Return-Path: <pthubert@cisco.com>
X-Original-To: detnet@ietfa.amsl.com
Delivered-To: detnet@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 761EA126E64 for <detnet@ietfa.amsl.com>; Wed, 7 Feb 2018 05:27:30 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.53
X-Spam-Level:
X-Spam-Status: No, score=-14.53 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dsg8lW5xKBI4 for <detnet@ietfa.amsl.com>; Wed, 7 Feb 2018 05:27:28 -0800 (PST)
Received: from rcdn-iport-6.cisco.com (rcdn-iport-6.cisco.com [173.37.86.77]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E71C812D775 for <detnet@ietf.org>; Wed, 7 Feb 2018 05:27:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=45311; q=dns/txt; s=iport; t=1518010047; x=1519219647; h=from:to:subject:date:message-id:mime-version; bh=OcU92NF0zW4gTZrbStMUX+R9i9UqpP4fub6Qxq+iXNQ=; b=cXdLwUseNVNMjbOlYdzdtq746QO0iLct64rDcOP/SBgkRIZq7Ha7FZwh aA8ufExJHBCCMjNB4mNi1O7QpdRBRmsmiU5UInUwLMVQzCxNpGQkNF+hM cxxgEXOqdeT2bZ930Ta2hJ2aGd4vmLzMkXl8N9wzPxze/XaFugRlZ9QSr o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CtAACO/npa/4wNJK1dGQEBAQEBAQEBAQEBAQcBAQEBAYJZeGZwKAqNf44kmVQVggMKI4gDVBgBAgEBAQEBAQJrHQuFV14BQAE/JgEEG4lJZBC0FIh2ggoBAQEBAQUBAQEBAQEBHAWEdYIVgVeBaIZdAQECAYE2hhQgBYpqmT8JAogcjVSUR416iWMCERkBgTsBHzmBUHAVgwSEdngBAYx7gRcBAQE
X-IronPort-AV: E=Sophos;i="5.46,473,1511827200"; d="scan'208,217";a="353069235"
Received: from alln-core-7.cisco.com ([173.36.13.140]) by rcdn-iport-6.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Feb 2018 13:27:22 +0000
Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by alln-core-7.cisco.com (8.14.5/8.14.5) with ESMTP id w17DRMiS002793 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL) for <detnet@ietf.org>; Wed, 7 Feb 2018 13:27:22 GMT
Received: from xch-rcd-001.cisco.com (173.37.102.11) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Wed, 7 Feb 2018 07:27:22 -0600
Received: from xch-rcd-001.cisco.com ([173.37.102.11]) by XCH-RCD-001.cisco.com ([173.37.102.11]) with mapi id 15.00.1320.000; Wed, 7 Feb 2018 07:27:22 -0600
From: "Pascal Thubert (pthubert)" <pthubert@cisco.com>
To: "detnet@ietf.org" <detnet@ietf.org>
Thread-Topic: IPv6 encapsulation in dataplane doc
Thread-Index: AdOgFyOl9vKMd7+3Skyj/a0jCzTraQ==
Date: Wed, 07 Feb 2018 13:27:09 +0000
Deferred-Delivery: Wed, 7 Feb 2018 13:26:41 +0000
Message-ID: <cff50c52d2f945cfa8eff149f5242fb0@XCH-RCD-001.cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.228.216.11]
Content-Type: multipart/alternative; boundary="_000_cff50c52d2f945cfa8eff149f5242fb0XCHRCD001ciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/detnet/jb9mk68sQEszrqc8tkDJBBcL2d4>
Subject: [Detnet] IPv6 encapsulation in dataplane doc
X-BeenThere: detnet@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Discussions on Deterministic Networking BoF and Proposed WG <detnet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/detnet>, <mailto:detnet-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/detnet/>
List-Post: <mailto:detnet@ietf.org>
List-Help: <mailto:detnet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/detnet>, <mailto:detnet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Feb 2018 13:27:30 -0000

Dear all

This is about the IPv6 encapsulation and more precisely


                        Therefore, if a DetNet-aware end system only

   inserted the DetNet Destination Option into the IPv6 but e.g., a

   DetNet Edge node is configured to enforce an explicit route for the

   IPv6 packet using a source routing header, then it has no other

   possibility than add an outer tunneling IPv6 header with required

   extension headers in it.  The processing of IPv6 packets in a DetNet

   Edge node is discussed further in Section 6.4.1<https://tools.ietf.org/html/draft-ietf-detnet-dp-sol-01#section-6.4.1>.


With the current spec, a source sends a DetNet packet as

                    +---------------------------------+
                    |                                 |
                    |           DetNet Flow           |
                    |             Payload             |
                    |                                 |
                    /---------------------------------\
                    H   Optional DetNet DstOpt Hdr    H
                    \---------------------------------/
                    |          IPv6 header            |
                    |     (with set Flow label)       |
                    +---------------------------------+

And then the ingress node needs to re-encapsulate as



                    +---------------------------------+

                    |                                 |

                    |           DetNet Flow           |

                    |             Payload             |

                    |                                 |

                    /---------------------------------\

                    H        DetNet DstOpt Hdr        H
                    \---------------------------------/
                    |          IPv6 header            |
                    |     (with set Flow label)       |
                    +=================================+

                    |          Routing header         |

                    /---------------------------------\

                    H        DetNet DstOpt Hdr        H

                    \---------------------------------/

                    |          IPv6 header            |

                    |     (with set Flow label)       |

                    +---------------------------------+

This creates a duplication of the DetNet Destination Option.

There are alternatives


a)  whereby the packet is tunneled from the source to the detnet ingress, and based on its state the DetNet ingress accepts the packet, processes it and then resends it. The tunneled version of this could be:

                    +---------------------------------+
                    |                                 |
                    |           DetNet Flow           |
                    |             Payload             |
                    |                                 |
                    +---------------------------------+
                    |          IPv6 header            |
                    |   (dest = final destination)    |
                    /=================================\
                    H   Optional DetNet DstOpt Hdr    H
                    \---------------------------------/
                    |          IPv6 header            |
                    |   (dest = DetNet ingress edge)  |
                    |     (with set Flow label)       |
                    +---------------------------------+

Which allows the ingress to tunnel to the egress as follows:
                    +---------------------------------+
                    |                                 |
                    |           DetNet Flow           |
                    |             Payload             |
                    |                                 |
                    +---------------------------------+
                    |          IPv6 header            |
                    |      (to final destination)     |
                    +=================================+

                    |          Routing header         |

                    /---------------------------------\
                    H   Optional DetNet DstOpt Hdr    H
                    \---------------------------------/
                    |          IPv6 header            |
                    |   (dest = DetNet egress edge)   |
                    |     (with set Flow label)       |
                    +---------------------------------+



b)  whereby the PREF is done by the end nodes and the tunnel is transport only, meaning that there are 2 tunnels A and B and that the source sends twice a packet like this:

                    +---------------------------------+
                    |                                 |
                    |           DetNet Flow           |
                    |             Payload             |
                    |                                 |
                    /---------------------------------\
                    H   Optional DetNet DstOpt Hdr    H
                    \---------------------------------/
                    |          IPv6 header            |
                    |   (dest = DetNet ingress edge X)|
                    |     (with set Flow label)       |
                    +---------------------------------+

And then the ingress node needs to re-encapsulate as



                    +---------------------------------+

                    |                                 |

                    |           DetNet Flow           |

                    |             Payload             |

                    |                                 |

                    /---------------------------------\

                    H        DetNet DstOpt Hdr        H
                    \---------------------------------/
                    |          IPv6 header            |
                    |   (dest = final destination)    |
                    |     (with set Flow label)       |
                    +=================================+

                    |          Routing header         |

                    +---------------------------------+

                    |          IPv6 header            |

                    |   (dest = DetNet egress edge X) |

                    |     (with set Flow label)       |

                    +---------------------------------+

Cheers,

Pascal