RE: [IPv6 SR] Regarding 128 bits IPv6 address in Segment List of SRH

Veerendranatha Reddy Vallem <veerendranatharv@huawei.com> Fri, 10 February 2017 15:18 UTC

Return-Path: <veerendranatharv@huawei.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 88E241299C9; Fri, 10 Feb 2017 07:18:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.222
X-Spam-Level:
X-Spam-Status: No, score=-4.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 ojg3Fi1rCDXm; Fri, 10 Feb 2017 07:18:43 -0800 (PST)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 55BF01294C2; Fri, 10 Feb 2017 07:18:42 -0800 (PST)
Received: from 172.18.7.190 (EHLO lhreml702-cah.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id DAJ01221; Fri, 10 Feb 2017 15:18:40 +0000 (GMT)
Received: from BLREML406-HUB.china.huawei.com (10.20.4.43) by lhreml702-cah.china.huawei.com (10.201.5.99) with Microsoft SMTP Server (TLS) id 14.3.301.0; Fri, 10 Feb 2017 15:18:38 +0000
Received: from BLREML501-MBX.china.huawei.com ([10.20.5.198]) by BLREML406-HUB.china.huawei.com ([10.20.4.43]) with mapi id 14.03.0301.000; Fri, 10 Feb 2017 20:48:31 +0530
From: Veerendranatha Reddy Vallem <veerendranatharv@huawei.com>
To: "Stefano Previdi (sprevidi)" <sprevidi@cisco.com>
Subject: RE: [IPv6 SR] Regarding 128 bits IPv6 address in Segment List of SRH
Thread-Topic: [IPv6 SR] Regarding 128 bits IPv6 address in Segment List of SRH
Thread-Index: AdKC3shnNhYwdbbrRSWzOM8TNO3Pyv//1RUA//7E0wCAAk1YgP//Wi5g
Date: Fri, 10 Feb 2017 15:18:30 +0000
Message-ID: <73BFDDFFF499304EB26FE5FDEF20F788508700B4@blreml501-mbx>
References: <73BFDDFFF499304EB26FE5FDEF20F7885086FA74@blreml501-mbx> <3E1CCF0A-41E5-49E9-82FA-BC96F689A69D@cisco.com> <73BFDDFFF499304EB26FE5FDEF20F7885086FE9C@blreml501-mbx> <2DE89697-41FA-4389-9CDE-A91B7ADE37D1@cisco.com>
In-Reply-To: <2DE89697-41FA-4389-9CDE-A91B7ADE37D1@cisco.com>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.18.152.243]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090204.589DD9D0.011E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32
X-Mirapoint-Loop-Id: 80d865ced56b9c30ca47bbad10fc9d6f
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/IB64xQTXvfeBYoJoeA2_G_W_8RI>
Cc: "draft-ietf-ospf-ospfv3-segment-routing-extensions@tools.ietf.org" <draft-ietf-ospf-ospfv3-segment-routing-extensions@tools.ietf.org>, "ospf@ietf.org" <ospf@ietf.org>, "ipv6@ietf.org" <ipv6@ietf.org>, "draft-ietf-6man-segment-routing-header@ietf.org" <draft-ietf-6man-segment-routing-header@ietf.org>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 Feb 2017 15:18:45 -0000

Dear Previdi,
SRH may carry Adj Segment and Special segments (128 IPv6 prefixes)  along with Node Segments.

Ex: Consider below Topology

                                                                                                                                              
                        / B ------ C------- D\                                                                                                   
                      /        Fadj| |                 \                                                                                                
 X --------A                   | |                 H----- Y                                                                                       
                   \                   | |              /                                                                                               
                     \   E ----  F ----- G  /                                                                                                   
                                                                                                                                       


        
  At Node X         		At Node A,                            		At node C,     while forwarding to F (C need to decrement segments to twice, one for Fadj and other for F)                                                                                          
 IPv6 Hdr                              Ipv6 Hdr                                 		 IPv6 Hdr
 DA= Y SA=X                      DA= C SA=X                             		DA= F SA=X                                                                                          
          		             SRHdr (segment left 4)        		SRHdr (segment left 2)                                                                              
         		            Y,H,F,Fadj,C                            	                Y,H,F,Fadj,C                                                                                        
                                                                                                                                       
While processing this type of SRH, I feel existing algorithm may be required to modify to add recursive look up to process Adj Segment/Special segment as below. (Based on above example)

Existing algorithm: (As per section 4.3), 

   1.   IF DA = myself (segment endpoint)
   2.      IF Segments Left > 0 THEN
              decrement Segments Left
              update DA with Segment List[Segments Left]
   3.      ELSE continue IPv6 processing of the packet
                End of processing.
   4.   Forward the packet out

Proposed Modification:

    1.   IF DA = myself (segment endpoint)
   2.      IF   Segments Left > 0  THEN
              decrement Segments Left
               do
               IF Segment List[Segments Left]= Adj-Segment/Special Segment originated by myself
                     Trigger the action as per Segment (Ex: if it is Adj Segment, identify interface to forward, if segment is for the service,  trigger for service)
                     Decrement Segments Left
               ELSE 
                      Update DA with Segment List[Segments Left]
                       break;
             while (Segments Left > 0)    
             
   3.      ELSE continue IPv6 processing of the packet
                End of processing.
   4.   Forward the packet out

If SRH is having combination of Node and Adj SID then recursive look up to be 2 times maximum at each IPv6 SR supported nodes 
If Service Segments are added to SRH, then may be multiple recursive look ups, since it may require to handle multiple services by same node.

Please check and let me know your opinion.

Thanks & Regards,
Veerendranath
	
 
                                                                                                                                       
 
                                                                                                                                       

-----Original Message-----
From: Stefano Previdi (sprevidi) [mailto:sprevidi@cisco.com] 
Sent: 10 February 2017 15:02
To: Veerendranatha Reddy Vallem <veerendranatharv@huawei.com>
Cc: draft-ietf-6man-segment-routing-header@ietf.org; draft-ietf-ospf-ospfv3-segment-routing-extensions@tools.ietf.org; ospf@ietf.org; ipv6@ietf.org
Subject: Re: [IPv6 SR] Regarding 128 bits IPv6 address in Segment List of SRH

Hi Veerendranath,

yes, an SR-IPv6 SID is a 128-bit IPv6 addresses. 

The semantic associated to the SID is given by the control plane. We have already documented the signaling of the SIDs in ISIS, OSPF and BGP. Currently we have defined Node-SIDs (representing a node) and Adjacency-SIDs (instruction to forward out to the interface the SID is allocated to).

In the IPv6 dataplane a SID being an IPv6 address, it makes the SID a global IPv6 address (even in the case of Adj-SIDs). This of course is orthogonal to the control plane that may or may not advertise such address.

I.e., you may have an Adj-SID as a global IPv6 address that it is not advertised by any routing protocol in the network (which implies of course that the packet will have to first reach the node using a node-SID).

The use of LL addresses as SID has not been contemplated for the simple reason that a router may well allocated the same address to all links so it is not a reliable mechanism for forwarding. This will be fixed in the next revision of the ospfv3 draft (isis draft is ok).

s.



> On Feb 10, 2017, at 7:37 AM, Veerendranatha Reddy Vallem <veerendranatharv@huawei.com> wrote:
> 
> Dear Previdi,
> Thanks for your reply. 
> 
> As per first version of draft, Adj-SID is also  IPv6 prefix. 
> 
> 4.2.2.  Adjacency-SID
> 
>   The Adjacency-SID identifies a given interface.  In the SR
>   architecture a node may advertise one or more Adj-SIDs allocated to a
>   given interface so to force the forwarding of the packet (when
>   received with that particular Adj-SID) into the interface, regardless
>   the routing entry for the packet destination.  The same is defined
>   for SR-IPv6: a node may advertise a given IPv6 prefix which is
>   associated to the SR semantic of "send out the packet to the
>   interface this prefix is allocated to".  Here also, the SID is in
>   fact the IPv6 prefix.
> 
> As per my understanding  "segment list in SRH is global IPv6 prefixes, If we need to include Adj SID to segment list then Adj-SID is also global IPv6 prefix". 
> Please correct me if my understanding is wrong.
> 
> Thanks and Regards,
> Veerendranath
> 
> 
> 
> 
> -----Original Message-----
> From: Stefano Previdi (sprevidi) [mailto:sprevidi@cisco.com] 
> Sent: 09 February 2017 22:41
> To: Veerendranatha Reddy Vallem <veerendranatharv@huawei.com>
> Cc: draft-ietf-6man-segment-routing-header@ietf.org; draft-ietf-ospf-ospfv3-segment-routing-extensions@tools.ietf.org; ospf@ietf.org; ipv6@ietf.org
> Subject: Re: [IPv6 SR] Regarding 128 bits IPv6 address in Segment List of SRH
> 
> Hi,
> 
> the first version of the draft (draft-previdi-6man-segment-routing-header) had a description of Node-SID and Adj-SID. Later, in order to simplify the document, we removed the descriptions and focused the document into the SRH format.
> 
> I think it will be helpful to re-introduce a section on the two main SID types (Node, Adjacency). I’m working on an update for the next version.
> 
> Thanks.
> s.
> 
> 
> 
> 
> 
>> On Feb 9, 2017, at 5:02 PM, Veerendranatha Reddy Vallem <veerendranatharv@huawei.com> wrote:
>> 
>> Dear Authors,
>> 
>> I am requesting your clarification regarding usage of Adj-SID in SRH header
>