Re: [Idr] BGP MIBv2 implementation

"Daniel Cohn" <DanielC@orckit.com> Sun, 22 July 2012 13:50 UTC

Return-Path: <DanielC@orckit.com>
X-Original-To: idr@ietfa.amsl.com
Delivered-To: idr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ECB2221F859B for <idr@ietfa.amsl.com>; Sun, 22 Jul 2012 06:50:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ydN+oZnl6yRF for <idr@ietfa.amsl.com>; Sun, 22 Jul 2012 06:50:21 -0700 (PDT)
Received: from tlvmail1.orckit.com (tlvmail1.orckit.com [109.226.33.14]) by ietfa.amsl.com (Postfix) with ESMTP id 9BB7421F8554 for <idr@ietf.org>; Sun, 22 Jul 2012 06:50:18 -0700 (PDT)
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CD6811.6759BF65"
Date: Sun, 22 Jul 2012 16:53:40 +0300
Message-ID: <44F4E579A764584EA9BDFD07D0CA081307A42614@tlvmail1>
In-Reply-To: <CAATsVbaAXaG30_bNOOXB-=3PoeR61ByZWtEp1PpeN0ic2GHo4w@mail.gmail.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Idr] BGP MIBv2 implementation
Thread-Index: Ac1kTpZmmmoOcaXIQxy7BQ3HiL5FoQBIGFTw
References: <EAF21C4E-4162-4A20-B5E8-9DD4402621D4@juniper.net><44F4E579A764584EA9BDFD07D0CA0813076E31CA@tlvmail1><6246F062-090F-4092-B931-B10F3A84AEB0@juniper.net><44F4E579A764584EA9BDFD07D0CA0813076E323A@tlvmail1><283B4946-C3D5-42A0-87D6-02C8FD5CA132@juniper.net><44F4E579A764584EA9BDFD07D0CA08130777BECD@tlvmail1><A933E7A8-2729-44B8-973C-1DE8C7A6CEBD@juniper.net><44F4E579A764584EA9BDFD07D0CA08130777C66C@tlvmail1> <CAATsVbaAXaG30_bNOOXB-=3PoeR61ByZWtEp1PpeN0ic2GHo4w@mail.gmail.com>
From: Daniel Cohn <DanielC@orckit.com>
To: Bill Fenner <fenner@fenron.net>
Cc: Jeffrey Haas <jhaas@juniper.net>, idr@ietf.org
Subject: Re: [Idr] BGP MIBv2 implementation
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/idr>
List-Post: <mailto:idr@ietf.org>
List-Help: <mailto:idr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 22 Jul 2012 13:50:27 -0000

Hi Bill and all, please see inline with [DC].

 

From: fenner@fenron.com [mailto:fenner@fenron.com] On Behalf Of Bill
Fenner
Sent: Tuesday, July 17, 2012 9:59 PM
To: Daniel Cohn
Cc: Jeffrey Haas; idr@ietf.org
Subject: Re: [Idr] BGP MIBv2 implementation

 

On Wed, Apr 25, 2012 at 8:44 AM, Daniel Cohn <DanielC@orckit.com> wrote:

Hi Jeff and all,

 

Sorry for the delayed response. I think it would be a shame to go
through the hassle of updating the BGP MIB without fully supporting BGP
L3VPN/VPLS (in both RFC 4761 and 6074 flavors). Therefore I support
using a generic NLRI prefix TC that explicitly supports these NLRIs and
can be extended to support future BGP applications. It doesn't seem
consistent to add AFI/SAFI to the MIB while leaving the NLRI as an IP
address.

 

A couple more suggestions for this draft:

 

-          Change the bgp4V2AdjRibsOutTable index to make it the same as
in bgp4V2NlriTable. In its current form (a pointer to the
bgp4V2NlriTable), it doesn't support BGP routes originated by this
speaker (e.g. redistributed from IGP) so it's woefully inadequate.

I had a similar thought about the Adj-RIBS-Out table - it can't
represent a locally-originated route.  I am not sure what you mean by
changing the index to address this, however, since the index as it is
makes sense to me.

 

 Maybe you mean to change the structure of the table to copy all of the
data from the NlriTable, which I disagree with.

 

[DC] You're right, that's what I meant. My bad. 

 

One idea on handling this with the current structure is to use the
pointer to point to a row in the IP-FORWARDING-MIB for a
locally-originated route.

 

[DC] I don't think that would work, as there is plenty of BGP-specific
information that is not available at the IP forwarding MIB, such as MED,
LOCAL_PREF, or ext communities (actually all the information currently
indexed by bgpM2PathAttrIndex).

What is the problem with expanding the table to include all required BGP
information? If your concern is memory utilization, at the risk of
stating the obvious let me say that MIB structure doesn't necessarily
prescribe the internal database structure, meaning you can always choose
a more efficient internal structure (e.g. using pointers instead of
storing duplicate information) and translate the SNMP queries from/to
the MIB structure.

	-          Add support for BGP communities (as in your
communities draft) in the NLRI in/out tables.

There is no reason this can't be a future addition, right, in the
interest of getting the base functionality out?

 

[DC] Why should this simple addition hold back progress?

 

	-          Restore local address (and maybe ports) to
bgp4V2PeerTable index to support multiple BGP sessions between two
speakers as in draft-ietf-grow-diverse-bgp-path-dist

If the ports are in the INDEX, how do you ever find a row if one of the
ports is guaranteed to be ephemeral and you don't know a priori who
originated the connection?

 

If the remote address was first in the INDEX, you could always use
getnext to get a given value independent of the local address, but
that's not a concept that many management systems are familiar with.

 

An idea that solves both the ports and the unknown-local-address problem
is to use the remote address and an instance identifier.  Peers with a
single connection (the "normal" case) would be only instance 1, but if
you had multiple simultaneous connections to the same remote peer you
could use more values.

 

[DC] I don't see a problem with using getnext, but a neutral instance is
also acceptable.

 

 

  Bill

 

	 

	Feedback is welcome, regards,

	 

	Daniel

	 

	From: Jeffrey Haas [mailto:jhaas@pfrc.orgnet] 
	Sent: Thu, 15 Mar 2012 14:19:17 
	Subject: Re: [Idr] IETF 83 - BGP MIBv2 Update - prefix Textual
Conventions

	 

	Working Group,

	 

	As per prior plenary discussion on making more effect use of
working group

	session time, please find my BGP MIBv2 update slides on the
proceedings

	page:

	 

	http://www.ietf.org/proceedings/83/slides/slides-83-idr-0.pdf

	 

	The bulk of the presentation is self explanatory.  I'd like to
thank 

	Bert Wijnen for additional MIB feedback.   I suspect we'll get a
bit more

	feedback from him since he discovered bugs as part of doing
derivative work

	for the SIDR MIB.  Draft -13 [1] reflects his comments as of the
IETF 83

	posting cutoff.

	 

	One item I would like to draw the working group's further
attention to is

	covered on slides 5-7.  As part of analyzing the requirements
for the

	multicast next-gen VPN [2] MIBs that Jeffrey Zhang (zzhang at
juniper.net) is

	working on, we briefly considered exposing MVPN routing state in
BGP via the

	BGP MIBv2.  Per prior presentations and discussions on design
goals for the

	BGP MIBv2, we wanted one MIB that was capable of being re-used
for various

	types of reachability that was being carried in BGP.  However,
the primary

	goal was to be able to carry IPv6 reachability.

	 

	RFC 6514 can be briefly examined to see the different types of
reachability

	that are being passed around in BGP.  The reachability is
distinguished

	within the same AFI/SAFI by a "Route Type" field within the
prefix with type

	specific encodings following.  

	 

	The BGP MIBv2 presents prefixes using the following two objects:

	    bgp4V2NlriPrefixType OBJECT-TYPE

	        SYNTAX     InetAddressType

	        MAX-ACCESS not-accessible

	        STATUS     current

	        DESCRIPTION

	            "The type of the IP address prefix in the

	             Network Layer Reachability Information field.

	             The value of this object is derived from the

	             appropriate value from the bgp4V2NlriAfi field.

	             Where an appropriate InetAddressType is not

	             available, the value of the object must be

	             unknown(0)."

	        ::= { bgp4V2NlriEntry 4 }

	 

	    bgp4V2NlriPrefix OBJECT-TYPE

	        SYNTAX     InetAddress

	        MAX-ACCESS not-accessible

	        STATUS     current

	        DESCRIPTION

	            "An IP address prefix in the Network Layer

	             Reachability Information field. This object

	             is an IP address containing the prefix with

	             length specified by bgp4V2NlriPrefixLen.

	             Any bits beyond the length specified by

	             bgp4V2NlriPrefixLen are zeroed.

	 

	             An implementation is required to support IPv4

	             prefixes.  In this case, the object length

	             is (0..4).

	 

	             An implementation MAY support IPv6 prefixes.

	             In this case, the object length is (0..16)"

	        REFERENCE

	            "RFC 4271, Section 4.3."

	        ::= { bgp4V2NlriEntry 5 }

	 

	The general goal of the "InetAddressType/InetAddress" textual
conventions [3]

	is to provide a level of generality for MIB objects that are
"addresses".

	Our initial design guidance for the BGP MIBv2 was to make use of
these TCs

	to help represent both IPv4 and IPv6 addresses - and it does
this well.

	 

	As part of investigating encoding MVPN prefixes in the BGP
MIBv2, I sent

	mail to the ietfmibs mailing list to discuss this possibility.
After a few

	exchanges, it was suggested that since the information is BGP
specific that

	this was not the best fit for the INET-ADDRESS-MIB and that we
should

	consider a BGP TC specifically for this purpose.

	 

	If we were to consider such a TC, we would make it "IANA
maintained".  This

	would permit us to issue the initial MIB but permit IANA to
maintain the

	code points as new protocol elements are added.  I.e. we don't
have to have

	a MIB document stuck as an I-D forever.  The current
INET-ADDRESS-MIB is

	an example of such a MIB.

	 

	After further discussion with Jeffrey Zhang, we determined that
there wasn't

	a strong incentive to continue the MVPN MIB work as a BGP MIBv2
extension,

	We may see future requirements from other BGP-based address
families.  

	 

	My recommendation would be that we proceed with the work to
create a BGP

	Prefix TC MIB with an explicit goal of being backward compatible
with the

	INET-ADDRESS-MIB.  However, the WG may also come to the decision
to not

	pursue making this MIB completely general purpose and just worry
about

	IPv4/IPv6.

	 

	With regard to standards advancement, the new BGP Prefix MIB
shouldn't

	unnecessarily hinder the BGP MIBv2.

	 

	I would like the WG to come to some consensus as to whether we
(very likely,

	I) take on the work to make such a prefix TC MIB.

	 

	If the discussion becomes interesting enough, Sue and John have
agreed to

	grant us discussion time at the upcoming IDR session in Paris.

	 

	-- Jeff

	 

	
	_______________________________________________
	Idr mailing list
	Idr@ietf.org
	https://www.ietf.org/mailman/listinfo/idr