RE: Clearing up your misunderstanding of the Association ID

Nic Neate <Nic.Neate@dataconnection.com> Wed, 19 November 2008 22:06 UTC

Return-Path: <owner-ccamp@ops.ietf.org>
X-Original-To: ietfarch-ccamp-archive@core3.amsl.com
Delivered-To: ietfarch-ccamp-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 1709F3A6931 for <ietfarch-ccamp-archive@core3.amsl.com>; Wed, 19 Nov 2008 14:06:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.546
X-Spam-Level:
X-Spam-Status: No, score=-1.546 tagged_above=-999 required=5 tests=[AWL=-1.051, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_COM=0.553, RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Yc4ahkxkN9hb for <ietfarch-ccamp-archive@core3.amsl.com>; Wed, 19 Nov 2008 14:06:30 -0800 (PST)
Received: from psg.com (psg.com [IPv6:2001:418:1::62]) by core3.amsl.com (Postfix) with ESMTP id BF5783A6895 for <ccamp-archive@ietf.org>; Wed, 19 Nov 2008 14:06:29 -0800 (PST)
Received: from majordom by psg.com with local (Exim 4.69 (FreeBSD)) (envelope-from <owner-ccamp@ops.ietf.org>) id 1L2v6Y-000Bys-QC for ccamp-data@psg.com; Wed, 19 Nov 2008 22:00:58 +0000
Received: from [192.91.191.39] (helo=enfiets2.dataconnection.com) by psg.com with esmtps (TLSv1:RC4-MD5:128) (Exim 4.69 (FreeBSD)) (envelope-from <Nic.Neate@dataconnection.com>) id 1L2v6S-000ByN-V4 for ccamp@ops.ietf.org; Wed, 19 Nov 2008 22:00:55 +0000
Received: from ENFIMBOX1.ad.datcon.co.uk (172.18.10.27) by enfiets2.dataconnection.com (172.18.4.22) with Microsoft SMTP Server (TLS) id 8.1.311.2; Wed, 19 Nov 2008 22:01:38 +0000
Received: from ENFIMBOX1.ad.datcon.co.uk ([172.18.10.27]) by ENFIMBOX1.ad.datcon.co.uk ([172.18.10.27]) with mapi; Wed, 19 Nov 2008 22:00:55 +0000
From: Nic Neate <Nic.Neate@dataconnection.com>
To: Aria - Adrian Farrel Personal <adrian@olddog.co.uk>
CC: "ccamp@ops.ietf.org" <ccamp@ops.ietf.org>
Date: Wed, 19 Nov 2008 22:00:49 +0000
Subject: RE: Clearing up your misunderstanding of the Association ID
Thread-Topic: Clearing up your misunderstanding of the Association ID
Thread-Index: AclJzdNZSY7CnagwTjiuqh0mbygxywAqn7pQ
Message-ID: <11DE3EEC54A8A44EAD99D8C0D3FD72075C6A4B2B5E@ENFIMBOX1.ad.datcon.co.uk>
References: <020938B8234C48209399F0FF21BD4C31@your029b8cecfe> <11DE3EEC54A8A44EAD99D8C0D3FD72075C6A4655F3@ENFIMBOX1.ad.datcon.co.uk> <CB819F54A08440CF9B90B1C3A2DEDEC8@your029b8cecfe>
In-Reply-To: <CB819F54A08440CF9B90B1C3A2DEDEC8@your029b8cecfe>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Sender: owner-ccamp@ops.ietf.org
Precedence: bulk
List-ID: <ccamp.ops.ietf.org>

Hi Adrian,

As we discussed earlier, there's also an Association ID / LSP ID space overlap issue here that's worth drawing out.

The branch node is generating ASSOCIATION objects for both end-to-end protection and segment protection, and always uses the same Association Type and Source.  The Association IDs that it chooses must therefore not clash.  In the end-to-end case, the Association ID is actually an LSP ID.  Your first rule for the merge node is to check the Association ID against other segment Association IDs.  Therefore, LSP IDs allocated to end-to-end protected LSPs must not clash with (existing or future) segment Association IDs.

LSP IDs are actually allocated by the management tool / MIB interface (mplsTunnelInstance).  I think this therefore amounts to a restriction on the MIB interface / management tool.

Nic

-----Original Message-----
From: Aria - Adrian Farrel Personal
Sent: 18 November 2008 22:34
To: Nic Neate
Cc: ccamp@ops.ietf.org
Subject: Re: Clearing up your misunderstanding of the Association ID

So...

Nic and I sat down today and discussed this particluar issue: how to interpret the Association ID in a received Path message in order to associate a new LSP with some other LSP at a merge point.

There are two cases that arise. If the new LSP is part of a segment protection relationship, the Association ID is a unique "set identifier" in the context of the Association Source. If the LSP is part of an end-to-end protection relationship, the Association ID identifies the LSP ID of the protection partner.

Nic's concern (and he convinced me for a while :-) is that there is an issue with distinguishing this case when a segment protection LSP is, itself, protected along its whole path in an end-to-end manner.

Having thought about this more, I believe the following processing rules that can be applied to make this work. I would be interested in any use cases (in particular message arrival variants) that anyone believes breaks these rules.

For each Association Object on the received Path message...

1. Look for an existing LSP with association object that matches {Association Source, Association ID} from the new Path message. If found, this is segment protection protecting from the Association Source to this node. Stop.

2. Look for existing LSP with matching {dest, tunnel ID, extended tunnel ID} and with LSP ID equal to received Association ID. The Association Source can (and probably should) also be checked against the sender source address on the matched LSP. If found, this is end-to-end protection from Association Source to dest.

Note that there may be multiple Association objects on a Path message. Note also, that 4872 requires the use of the same Session specifically to enable the use of the Association ID to LSP ID mapping.

As far as I can see, this addresses all cases.

Cheers,
Adrian

----- Original Message -----
From: "Nic Neate" <Nic.Neate@dataconnection.com>
To: "Aria - Adrian Farrel Personal" <adrian@olddog.co.uk>
Cc: <ccamp@ops.ietf.org>; "labn - Lou Berger" <lberger@labn.net>; "ALU - Dimitri Papadimitriou" <Dimitri.Papadimitriou@alcatel-lucent.be>
Sent: Tuesday, November 18, 2008 3:07 PM
Subject: RE: Clearing up your misunderstanding of the Association ID


Thanks Adrian,

I think the key source of confusion is that RFC 4873 makes no reference to changing the specific procedures defined in 4872 for setting the association ID to the LSP ID of the protecting/protected LSP.

For example, in section 5.1:

   5.1.  Identifiers

   ...

   To allow distinguishing the working LSP (from which the signal is
   taken) from the protecting LSP, the working LSP is signaled by
   setting in the PROTECTION object the S bit to 0, the P bit to 0, and
   in the ASSOCIATION object, the Association ID to the protecting
   LSP_ID.  The protecting LSP is signaled by setting in the PROTECTION
   object the S bit to 0, the P bit to 1, and in the ASSOCIATION object,
   the Association ID to the associated protected LSP_ID.

Your email and discussion with Lou has helped expain the intention of 4873.
However, I still have some concerns about interworking of end-to-end and segment recovery - see my email to Lou.

Nic


-----Original Message-----
From: Aria - Adrian Farrel Personal
Sent: 18 November 2008 14:00
To: Nic Neate
Cc: ccamp@ops.ietf.org
Subject: Clearing up your misunderstanding of the Association ID

Hi Nic,

I think there are a bunch of issues that you are raising, and we should try to itemise them to make sure we close them all off.

For the issue of the use of Association ID in segment protection, I think you may have misread the relevant RFCs. I don't believe any new Association ID type is needed to achieve the function: we can simply use the 4872 association type.

 Section 4.3 of 4872 says...
    The ASSOCIATION object, introduced in Section 16, is used to
    associate the working and protecting LSPs.

    When used for signaling the working LSP, the Association ID of the
    ASSOCIATION object (see Section 16) identifies the protecting LSP.
    When used for signaling the protecting LSP, this field  identifies the
    LSP protected by the protecting LSP.

That gives us the basis of everything we need.

 Then, in Section 16...
    The ASSOCIATION object is used to associate LSPs with each
    other.  In the context of end-to-end LSP recovery, the association
    MUST only identify LSPs that support the same Tunnel ID as well
    as the same tunnel sender address and tunnel endpoint address.
    The Association Type, Association Source, and Association ID
    fields of the object together uniquely identify an association.

I suspect that this is the source of your misunderstanding. But note that in 4873, the context is not end-to-end LSP  recovery so the restriction on the Tunnel ID does not apply.

If you follow this through now, I suspect you will discover that most of your issues go away.

Cheers,
Adrian