Re: [OSPF] draft-ietf-ospf-yang-03 questions and doubts

Alan Davey <> Mon, 16 May 2016 08:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8B77C12D11A; Mon, 16 May 2016 01:44:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.003
X-Spam-Status: No, score=-2.003 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id kzHAESmSmmny; Mon, 16 May 2016 01:44:35 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6E77E12D0E7; Mon, 16 May 2016 01:44:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=+qGIILEuVX3+0UXzAwUcLGqJTpIXa8iAeagL7hRuwM8=; b=J5Is2QynAmGIk0ulzTNN7/3FptLtg4V4J+XclYJu15gBl5COJi2aVe+DaIAaK7Yr2lENgDTk3cBz3Bb7bkgHAYQO0P/pZJyAv25BzvVFCmtL1+jMIchzRIoIZTIUcemlx8AY7u33aVsuxKD5B7G/32qU+2TlWphBy+teohxv9Ug=
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.1.492.11; Mon, 16 May 2016 08:44:32 +0000
Received: from ([]) by ([]) with mapi id 15.01.0492.019; Mon, 16 May 2016 08:44:32 +0000
From: Alan Davey <>
To: "t.petch" <>, "Acee Lindem (acee)" <>, "Derek Man-Kit Yeung (myeung)" <>, "" <>
Thread-Topic: [OSPF] draft-ietf-ospf-yang-03 questions and doubts
Thread-Index: AdE3NLGjjtMGuql0QfiSt+s9ulh9zgoPjYmAAiVQNuADX5obgAcESYLgBoJ48NAANR+BoQAqfv2AAACIaOAABMymEQBcakow
Date: Mon, 16 May 2016 08:44:32 +0000
Message-ID: <>
References: <> <> <> <> <> <> <01f101d1ac75$8fd66a80$> <> <> <00ef01d1ad34$e0e406c0$>
In-Reply-To: <00ef01d1ad34$e0e406c0$>
Accept-Language: en-GB, en-US
Content-Language: en-US
authentication-results:; dkim=none (message not signed) header.d=none;; dmarc=none action=none;
x-originating-ip: [2620:104:4001:72:e993:3f22:b10a:6fb4]
x-ms-office365-filtering-correlation-id: b78c675a-231f-45a8-2cb2-08d37d664d7b
x-microsoft-exchange-diagnostics: 1; BN3PR0201MB1060; 5:ZFYX5X1TW+2i7q91H5xgKks1BOWNa7EyPl9WBR1aJkZ1Y/Z+aSFwUm6GCGRUXeHWKbfUiqisLxHwZsDDHbEEQXvc1PpxVLku7O1ZPCw/sRba6CkjJpLzV+2L83HJdVVdzb/B8WoMn5GkPNiX7NFKcg==; 24:8bh5UyD0r/RFjvRbxDojv1/O59XHtfEa7pswj054+6oxMHl8jrZpFxvysfebSlB+QB1/c2iTdRtVmtcTJ7rsYdUuWUC+Z4NqtBQ/gamcU9M=; 7:sSmvGPKy/m7BNtkCCerazOhAqTQNs1SPpW6DQ7N64f0e/SVGRaPVcMCe8a+Ot/1Yroxsf90R2/V0ez/25A5Rmc+oEo5U4ambu8ZNSo7D4Pt2lXPn2xiRKo9S0gdhWkjHsMGGcjT98iSnHGAEkv8IeYWRjaWldU2ZhAG43S4rluo003R0oLB4CcQZpYJybhKa
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0201MB1060;
x-microsoft-antispam-prvs: <>
x-exchange-antispam-report-test: UriScan:(95692535739014);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:BN3PR0201MB1060; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0201MB1060;
x-forefront-prvs: 09443CAA7E
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6009001)(13464003)(24454002)(76104003)(377454003)(230783001)(74316001)(76576001)(189998001)(50986999)(5003600100002)(5002640100001)(54356999)(76176999)(86362001)(33656002)(19580405001)(19580395003)(99286002)(87936001)(5001770100001)(93886004)(92566002)(3660700001)(8936002)(5004730100002)(4326007)(2501003)(10400500002)(5008740100001)(345774005)(9686002)(77096005)(11100500001)(2906002)(122556002)(102836003)(6116002)(81166006)(8676002)(2900100001)(586003)(15975445007)(2950100001)(3280700002)(1220700001)(7059030)(3826002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN3PR0201MB1060;; FPR:; SPF:None; MLV:sfv; LANG:en;
spamdiagnosticoutput: 1:23
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 May 2016 08:44:32.5832 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 9d9e56eb-f613-4ddb-b27b-bfcdf14b2cdb
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0201MB1060
Archived-At: <>
Cc: OSPF WG List <>
Subject: Re: [OSPF] draft-ietf-ospf-yang-03 questions and doubts
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: The Official IETF OSPG WG Mailing List <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 16 May 2016 08:44:37 -0000

Hi Tom

Thanks for your quick response.  I just want to check that I understand your email.  Please let me know if the following is correct or not.

-  You expect that the NMS would identify an interface by name in all cases of protocol configuration, where there is flexibility on what the "interface" represents.

-  There will only ever be one primary IP address assigned to an interface (or zero in the case of unnumbered point to point interfaces).

-  There is a set of zero or more secondary IP addresses that may be assigned to the interface.

-  Only the primary address (or unnumbered interface) would ever have OSPF configuration associated with it.  Secondary addresses never have OSPF configuration associated.  (As an aside, multicast considerations do not preclude running OSPF using a secondary address.)

-  I assume that in the case of a non-empty set of secondary addresses, the secondary addresses should be advertised by the OSPF protocol.  Is this true?


-----Original Message-----
From: t.petch [] 
Sent: 13 May 2016 17:31
To: Alan Davey <>; Acee Lindem (acee) <>; Derek Man-Kit Yeung (myeung) <>;
Cc: OSPF WG List <>
Subject: Re: [OSPF] draft-ietf-ospf-yang-03 questions and doubts

----- Original Message -----
From: "Alan Davey" <>
Sent: Friday, May 13, 2016 3:37 PM

> Hi Tom and Acee
> Thank you for getting back to me.  I understand that an "interface" is
identified by its name.  My doubt is about how OSPFv2 configuration defined for an "interface" is mapped to an internal OSPFv2 interface object that is indexed on IP address (as per RFC 4750).  Perhaps you could let me know what you think.
> In more detail, consider the case where one interface is assigned
multiple IP addresses.  The OSPFv2 protocol considers these to be separate networks (as per RFC 2328, section 1.2, for example).  If the
OSPFv2 configuration is defined per interface, is that configuration applied to all of the separate OSPFv2 interfaces or to one of them?  If to one of them then how is that one selected?

On your first point, RFC4750 defines the appearance of a box to the outside world, as all MIB modules do; how this is implemented internally is an implementation decision so internally, there may not be the concept of an object let alone one that is keyed on IP address!
Equally, a YANG module is a contract between device and NMS; it is the appearance that matters, the internal implementaton can be quite different.  YANG requires that interfaces have names but that allows a lot of choice.

The YANG OSPF module maps configuration information to an interface, identified by name.  The YANG ip module augments the interface with a list of IP addresses.  An implementor can choose to have an interface with one IP address, many interfaces each with one address, many with many and so on, may be constrained by the protocols in use.

My experience of multiple IPv4 addresses is using them to overcome the limitations of subnet masks with one as primary, the others as secondary; I cannot recall configuring OSPF on more than one, the primary, in which case OSPF configuration would only apply to that.  I suspect that multicast considerations would make it impossible to run OSPF over a secondary address but I could be wrong.

The YANG modules allow an implementor to treat each IP address as a separate named interface, one address per interface, which would allow each to run OSPF and be configured separately for that.  I do not know if anyone will implement this - ask your favourite supplier of

This issue, of multiple addresses on an interface, was discussed on the netmod list in 2011/2012.

Tom Petch

> Regards
> Alan
> -----Original Message-----
> From: Acee Lindem (acee) []
> Sent: 13 May 2016 15:02
> To: t.petch <>; Alan Davey
<>; Derek Man-Kit Yeung (myeung) <>;
> Cc: OSPF WG List <>
> Subject: Re: [OSPF] draft-ietf-ospf-yang-03 questions and doubts
> Hi Tom,
> On 5/12/16, 1:41 PM, "OSPF on behalf of t.petch"
< on behalf of> wrote:
> >----- Original Message -----
> >From: "Alan Davey" <>
> >To: "Derek Man-Kit Yeung (myeung)" <>; 
> ><>
> >Cc: "OSPF WG List" <>
> >Sent: Wednesday, May 11, 2016 5:40 PM
> >
> >Hi Derek
> >
> >A question about the key for OSPF interfaces in the Yang draft.
> >let me know what you think.
> >
> >The background is that the Management Information Base definitions 
> >define indices for OSPF interfaces as follows.
> >
> >
> >-          For OSPFv2, RFC 4750 defines the index as ospfIfIpAddress,
> >ospfAddressLessIf.
> >
> >-          For OSPFv3, RFC 5643 defines the index as ospfv3IfIndex,
> >ospfv3IfInstId.
> >
> >However, in the OSPF Yang draft, the key is defined as "interface", 
> >which I believe is a name of the interface.
> >
> >How does "interface" map to the indices defined in RFCs 4750 and
> >
> ><tp>
> >
> >It doesn't (IMHO).  You have two lists of interfaces in this I-D
> >
> >container interfaces { description "All interfaces."; list interface
> >key "interface"; description "List of OSPF interfaces.";
> >
> >container interfaces { description "All interfaces in the area.";
> >interface { key "interface"; description "List of OSPF interfaces.";
> >
> >both keyed on 'interface' (which is two separate lists so two
> >'interface' leaf, different sets of key objects.).
> These are basically the same lists - one is for operational state and
the other is for configuration.
> >
> >Both are defined as
> >
> >     type if:interface-ref;
> >
> >and the if: harks back to
> >     import ietf-interfaces {prefix "if"; and ietf-interfaces is in
> >RFC7223 where interface-ref is defined as
> >"   An interface is identified by its name, which is unique within
> >   server.  This property is captured in the "interface-ref" and
> >   "interface-state-ref" typedefs, which other YANG modules SHOULD
> >   when they need to reference a configured interface or
> >   used interface, respectively."
> >
> >So both lists are keyed on a name which is unique within the server
> >can be anything, such as 'lan0' or 'fast-ethernet-23/7' or 
> >'hotplug23/6/15' or... It all depends; names may be dictated by the 
> >hardware with no choice, or they may be dictated by the software to 
> >compliant hardware or ...
> >
> >Underlying this is the thought that we have no good definition of an 
> >interface, one that works across all protocols and other aspects of a 
> >configuration; an interface is like a blob of jelly and pinning it
> >to be a name is about as good a grasp of it as we will get (IMO).
> Agreed.
> Thanks,
> Acee
> >
> >Tom Petch
> >
> >Thanks
> >Alan
> >
> >_______________________________________________
> >OSPF mailing list
> >
> >