Re: [spring] [Mapping Server] Conflict Resolution
tech_kals Kals <tech.kals@gmail.com> Wed, 22 March 2017 04:32 UTC
Return-Path: <tech.kals@gmail.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EEEA5129451 for <spring@ietfa.amsl.com>; Tue, 21 Mar 2017 21:32:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 PyRoO8pTo0_M for <spring@ietfa.amsl.com>; Tue, 21 Mar 2017 21:32:27 -0700 (PDT)
Received: from mail-wm0-x230.google.com (mail-wm0-x230.google.com [IPv6:2a00:1450:400c:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 414EF127698 for <spring@ietf.org>; Tue, 21 Mar 2017 21:32:26 -0700 (PDT)
Received: by mail-wm0-x230.google.com with SMTP id u132so25630430wmg.0 for <spring@ietf.org>; Tue, 21 Mar 2017 21:32:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=IFelVdO7J3bPb7q+uRkxRHooAOje6B8ijCtZzmzLGoY=; b=NqHFPdDzjme5Pa/X8jKfhJ+x5c4jz544DhEAuYK5ts8xR+lh5RRH3Y5uQkKVNXJOzZ 8LU5dVwkl8fqeqDEU+e99mNkxmIi2Xjkxw4X/UAaCQ67vFgajuLwfSmuacW3VZvjSC8Y WtcqJ14N3BLNo2hC/IzpV72ITRyFWcY0BQZVcD8NNjx+hwi7QcJaEvQIg6v6VHL9ySPd zYuUQK5lfDl/mlCmI25fKXj+ZNX4o0+qcff1GX8Ms696xCFRXrlSeOZ+Yfx9KbKktZHB 6QEihJS5DFO9JzeSa27BenJ9nXT1wlsCHh6ZsQnvHK20zT9xgkFNytq/35oISZ9Hu7TB UxlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=IFelVdO7J3bPb7q+uRkxRHooAOje6B8ijCtZzmzLGoY=; b=NWdrKWWj0g88s2k9Q3J8yTVIEYXC92es4mpgUAAqkAaiXco4EsvyLPW/8+J3gcLE0C q6HkgGK9gArjkb+2vGQLjjTlakqubvg8BfbtmGOfu8WBbCij5/+m6CCGdgnIzbcp4umm Wh7TotnSQUh/KQzd+zMOemsfMnFZMVHOgbnzv8Q1sKVmRD+IedBF35lRsMstMQXKbrZu UlK2rdAtee3V8sS+BORJdtgAg+vNVmBhxz85pghzxOdquTxCTLqXBLC9lGQVjGAhI1Th QXyBHHn6tp4OOngjwfEGlVAvlgaWvQ9Nm4thC1ltl0Ll4aeYfZ2gs2FlSRcBQXIzRK40 9GDQ==
X-Gm-Message-State: AFeK/H35Q6QhFzxtUQHbKQAjmZtoF7X+xJiOj92yE6d5c8a2QD53KKrBdduvqwdGt9kImSHFnoM1K98dqDyDng==
X-Received: by 10.28.229.78 with SMTP id c75mr6093597wmh.20.1490157144548; Tue, 21 Mar 2017 21:32:24 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.80.176.193 with HTTP; Tue, 21 Mar 2017 21:32:23 -0700 (PDT)
In-Reply-To: <95c5e3c770b44905ad5b9526a2b2501d@XCH-ALN-001.cisco.com>
References: <CAHWErLdy5RgdWQKOXp1PrbB6T_ANObznCSXvdQ0nkbBgukD5cQ@mail.gmail.com> <e0950e57a2a24bd99d78908be0d49a5d@XCH-ALN-001.cisco.com> <CAHWErLeBaMPDPJst0MpQfBXQqE3PW2pwGG_f6A539o1dv9gDYw@mail.gmail.com> <aaf69434308545a5b2566645cc2e4e47@XCH-ALN-001.cisco.com> <CAHWErLdvQoPjxuhwmVH9SzFKdET7L2yH9JFJz8_dRx2gEeEHew@mail.gmail.com> <95c5e3c770b44905ad5b9526a2b2501d@XCH-ALN-001.cisco.com>
From: tech_kals Kals <tech.kals@gmail.com>
Date: Wed, 22 Mar 2017 10:02:23 +0530
Message-ID: <CAHWErLdc-Gv4fTez5VO6H-xcwwUG-QbrNm+kgQjPRqKdBSgSdg@mail.gmail.com>
To: "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>
Cc: "spring@ietf.org" <spring@ietf.org>, "Peter Psenak (ppsenak)" <ppsenak@cisco.com>, "Stefano Previdi (sprevidi)" <sprevidi@cisco.com>
Content-Type: multipart/alternative; boundary="001a1145b0be42b741054b4a3f89"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/2SCyOFx7FfYAi-lT5Edm4pdGDpU>
Subject: Re: [spring] [Mapping Server] Conflict Resolution
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Stacked Tunnels for Source Routing \(STATUS\)." <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 Mar 2017 04:32:31 -0000
*Hi Les,* * Thanks for your clarification. It was really helpful.* * I have few more questions.* * 1) How would you handle identical entries has been populated by more than one Mapping Server at the same time ?* * For example, assume the below mapping entry is populated by Say, Mapping-Server-1 and Mapping-Server-2* * MS-1 entry: 10.1.1.0/24 <http://10.1.1.0/24>, 200, 2* * MS-2 entry: 10.1.1.0/24 <http://10.1.1.0/24>, 200, 2* * I don't think, the draft talks about this case.* *2) If there is sub-set of identical entries populated by two different mapping servers.* * MS-1 entry: 10.1.3.0/24 <http://10.1.3.0/24>, 200, 2* * MS-2 entry: 10.1.1.0/24 <http://10.1.1.0/24>, 198, 5* * In this case, 10.1.3.0, 200; 10.1.4.0, 201 are identical entries. How to handle this scenario ?* *3) Is preference values are configurable per mapping server or per-mapping entry ? * *I mean, once preference value is configured per mapping server then it would be applicable for all mapping entries which are triggered from the mapping server ? Isn't it ?* *I see, All SIDs advertised in prefix reachability advertisements implicitly **have a preference value of 192. It means, preference configured for the node will not applicable for "**prefix reachability advertisements" ? Isn't it ? * *So, the main purpose of preference is to give preference for a specific mapping server ?* *4) One very basic question...* *In case of LDP-SR inter-working, mapping entries are stitched by intersect node. * *Where as in SR-LDP **inter-working, stitching can't be done. Why do we need to use mapping server ? Why cant we use stitching?* *Thanks in adv Les,* *Regards,* *_tech.kals_* On Sun, Mar 19, 2017 at 8:52 PM, Les Ginsberg (ginsberg) <ginsberg@cisco.com > wrote: > Kals – > > > > Inline…look for “Les2” > > > > *From:* tech_kals Kals [mailto:tech.kals@gmail.com] > *Sent:* Saturday, March 18, 2017 11:40 PM > *To:* Les Ginsberg (ginsberg) > *Cc:* spring@ietf.org; Peter Psenak (ppsenak); Stefano Previdi > (sprevidi); martin.pilka@pantheon.tech > *Subject:* Re: [Mapping Server] Conflict Resolution > > > > *Hi Les,* > > > > *Thank you so much for your clarification.* > > > > *I have one more question here...* > > > > *1) the newly incoming entry would do conflict resolution validation with > all existing entries and will be programmed only if it doesn't have any > conflict with any entries or if it wins in conflict resolution with all of > them? * > > > > *In this case, the entry will be programmed only if it wins over all > entries, even if it fails with any one of the entry, it would not be added. > But, the entry which fails to win with the new entry also would exists in > the database. It would have not got removed.* > > > > *Is my understanding right ?* > > > > *2) Or when new entry X do conflict resolution validation with each entry > and assume, all entries are having a conflict resolution with this new > entry and the new entry wins over all entries. So, in this case, all of > them gets removed; only new entry would be added.* > > > > *[Les2:] When an entry arrives has no bearing on the application of the > preference rule. Conceptually (I am not talking about actual implementation > details) when the database changes (new entry added, existing entry > modified or deleted) the algorithm must be re-executed on the complete > contents of the database – not just on the changed entries..* > > > > *3) In cisco routers, I observed the below behavior. * > > > > *[Les2:] There currently is no standard. Individual vendors have > implemented whatever seemed best to them at the time. When there is WG > agreement on a standard behavior then it should be expected that > implementations will be modified to conform to the standard. * > > > > * Whenever there is any conflict (prefix/SID) with entries, the entry > which wins if it has lower system-id ( system-id is in the context of ISIS > protocol) though it has higher prefix/SID values. i.e. it seems, > "system-ID" is treated as "preference value". * > > *Why system-ID is being treated as preference value ? Can you please > clarify ?* > > > > > > *Coming back to our discussion, I thinks, there is a conflict with all 3 > entries in all 3 scenarios.* > > > > *Please see my reply inline with <KALS>* > > > > *Regards,* > > *_tech.kals_* > > > > > > On Sat, Mar 18, 2017 at 11:19 AM, Les Ginsberg (ginsberg) < > ginsberg@cisco.com> wrote: > > Kals – > > > > Please look closely at how to determine if there is a conflict. > > From Section 3: > > > > Prf - Preference Value (See Section 3.1) > > Pi - Initial prefix > > Pe - End prefix > > L - Prefix length > > Lx - Maximum prefix length (32 for IPv4, 128 for IPv6) > > Si - Initial SID value > > Se - End SID value > > R - Range value (See Note 1) > > T - Topology > > A - Algorithm > > > > A Mapping Entry is then the tuple: (Prf, Src, Pi/L, Si, R, T, A) > > Pe = (Pi + ((R-1) << (Lx-L)) > > Se = Si + (R-1) > > > > And Section 3.2.1 > > > > Given two mapping entries: > > > > (Prf, P1/L1, S1, R1, T1, A1) and > > (Prf, P2/L2, S2, R2, T2, A2) > > > > where P1 <= P2 > > > > a prefix conflict exists if all of the following are true: > > > > 1)(T1 == T2) && (A1 == A2) > > 2)P1 <= P2 > > 3)The prefixes are in the same address family. > > 2)L1 == L2 > > 3)(P1e >= P2) && ((S1 + (P2 - P1)) != S2) > > > > The preference rule as defined in the latest version of the draft (02): > > > > 1. Higher preference value wins > > 2. Smaller range wins > > 3. IPv6 entry wins over IPv4 entry > > 4. Longer prefix length wins > > 5. Smaller algorithm wins > > 6. Smaller starting address (considered as an unsigned integer > > value) wins > > 7. Smaller starting SID wins > > 8. If topology IDs are NOT identical both entries MUST be ignored > > > > Comments inline > > > > *From:* tech_kals Kals [mailto:tech.kals@gmail.com] > *Sent:* Friday, March 17, 2017 1:09 AM > *To:* Les Ginsberg (ginsberg) > *Cc:* spring@ietf.org; Peter Psenak (ppsenak); Stefano Previdi > (sprevidi); martin.pilka@pantheon.tech > *Subject:* Re: [Mapping Server] Conflict Resolution > > > > Hi Les, > > > > Sorry, I have not included my mapping entries in the previous mail. > Please see the example here below. > > > > I am working with the RFC which doesn't support *Preference Value, *so > please ignore it. And, my mapping entries would looks like. > > Topology will be a single topology, not a Multi-topology and algorithm > would be SPF not CSPF. > > > > Please read my entry the below order: *<Prefix-start/ prefix-len, > starting SID, range>* > > *E1 and E2 already configured Active entries.** X is the newly incoming > entry.* > > > > > > *Scenario 1:** (Entries are conflicting with prefix)* > > Entry *E1: <10.1.10.0/24 > <http://10.1.10.0/24>, 300, 22>* > > Entry *E2: <10.1.1.0/24 > <http://10.1.1.0/24>, 150, 5>* > > > > *[Les:] E1 expands to (10.1.10.0/24 <http://10.1.10.0/24> through > 10.1.31.0/24 <http://10.1.31.0/24>) using SIDs 300-321* > > *E2 expands to (10.1.1.0/24 <http://10.1.1.0/24> through 10.1.5.0/24 > <http://10.1.5.0/24>) using SIDs 150 -154* > > > > *There is no conflict – both entries are used.* > > > > * incoming entry is X:* > > * Entry X: <10.1.2.0/24 > <http://10.1.2.0/24>, 200, 20>* > > > > *[Les:] X expands to (10.1.2.0/24 <http://10.1.2.0/24> – 10.1.21.0/24 > <http://10.1.21.0/24>) using SIDs 200-219.* > > *There is a prefix conflict with E1.* > > *Preference rule #2 (smaller range) is applied – but the answer one gets > depends on the order in which the entries are processed – a point which I > discussed in my presentation at IETF 96. See Slides 17-20 in* > > *https://www.ietf.org/proceedings/97/slides/slides-97-spring-1_ietf97_draft-ietf-spring-conflict-resolution-02-00.pptx > <https://www.ietf.org/proceedings/97/slides/slides-97-spring-1_ietf97_draft-ietf-spring-conflict-resolution-02-00.pptx>* > > > > *So, if we examine entries in range order (smallest to highest) we find:* > > *E2 has no conflict w X nor with E1.* > > > > *<KALS> * > > > > *There is a conflict between X and E2 also.* > > > > *[Les2:] You are correct – my error.* > > *So, processing entries in range order (smallest to highest)* > > > > *E2 has a conflict with X. X is ignored.* > > *E2 has no conflict with E1.* > > *E1 and E2 are used – X is ignored.* > > > > *Apologies for the confusion.* > > > > > > *E2 expands to (10.1.1.0/24 <http://10.1.1.0/24> through 10.1.5.0/24 > <http://10.1.5.0/24>) using SIDs 150 -154* > > *X expands to (10.1.2.0/24 <http://10.1.2.0/24> – 10.1.21.0/24 > <http://10.1.21.0/24>) using SIDs 200-219.* > > > > *Prefix 10.1.2.0 to 10.1.5.0 are conflicting between entry-X and entry-E2.* > > *Will E2 win as they have lower range ?* > > > > *So, only E2 will exist in this case. * > > *E1 will be removed due to conflict with X and X would be removed due to > conflict with E2.* > > > > *Assume, if I have some more entries in the table say E3 to E100, they > will not be participating in the conflict resolution validation as X is > lost to E2 itself. Isn't it ?* > > > > *Is there any criteria that all entries such as E1, E2 and so on should be > in sorted order ? Otherwise, performing validation with all mapping entries > will be difficult if they have not been sorted. Isnt it ?* > > > > *Could you please let me know whether am I right ?* > > > > > > *X has a conflict with E1 – E1 is ignored.* > > *E2 and X are used.* > > > > * Step1: Conflict would be validated between E1 and X.* > > > > * Step2: Conflict would be validated between E2 and X.* > > > > * # what are the entries would be active and what will become > inactive/**excluded entry ?* > > > > > > > > *Scenario 2: ** (Entries are conflicting with SID)* > > Entry *E1: <10.1.10.0/24 > <http://10.1.10.0/24>, 300, 22>* > > Entry *E2: <7.1.1.0/24 <http://7.1.1.0/24>, > 280, 10>* > > > > *[Les:] Again, there is no conflict, both entries are used.* > > > > * incoming entry is X:* > > * Entry X: <3.1.1.0/24 <http://3.1.1.0/24>, > 285, 20>* > > > > *[Les:] There is no prefix conflict but there is a SID conflict.* > > *E1 300 – 321* > > *E2 280 – 289* > > *X 285 – 304* > > > > *Again applying Preference Rule #2 (smallest range wins)* > > *E2 wins over X – X is ignored* > > *E2 has no conflict with E1 – both entries are used.* > > *So E1 and E2 are used and X is ignored.* > > > > > > *<KALS> * > > > > *So, X will be added only if it is not having any conflict with all > existing entries.* > > > > *X will not be validated with other entries once it loses to someone ? Am > i rght ?* > > > > *What will happen if,* > > > > * - the new entry wins with some entries and* > > * - losing to some ?* > > > > *[Les2:] We apply the comparison based on the order of the preference > rules. Once an entry loses it is no longer a candidate for comparison using > any of the lower priority preference rule.* > > > > * Les* > > > > > > * Step1: Conflict would be validated between E1 and X.* > > > > * Step2: Conflict would be validated between E2 and X.* > > > > * # what are the entries would be active and what will become > inactive/**excluded entry ?* > > > > > > *Scenario 3: ** (Entries are conflicting with prefix and SID)* > > > > Entry *E1: <10.1.10.0/24 > <http://10.1.10.0/24>, 300, 22>* > > Entry *E2: <5.1.1.0/24 <http://5.1.1.0/24>, > 190, 15>* > > > > *[Les:] Again, no conflict – both entries are used.* > > > > * incoming entry is X:* > > * Entry X: <10.1.1.0/24 > <http://10.1.1.0/24>, 200, 20>* > > > > *[Les:] X has a prefix conflict with E1 – because it has smaller range X > is the winner and E1 is ignored.* > > *X has a SID conflict with E2. E2 has smaller range so X is ignored.* > > *Only E2 is used.* > > *Note that we evaluate prefix conflicts before sid conflicts. Different > results might ensue if we did sid conflicts before prefix conflicts (though > not in this example)* > > > > *The subtleties of ordering in achieving interoperability have not yet > been incorporated into the draft – in part because there is still > discussion about what policy should be used (Ignore, Quarantine, Ignore > Overlap Only). If the WG were to select Ignore as the policy then ordering > would not matter.* > > > > *HTH* > > > > * Les* > > > > * Step1: Conflict would be validated between E1 and X.* > > > > * Step2: Conflict would be validated between E2 and X.* > > > > *# what are the entries would be active and what will become > inactive/**excluded entry ?* > > > > > > *Regards,* > > *__tech.kals__* > > > > > > On Fri, Mar 17, 2017 at 12:41 PM, Les Ginsberg (ginsberg) < > ginsberg@cisco.com> wrote: > > It is not possible to answer your query because the way you have presented > your entries (X, E1, E2, E3) does not tell us what conflicts you have. > > Do you have two SIDs assigned to the same prefix? (Prefix conflict) > > Do you have the same SID assigned to two different prefixes? (SID conflict) > > > > This matters – see Section 3.3.6 of the draft for an example as to why. > > > > Please present your example in the form defined in Section 3: > > > > Prf - Preference Value (See Section 3.1) > > Pi - Initial prefix > > Pe - End prefix > > L - Prefix length > > Lx - Maximum prefix length (32 for IPv4, 128 for IPv6) > > Si - Initial SID value > > Se - End SID value > > R - Range value (See Note 1) > > T - Topology > > A - Algorithm > > > > A Mapping Entry is then the tuple: (Prf, Src, Pi/L, Si, R, T, A) > > > > Thanx. > > > > Les > > > > > > *From:* tech_kals Kals [mailto:tech.kals@gmail.com] > *Sent:* Thursday, March 16, 2017 7:22 PM > *To:* spring@ietf.org; Les Ginsberg (ginsberg); Peter Psenak (ppsenak); > Stefano Previdi (sprevidi); martin.pilka@pantheon.tech > *Subject:* [Mapping Server] Conflict Resolution > > > > Hi Experts, > > > > Could you please explain me what would be the expected behavior in the > following scenario in *Quarantine approach*. > > > > Mapping entries *E1, E2, E3 *are Active entries. > > > > In case, if incoming new entry say *X *which has conflict with *E1, E2 > and E3.* > > > > Assume, *X is better than E1 but not better than E2. ( E1 < X < E2)* > > > > * 1] X is better than E1 so E1 will become excluded entry and X will > become an active entry* > > > > * 2] Now, X is compared with E2. E2 is better than X. So, X will become > excluded entry and E2 is an active entry as it was.* > > > > *So, X and E1 will become "excluded entry".* > > > > *I couldn't find any info as shown above in the RFC. Can you please > clarify ?* > > > > > > *My doubts:* > > *1) Will the entry become active only if it wins with all entries which > are conflicted with this ?* > > *2) When doing conflict resolution with other entries, it can win with > some entries and can lose to some? What could be the behavior ? * > > * - This is the case which I explained above.* > > * - In this case, X can become active by winning to E1 and lose E2 > which leads X and E1 to become inactive/excluded entry.* > > > > > > can you please clarify ? > > > > > > Regards, > > __tech.kals__ > > > > >
- [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution Robert Raszuk
- Re: [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution Robert Raszuk
- Re: [spring] [Mapping Server] Conflict Resolution Les Ginsberg (ginsberg)
- Re: [spring] [Mapping Server] Conflict Resolution Robert Raszuk
- Re: [spring] [Mapping Server] Conflict Resolution Les Ginsberg (ginsberg)
- Re: [spring] [Mapping Server] Conflict Resolution Acee Lindem (acee)
- Re: [spring] [Mapping Server] Conflict Resolution Les Ginsberg (ginsberg)
- Re: [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution Les Ginsberg (ginsberg)
- Re: [spring] [Mapping Server] Conflict Resolution tech_kals Kals
- Re: [spring] [Mapping Server] Conflict Resolution Les Ginsberg (ginsberg)