[i2rs] RIB Info/Data model questions: nexthop-id

"Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net> Mon, 05 October 2015 13:58 UTC

Return-Path: <zzhang@juniper.net>
X-Original-To: i2rs@ietfa.amsl.com
Delivered-To: i2rs@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 182911ACDF1 for <i2rs@ietfa.amsl.com>; Mon, 5 Oct 2015 06:58:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham
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 ZIBGF7g_Ac0i for <i2rs@ietfa.amsl.com>; Mon, 5 Oct 2015 06:58:35 -0700 (PDT)
Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0133.outbound.protection.outlook.com [207.46.100.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 73F421ACDE6 for <i2rs@ietf.org>; Mon, 5 Oct 2015 06:58:35 -0700 (PDT)
Received: from BLUPR0501MB1715.namprd05.prod.outlook.com (10.163.120.18) by BLUPR0501MB1713.namprd05.prod.outlook.com (10.163.120.16) with Microsoft SMTP Server (TLS) id 15.1.286.20; Mon, 5 Oct 2015 13:58:33 +0000
Received: from BLUPR0501MB1715.namprd05.prod.outlook.com ([10.163.120.18]) by BLUPR0501MB1715.namprd05.prod.outlook.com ([10.163.120.18]) with mapi id 15.01.0286.019; Mon, 5 Oct 2015 13:58:33 +0000
From: "Jeffrey (Zhaohui) Zhang" <zzhang@juniper.net>
To: "i2rs@ietf.org" <i2rs@ietf.org>
Thread-Topic: RIB Info/Data model questions: nexthop-id
Thread-Index: AdD/dCtXKfJtuMrwR0qqTgDiDr9MgA==
Date: Mon, 05 Oct 2015 13:58:32 +0000
Message-ID: <BLUPR0501MB171534CA5734108C0FF7986DD4480@BLUPR0501MB1715.namprd05.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=zzhang@juniper.net;
x-originating-ip: [66.129.241.11]
x-microsoft-exchange-diagnostics: 1; BLUPR0501MB1713; 5:B9+SgDb8T5uI5JlMpGryLw+L40heRTTDRPMst4hjr4g/lAZcxYZaAYFNe0YwDA0yQnPRLsuQu7cPaRQCHfWVtyySvfgcJtrAdnwn+GZEsLWeQC5mCdb8mrTQ8dvNMmZLluv00zgOiG7qTZfHz69kxQ==; 24:KxVn29QJkQke1ozwVbWbnPPIXWorPqRHpxAPGd237YNzw3zm7T6Ce9CSo7TM45n5X99wVxwDkD+W6MBRKYnNOJ22CkPPabr56X4vOhP2sK8=; 20:4cMXo10T/3yt61OQnO6OIoFMDkMApL1QDkWYIMlVebRS7TBWnJjjMec21Eex7xHbS14JEL2tfmp6N1jpgCM3Xw==
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0501MB1713;
x-microsoft-antispam-prvs: <BLUPR0501MB171371A6B114A6B1C103092AD4480@BLUPR0501MB1713.namprd05.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:;
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001); SRVR:BLUPR0501MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0501MB1713;
x-forefront-prvs: 07200C0526
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(189002)(199003)(11100500001)(2351001)(46102003)(102836002)(50986999)(66066001)(5001830100001)(62966003)(54356999)(77156002)(68736005)(64706001)(87936001)(77096005)(101416001)(5001860100001)(86362001)(33656002)(10400500002)(5001960100002)(229853001)(76576001)(4001540100001)(81156007)(97736004)(110136002)(189998001)(122556002)(105586002)(5002640100001)(74316001)(92566002)(5007970100001)(5008740100001)(2900100001)(40100003)(450100001)(2501003)(5004730100002)(5003600100002)(99286002)(107886002)(106356001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR0501MB1713; H:BLUPR0501MB1715.namprd05.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en;
received-spf: None (protection.outlook.com: juniper.net does not designate permitted sender hosts)
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Oct 2015 13:58:32.8891 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bea78b3c-4cdb-4130-854a-1d193232e5f4
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0501MB1713
Archived-At: <http://mailarchive.ietf.org/arch/msg/i2rs/XwpKmj3dIHHDN-L3SxCoSTxZH4o>
Subject: [i2rs] RIB Info/Data model questions: nexthop-id
X-BeenThere: i2rs@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Interface to The Internet Routing System \(IRS\)" <i2rs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/i2rs>, <mailto:i2rs-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/i2rs/>
List-Post: <mailto:i2rs@ietf.org>
List-Help: <mailto:i2rs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/i2rs>, <mailto:i2rs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Oct 2015 13:58:38 -0000

Hi,

Both the RIB info and data model mentions nexthop-id, but neither specifies who manages/assigns the ID. Can the specs point that out?

It seems that it could be both ways - the IDs could be allocated by routers (servers) or could be allocated by clients. Different ID spaces would be used depending on who allocates the IDs.

Related to the above, a specific question on the data model:

  grouping nexthop {
    leaf nexthop-id {
      mandatory true;
      type uint32;
    }
    choice nexthop-type {
       ...
       case nexthop-protection {
        list nexthop-protection-list {
            key "nexthop-protection-id"; 
            leaf nexthop-protection-id {
              mandatory true;
              type uint32;
            }
           leaf nexthop-preference {
             ...
           }
           leaf nexthop {
             mandatory true;
             type nexthop-ref;
           }
        }
      }

Here a nexthop-protection is a list. Being a list it requires a key and we defined this uint32 nexthop-protection-id, which I assume the controller needs to assign and both the controller and the router needs to remember. The list entry has a member "nexthop" which is a nexthop-ref, which is a nexthop-id:

  typedef nexthop-ref {
    type leafref {
      path  "/i2rs-rib:routing-instance/i2rs-rib:rib-list" +
            "/i2rs-rib:route-list/i2rs-rib:nexthop/i2rs-rib:nexthop-id";
    }
  }

So - why can't we use the nexthop-id itself as the key?

Thanks.

Jeffrey