Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-bgp4-mibv2-06.txt
"tom.petch" <cfinss@dial.pipex.com> Wed, 14 May 2008 10:49 UTC
Return-Path: <idr-bounces@ietf.org>
X-Original-To: idr-archive@megatron.ietf.org
Delivered-To: ietfarch-idr-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id B4D673A67F7; Wed, 14 May 2008 03:49:08 -0700 (PDT)
X-Original-To: idr@core3.amsl.com
Delivered-To: idr@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D44D23A67F7 for <idr@core3.amsl.com>; Wed, 14 May 2008 03:49:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.19
X-Spam-Level:
X-Spam-Status: No, score=-1.19 tagged_above=-999 required=5 tests=[AWL=-0.891, BAYES_00=-2.599, MANGLED_BEEF=2.3]
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 k1TKdfXABFoz for <idr@core3.amsl.com>; Wed, 14 May 2008 03:48:57 -0700 (PDT)
Received: from mk-outboundfilter-5.mail.uk.tiscali.com (mk-outboundfilter-5.mail.uk.tiscali.com [212.74.114.1]) by core3.amsl.com (Postfix) with ESMTP id 7D58E3A67A2 for <idr@ietf.org>; Wed, 14 May 2008 03:48:56 -0700 (PDT)
X-Trace: 27031345/mk-outboundfilter-5.mail.uk.tiscali.com/PIPEX/$ACCEPTED/pipex-temporary-group/213.116.52.220
X-SBRS: None
X-RemoteIP: 213.116.52.220
X-IP-MAIL-FROM: cfinss@dial.pipex.com
X-IP-BHB: Once
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApsEAAJgKkjVdDTc/2dsb2JhbACLU6IgBA
X-IronPort-AV: E=Sophos;i="4.27,486,1204502400"; d="scan'208";a="27031345"
X-IP-Direction: IN
Received: from 1cust220.tnt102.lnd4.gbr.da.uu.net (HELO allison) ([213.116.52.220]) by smtp.pipex.tiscali.co.uk with SMTP; 14 May 2008 11:47:29 +0100
Message-ID: <006b01c8b5a6$e92b8080$0601a8c0@allison>
From: "tom.petch" <cfinss@dial.pipex.com>
To: Jeffrey Haas <jhaas@pfrc.org>, Joan Cucchiara <jcucchiara@mindspring.com>
References: <06f701c88b5b$22622000$6601a8c0@JoanPC> <20080503223750.GG23560@scc.mi.org>
Date: Wed, 14 May 2008 11:41:15 +0200
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Cc: idr@ietf.org
Subject: Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-bgp4-mibv2-06.txt
X-BeenThere: idr@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: "tom.petch" <cfinss@dial.pipex.com>
List-Id: Inter-Domain Routing <idr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/idr>, <mailto:idr-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/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>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: idr-bounces@ietf.org
Errors-To: idr-bounces@ietf.org
Jeff As far as I can see, there is but one place where working group feedback is requested and that is for > 5) InetAddress/InetAddressType but I am unclear what point you are asking about:-( I do think that Joan's suggestion of moving SIZE into CONFORMANCE is a good one; who knows what the RRG might come up with in order to reduce FIB size and churn:-) But I suspect your question is about something else; is it that RFC2545 alows 32 octet addresses? or what? I am unclear. (I do think that specific values - 4, 16 etc - are better than 0..16 except of course for the prefix in question). Tom Petch ----- Original Message ----- From: "Jeffrey Haas" <jhaas@pfrc.org> To: "Joan Cucchiara" <jcucchiara@mindspring.com> Cc: "Dan Romascanu (E-mail)" <dromasca@avaya.com>; "David Ward" <dward@cisco.com>; "MIB Doctors (E-mail)" <mib-doctors@ietf.org>; <idr@ietf.org> Sent: Sunday, May 04, 2008 12:37 AM Subject: Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-bgp4-mibv2-06.txt > Joan, > > Thank you for the quick review and many apologies a delayed response. > Please find my response inline. Once your issues and any further issues > raised by the working group have been addressed, I will issue a new > version of this MIB. > > Working group - within this response are sections marked: > *** Working group feedback requested: > > Even if you're not strongly interested in MIB work, please inspect these > sections as it may have further standardization implications. > > On Fri, Mar 21, 2008 at 08:54:50AM -0500, Joan Cucchiara wrote: > > First, MIB compiler output is given, followed by "General Comments" > > on the document, then "Specific Comments". > > I hadn't run smicng on this. I will add this to my toolkit for the > future. > > > SMICNG output: > > ============= > > W: f(BGP4-MIB), (30,22) The first revision should > > match the last update for MODULE-IDENTITY bgp > > Corrected. > > > E: f(BGP4-MIB), (1834,13) Item "bgpAfPathAttrUnknownFlags" > > in sequence "BgpAfPathAttrUnknownEntry" has conflicting syntax specified > > Corrected. > > > E: f(BGP4-MIB), (233,13) Index item "bgpPeerAfInstance" must be > > E: f(BGP4-MIB), (1041,13) Index item "bgpPeerAfInstance" must be > > E: f(BGP4-MIB), (1152,13) Index item "bgpNlriIndex" must be > > E: f(BGP4-MIB), (1153,13) Index item "bgpPeerAfInstance" must be > > E: f(BGP4-MIB), (1362,13) Index item "bgpPeerAfInstance" must be > > E: f(BGP4-MIB), (1371,13) Index item "bgpAdjRibsOutIndex" must be > > E: f(BGP4-MIB), (1445,13) Index item "bgpAfPathAttrIndex" must be > > E: f(BGP4-MIB), (1711,13) Index item "bgpAsPathIndex" must be > > E: f(BGP4-MIB), (1712,13) Index item "bgpAsPathSegmentIndex" must be > > E: f(BGP4-MIB), (1713,13) Index item "bgpAsPathElementIndex" must be > > E: f(BGP4-MIB), (1825,13) Index item "bgpAfPathAttrUnknownIndex" > > E: f(BGP4-MIB), (1826,13) Index item "bgpAfPathAttrUnknownCode" > > defined with syntax that includes a range > > This was intentional. The full range was to be made available for > implementation since this is an opaque handle. Did you want the > Unsigned32 range to be added? > > > E: f(BGP4-MIB), (1228,5) Item "bgpNlriPrefixType" has invalid > > value for MAX-ACCESS > > I don't see an error here? > > > W: f(BGP4-MIB), (1703,5) Sequence "BgpAsPathEntry" and > > Row "bgpAsPathTableEntry" should have related names > > I have globally substituted bgpAsPathTableEntry for bgpAsPathEntry. > > > W: f(BGP4-MIB), (2689,5) Table "bgpRcvdPathAttrTable" and > > Row "bgpPathAttrEntry" should have same name prefix > > This issue was previously existing for earlier versions of this MIB and > cannot be changed. > > > W: f(BGP4-MIB), (1148,13) Row "bgpNlriEntry" does not have a > > consistent indexing scheme - index items from current table > > must come after index items from other tables > > This was intentionally done to mirror the semantics of bgpPathAttrEntry. > This yields a MIB walk that presents common prefixes first followed by > the peers that advertise them. > > > W: f(BGP4-MIB), (1362,13) Row "bgpAdjRibsOutEntry" does not have > > a consistent indexing scheme - cannot specify an index > > item from additional "base row" bgpPeerAfEntry, since can have only > > one "base row" which is bgpNlriEntry > > This table, however, wasn't in a consistent order with bgpNlriEntry. > I've corrected that. > > > W: f(BGP4-MIB), (1445,13) Row "bgpAfPathAttrEntry" does not have a > > consistent indexing scheme - index item bgpAfPathAttrIndex from base > > row bgpNlriEntry is not defined as an index item > > > > W: f(BGP4-MIB), (1711,13) Row "bgpAsPathTableEntry" does not have a > > consistent indexing scheme - index item bgpAsPathIndex from base row > > bgpAfPathAttrEntry is not defined as an index item > > > > W: f(BGP4-MIB), (1825,13) Row "bgpAfPathAttrUnknownEntry" does not have a > > consistent indexing scheme - index item bgpAfPathAttrUnknownIndex from > > base row bgpNlriEntry is not defined as an index item > > These tables contain common information that may be shared by a number of > entries within a given table and thus represents a many to one > relationship. Is there a different way you would prefer to see this > represented? > > > W: f(BGP4-MIB), (3144,19) Variable "bgpPeerRemoteAddr" in notification > > "bgpEstablishedNotification" is an index for a table > > > > W: f(BGP4-MIB), (3158,19) Variable "bgpPeerRemoteAddr" in notification > > "bgpBackwardTransNotification" is an index for a table > > These issues are the result of the SMIv1 to SMIv2 porting issues that > were largely addressed by RFC 4273. Consensus at the time was to not > alter the MAX-ACCESS of those objects. > > > E: f(BGP4-MIB), (1970,15) Group "bgpTimersGroup" is both a MANDATORY > > and conditional group for module "BGP4-MIB" > > > > E: f(BGP4-MIB), (1973,15) Group "bgpCountersGroup" is both a MANDATORY > > and conditional group for module "BGP4-MIB" > > > > > > E: f(BGP4-MIB), (1979,15) Group "bgpBaseGroup" is both a MANDATORY and > > conditional group for module "BGP4-MIB" > > > > E: f(BGP4-MIB), (1982,15) Group "bgpErrorsGroup" is both a MANDATORY and > > conditional group for module "BGP4-MIB" > > > > E: f(BGP4-MIB), (1985,15) Group "bgpPeerAfGroup" is both a MANDATORY and > > conditional group for module "BGP4-MIB" > > > > E: f(BGP4-MIB), (1988,15) Group "bgpAfPathAttributesGroup" is both a > > MANDATORY > > and conditional group for module "BGP4-MIB" > > These have been corrected to be only in the MANDATORY-GROUPS section. > > > E: f(BGP4-MIB), (1976,15) Group "bgpAsPathGroup" is both a MANDATORY > > and conditional group for module "BGP4-MIB" > > Per feedback, this group has been made completely optional. > > > > > SIMPLE WEB > > ---------- > > Severity level requested: 6 > > All comments from this output have been addressed above and are > artifacts of the RFC 4273 work. > > > General Comments: > > ----------------- > > > > 1) With regard to the Textual Conventions, has there > > been any thoughts to a separate TC document? > > > > The reason is that, there is a strong indication that more > > BGP MIB Modules will be forthcoming, thus, having a > > separate TC document would help in 2 possible ways: > > > > > > A. would help to clarify where the TCs were (i.e in a document > > named (for example) BGP4-TC-MIB ) and > > > > B. may encourage other MIB Module authors to add to the document > > with their TCs. > > Three of the four TEXTUAL-CONVENTIONs in this draft would be appropriate > to put into a separate document: BgpIdentifierTC, BgpAfiTC and > BgpSafiTC. I will separate these into a separate draft for the next rev > of this document. > > The fourth TEXTUAL-CONVENTION, BgpPathAttrFlagsTC seems appropriate to > leave in this document. I don't ever expect it to be used elsewhere. > > > 2) There aren't any read-write objects in the current MIB Module > > (except deprecated objects). I expect this will change in future > > versions of the document, but it did impact my review, since this > > kind of information is good to know. This will likely also impact > > the Conformance Section of the MIB, since a read-only Conformance > > might be wanted by the working group. Not to mention, either > > StorageType objects or verbage will need to be added. > > One of the most contentious portions of feedback to prior structure > attempts for this MIB was configuration objects or read-write objects > vs. no-config and read-only. The working group consensus was that the > complexity of BGP configuration, especially with regards to policy, was > so complicated and vendor-specific that trying to represent it in a MIB > was inappropriate. The remaining vendor-common functionality, such as > configuring BGP peering sessions, was the MIB would interfere with > required vendor-specific knobs. > > > 3) Many objects were using Integer32 (timers for example) and > > should probably be Unsigned32. > > > > Here is relevant text from RFC4181: > > > > "If the value range is between 0..2147483647 (inclusive), and the > > value of the information being modelled does not increase above the > > maximum value nor decrease below the minimum value, then: > > > > - Unsigned32 is RECOMMENDED; > > - INTEGER, Integer32, and Gauge32 are acceptable." > > All objects that are Integer32 are part of the SMIv1 to SMIv2 work > completed in RFC 4273 and cannot be altered. > > > 4) I have suggested a different structure to this MIB. Currently, > > bgp instance, remote peer and peering session information are in > > the same table (bgpPeerAfTable). Many tables then AUGMENT this table. > > > > The suggestion is to separate bgpPeerAfTable into > > 3 tables: bgp instance information in one table > > remote peer information into another table, and > > peering session information into a 3rd table. > > The primary purpose of the bgpPeerAfTable is to provide most of the key > information relating to the defintion of a BGP peering session. This > also gives us a place to put the small pieces of status that are > pertinent to the status of the peering session including its status and > other components related to its transport session. > > > This structure would then have a ripple effect throughout the MIB > > such that you will probably see some counters which AUGMENT the > > table with bgp instance info, some which would AUGMENT the bgp session, etc. > > I believe operationally that keeping this information in a single table > for walk purposes would be consistent with operator expectations based > on common CLI output. I don't think operators really want cluttered MIB > walks where they have to aggregate the table output themselves to > correlate against what they were previously getting together. Compare > this against bgpPeerTable. > > I'm certainly willing to be argued out of this if it's to the benefit of > operators or future expandability of the MIB. > > > 5) InetAddress/InetAddressType the place for specifying the supported > > address types and addresses is in the conformance, not in the MIB Module. > > If there is a change in the supported types, then the objects with those > > types, would all need to be deprecated, but if it is in the conformance > > then only the conformance would need to be deprecated and rewritten. > > The exception being if the address is an index (then a SIZE should be > > used) see RFC4001 for details. Please see the DIFF-SERV-MIB (rfc3289) as an > > example of using the Conformance statements to denote Address Type > > and size. > > I have made the suggested changes to the following objects: > bgpPeerAfLocalAddr, bgpPeerAfRemoteAddr SIZE(4|16|20) > bgpNlriPrefix SIZE(0..16) - note that the previous SIZE(4..20) was an > error. > > I have left bgpAfPathAttrLinkLocalNextHop alone at SIZE(20) since it is > constrained by RFC 2545. > > *** Working group feedback requested: > The original defintion of the supported sizes was 4..20. The intention > was to support IPv4, IPv6 and to not preclude IPv6 link local peering > sessions. Since stronger wording is now required, could I have feedback > on this verbiage? > > OBJECT bgpPeerAfLocalAddr > SYNTAX InetAddress (SIZE(4|16|20)) > DESCRIPTION > "An implementation is required to support IPv4 peering > sessions. An implementation MAY support IPv6 peering > sessions. IPv6 link-local peering sessions MAY > supported by this MIB." > > The reason for this wording is that we've never come to proper consensus > about ipv6-only routers. > > TODO: > > > 6) Deprecated and Obsoleted Objects > > > > One of the other MIB Doctors (David T. Perkins) suggested to me > > the following and I would like to pass this on as a suggestion to you > > > > >RFC 2578 has language, sich as that found in section 10.2: > > >(3) A STATUS clause value of "current" may be revised as "deprecated" > > > or "obsolete". Similarly, a STATUS clause value of "deprecated" > > > may be revised as "obsolete". When making such a change, the > > > DESCRIPTION clause should be updated to explain the rationale. > > > > > <snip> > > >For deprecated items, I start the DESCRIPTION text > > >with something like.. > > >"This item is DEPRECRATED. This is done because..." > > >I then leave the original DESCRIPTION text. For obsoleted > > >items, I generally remove the original DESCRIPTION cause > > >text. > > > > Some of the DESCRIPTION clauses have been updated to various degrees > > so you are definitely on the right path, but it did seem some places > > where skipped and so the deprecated and obsoleted objects should be > > reviewed to ensure that the DESCRIPTIONs have been modified. > > I believe I commented in each of the tables what that table had replaced > the deprecated table. The primary explanation of why the tables have > been deprecated is in the RFC text - namely that the tables are being > replaced by more flexible tables that can accomodate more reachability. > Did you think this needed to be carried over to the Table DESCRIPTIONS? > > Updating each deprecated table column's DESCRIPTION with the new columns > in the new table, especially where there is an obvious match, seemed > excessive. Was this what you wanted done? > > > > Specific Comments > > ----------------- > > > > Section 4. Overview > > > > "Multi-protocol extensions [RFC4760] were introduced along which allowed > > advertisement of reachability such as IPv6 [RFC2545], MPLS Labeled > > routes [RFC3107], etc." > > > > *) Awkward (suggest rewording) > > > > s/introduced along which allowed/introduced, along with/ > > s/along// > > > Section 5.2 Tables > > > > > > *) What does Af mean? (Address Family ?) > > > > *) What does AFI adn SAFI stand for? Okay, I see > > Address Family Identifier and Subsequent Address Family Identifier. > > Please spell out entire meaning prior to abbreviation. > > Added clarifying text at the place of first use: > > bgpPeerAfTable - The BGP peer table. This table is capable of > representing IPv6 and other address-family (Af) independent sessions. > This table replaces the bgpPeerTable from previous versions of this MIB. > > bgpPrefixCountersTable - A table of per-peer per Address Family > Identifer-Subsequent Address Family Identifier (AFI-SAFI) [RFC 4760] > counters for prefixes. > > > Section 5.4 > > ----------- > > > > For the TC could you use: > > > > BgpAddressFamilyIdentifierTC > > > > BgpSubsequentAddressFamilyIdentifierTC > > > > s/BgoPathAttrFlagsTC/BgpPathAttrFlagsTC > > Done. > > > 5.6 Extensions > > ----------------- > > How do you plan to enforce using bgpExtensions for > > other MIB Modules? > > Please see draft-jhaas-idr-bgp4-mibv2-community-00 as an example. > > > WRT bgpAfPathAttrIndex, in the event of a reboot of the router, > > or a restart of the BGP subsystem, is all the information in the tables > > that reference or use this object/index lost? In other words, > > this object becomes an index for other tables. In the event of > > a restart of BGP or restart of the router, or restart of the > > SNMP Agent, etc. this object gets re-initialized, but what happens > > to the indexes that use this object? > > The integrity of the internal structures for BGP peering sessions in an > implmentation is a somewhat out of scope here. Most implementations > would not use the same index from instantiation to instantiation but > some implementations will. Much like other forms of SNMP > discontinuities (i.e. counters) you're correct in that there may be some > concern as to whether one of these abstract indices means the same thing > from query to query. > > This applies also to bgpAsPathIndex and bgpAfPathAttrUnknownIndex. > > I believe standard practice would be to include an object that marks > discontinuities. Do you have a reference to a suggested discontinuity > object that would address this problem? > > > Section 6.1 > > --------------- > > *) Awkward: > > "Note that conducting BGP peering sessions over transport protocols > > other that TCP over IP are out of scope of the current BGP > > specifications." > > > > s/that/than/ > > Done. > > > Specific Comments on the MIB Module > > ----------------------------------- > > > > BgpIdentifierTC > > > > *) DESCRIPTION is somewhat awkward. > > Very. How about: > "The representation of a BGP Identifier. BGP Identifiers > are presented in the received network byte order. > > The BGP Identifier is displayed as if it is an IP address, > even if it would be an illegal one." > > The intention is to say that the octet string contains the on-the-wire > representation, much like an IP address. > > > *) Could InetAddress be used instead of creating a new > > TC? In other words, you seem to be saying this is an > > IPv4 Address, but I am not sure what is specific to > > BGP wrt to this. > > IpAddress would be appropriate. Additionally, the semantics of this > protocol field have trended somewhat away from being required to be an > IP address to being "just a 4 octet number". > > I chose a new TC for that reason. > > > BgpAfiTC > > > > *) rename BgpAddressFamilyIdentifierTC > > *) Please spell out what AFI stand for (both first time in > > the document text and first time in the MIB Module. > > > > > > BgpSafiTC > > > > *) rename BgpSubsequentAddressFamilyIdentifierTC > > *) Please spell out what SAFI stand for (both first time in > > the document text and first time in the MIB Module. > > Addressed above. > > > BgpPathAttrFlagsTC > > > > *) Please rename to BgpPathAttributeFlagsTC > > Done. > > > -- bgp 2 and 3 have been deprecated and are documented > > -- elsewhere in this MIB > > > > *) Are you referring to the protocol versions 2 and 3, or do you > > mean the MIB objects that are specific to these versions have > > been deprecated? > > The objects. I've changed this to: > > -- { bgp 2 } and { bgp 3 } have been deprecated and are documented > > > bgpIdentifier > > SYNTAX IpAddress > > > > *) According to RFC4181 IpAddress should not be used. Can > > InetAddress/InetAddressType or even InetAddressIPv4 be used? > > (Or is the BgpIdentifierTC is more appropriate?) > > RFC 4273 object and thus cannot be changed. > > > INDEX Clause for bgpPeerAfEntry and the order > > of the objects in the entry > > > > *) I don't understand the ordering here. > > The Indexes need to uniquely identify an entry > > in the table and they should be at the beginning of > > the table. > > The original intention was to cluster the transport session information > together. The table has also undergone churn during design. Does the > following address your concerns? > > BgpPeerAfEntry ::= SEQUENCE { > -- INDEX information > bgpPeerAfInstance > Unsigned32, > bgpPeerAfLocalAddrType > InetAddressType, > bgpPeerAfLocalAddr > InetAddress, > bgpPeerAfRemoteAddrType > InetAddressType, > bgpPeerAfRemoteAddr > InetAddress, > > -- Local > bgpPeerAfLocalPort > InetPortNumber, > bgpPeerAfLocalAs > InetAutonomousSystemNumber, > > -- Remote > bgpPeerAfRemotePort > InetPortNumber, > bgpPeerAfRemoteAs > InetAutonomousSystemNumber, > bgpPeerAfIdentifier > BgpIdentifierTC, > > -- Session status > bgpPeerAfAdminStatus > INTEGER, > bgpPeerAfPeerState > INTEGER, > bgpPeerAfConfiguredVersion > Unsigned32, > bgpPeerAfNegotiatedVersion > Unsigned32 > } > > > *) Additionally, are all the indexes necessary. > > I'm afraid so. > > RFC 1771 language originally suggested that there was a single BGP > peering session with a remote router. Multiple peering sessions were > permitted, but only if the all of the endpoints for a peering session > were different. RFC 4271 language was altered so that multiple peering > sessions to one of the endpoints was permitted. > > The instance object was requested by other working groups to cover the > cases where multiple bgp instances were running on the same platform > under the same administrative engine. This provided more flexibility > than the ENTITY-MIB would readily permit when centralized access to > peering information was desired. > > > *) Looking this over, I'd like to make a suggestion > > that this table be made into two (or more?) tables. > > > > This one table represents the "bgp instances" on this > > router AND the remote peers AND peering sessions. > > See above for the comment about the set of information being common > under existing CLIs. > > More importantly for a MIB, the INDEX represents the fact that a single > BGP peering session is uniquely identified by that 5 tuple. > > I don't believe we'll get much in the way of efficiencies by doing this > split since the index components aren't separable. > > > My suggestion would be > > to have a table for just the "bgp instances" to include > > ConfiguredVersion, AdminStatus, PeerState, Local Info, etc. > > and the other table for the Remote Peer Information (and > > perhaps, another for peering session information?) > > > > Maybe another way to think of this is when information > > would be available. "bgp Instances" should have information > > prior to Peer Information, right? > > > > > > bgpPeerAfInstance > > > > *) Needs to have a range beginning with 1. > > I have tightened the range to be 1..4294967295. > > > The DESCRIPTION is a little confusing, but I think you > > are saying that if there is only one BGP routing process > > then it is recommended that this index have the value > > of 1. > > Yes. What language would you suggest instead? > > > bgpPeerAfPeerState > > > > *) the name of this object is misleading. This is > > the state of the connection so please rename. > > The name is consistent with the previous bgpPeerState object. What > would you suggest instead? > > > bgpPeerAfAdminStatus > > *) why is this read-only and not read-write? > > While this is probably a reasonable exception, working group consensus > was to not add new writeable objects. > > > bgpPeerAfConfiguredVersion > > *) why is this read-only and not read-write? > > This represents the value configured for the peering session. This MIB > does not permit the configuration of BGP peering sessions. See comments > above. > > > bgpPeerAfLastErrorReceived > > bpgPeerAfLastErrorSent > > *) Why did you choose to represent this as a 2 byte > > OCTET STRING as opposed to ErrorCode and ErrorSubCode (2 objects)? > > I've split this into two objects. > > > *) General Comment for this table, may want to group all the > > received objects together followed by the sent objects. > > Reordered to group received and sent together as suggested. > > > bpgPeerAfLastErrorReceivedText > > bpgPeerAfLastErrorSentText > > *) Could a REFERENCE clause be added for these 2 objects? > > "This object contains an implementation specific explanation of the > error that is being reported." > > The appropriate reference would be vendor-specific. > > > bpgPeerAfFsmEstablishedTime > > > > *) Do peering sessions always reach the Established State? > > If not, what is the value of this object (zero?). That should > > probably be added to the DESCRIPTION > > How about the following text added to the DESCRIPTION: > If the peer has never reached the established state, the value remains zero. > > > bpgPeerAfConfiguredTimersTable > > > > *) General comment (getting back to the issue of > > separating the tables into "bgp instance" vs. "remote peer info" > > vs "peering session info", this table would seem to largely > > be part of the bpg instance information. I don't understand > > why these objects are read-only? Is configuration not allowed > > via SNMP for these objects? > > No configuration is permitted in this MIB per working group consensus. > > > *) Also the name of this table, might be better to take out > > the "Peer" so bgpConfiguredTimersTable? > > The intention had been to convey that these timers were per-peer. If > you strongly object I can change this. > > > bgpPeerAfNegotiatedTimersTable > > > > *) Could we consider renaming some of these tables? > > This is bgpPeeringSession info, correct? > > Yes. Let's revisit this point once we've converged on the fate of the > peer table. > > > *) Timers in this and the previous table were Integer32,and > > should be Unsigned32. > > see rfc4181 section 4.6.1.1 > > I believe the only Integer32 counters were ones that could not be > changed from RFC 4273. > > > bgpPeerAfCountersTable > > > > *) Is there any Discontinuity Time Object(s) associated with > > these counters? > > No. See above for my question about how we should handle > discontinuities. > > > DESCRIPTION: > > "...This object should be initialized to zero when the connection > > is established" > > > > *) Counters by definition cannot be reset. Please see rfc > > 2578.txt. You could create a TimeStamp object which is set to > > the time when the FSM transitioned to the established state. > > I've removed that text. > > > bpgPeerAfFsmEstablishedTrans > > *) Please rename to bgpPeerAfFsmEstablishedTransitions > > Done. > > > bpgPrefixCountersTable > > > > *) The name says counters but the table has > > Gauge32 objects. > > Counters was meant in the general English sense rather than the SNMP > sense. Do you have a better suggestion? > > > bgpPrefixInPrefixes > > bgpPrefixInPrefixesAccepted > > bgpPrefixOutPrefixes > > > > *) Could references be added to these objects > > Done. > > > *) Counters need to be pluralized. > > ? > > > *) Discontinuity for these? > > The discontinuity would be the same as the bgp peering session. See > above for questions about a general strategy for this. > > > *) This is "new" to the MIB and doesn't appear in rfc4273. > > Is it needed for BGP4's basic deployment? Was there any > > consideration to putting this into a separate MIB Module? > > The prefix counters were a key request for the new MIB. I'm not sure > splitting this into a separate MIB makes sense. > > > bgpRib > > OBJECT IDENTIFIER ::= { bgp 11 } > > > > *) Please rename to bpgRibObjects > > While the names don't necessarily make good SNMP MIB design sense, in my > opinion they make proper protocol sense. The BGP routing information > base consists of network layer reachability which includes prefix and > path attribute tuples stored in several logical views: The adjacent > ribs-in, local rib and adjacent ribs-out. > > > bpgNlriTable > > > > *) Could REFERENCES be given for this table? > > Done. > > > *) I didn't understand the indexing and the indexes > > do not match the entry of this table. Very difficult > > to review this one and the bgpAdjRibsOutTable. Please > > fix the indexes to match the table entry. > > In this particular case, I think things are probably correctly grouped. > Since this is the basis case for the messy BGP AFI-SAFI version of a > prefix versus the InetAddressType/InetAddress version of a prefix I'll > copy in the relevant entries: > > bgpNlriEntry OBJECT-TYPE > SYNTAX BgpNlriEntry > MAX-ACCESS not-accessible > STATUS current > DESCRIPTION > "Information about a path to a network." > INDEX { > bgpNlriAfi, > bgpNlriSafi, > bgpNlriPrefix, > bgpNlriPrefixLen, > bgpNlriIndex, > bgpPeerAfInstance, > bgpPeerAfLocalAddrType, > bgpPeerAfLocalAddr, > bgpPeerAfRemoteAddrType, > bgpPeerAfRemoteAddr > } > ::= { bgpNlriTable 1 } > > BgpNlriEntry ::= SEQUENCE { > bgpNlriIndex > Unsigned32, > bgpNlriAfi > BgpAddressFamilyIdentifierTC, > bgpNlriSafi > BgpSubsequentAddressFamilyIdentifierTC, > bgpNlriPrefixType > InetAddressType, > bgpNlriPrefix > InetAddress, > bgpNlriPrefixLen > InetAddressPrefixLength, > bgpNlriBest > TruthValue, > bgpNlriCalcLocalPref > Unsigned32, > bgpAfPathAttrIndex > Unsigned32, > bgpAfPathAttrUnknownIndex > Unsigned32 > } > > Within BGP, a prefix is defined by the tuple <AFI, SAFI, Prefix Length, > Prefix>. The AFI defines the general IANA address type of the prefix. > The SAFI, however, may imply additional semantics. Consider the case of > an RFC 3107 MPLS labeled prefix. The prefix encoding is thus: > > <1,4,32,777,10.0.0.0> > > This corresponds to a labeled route with label 777 for prefix 10/8. The > label counts as 24 bits of length. > > For MIB access, the InetAddressType doesn't do us any good but is required > by InetAddress. AFI, as carried in BGP, may be a subset of the entries > allowed by InetAddressType and thus I kept them different. > > RFC 3107 allows multiple instances of the same prefix to be advertised > so long as they have different label stacks. The bgpNlriIndex permits > these multiple instances. An extension MIB would give access to the > label stack by AUGMENTing this table. > > Even for the non RFC 3107 case, IDR has been churning over the > possibility of adding extensions that permit multiple routes for the > past several years. I don't relish a full set of table revisions just > to accomodate such a change - this is meant to future proof the table > somewhat. > > Does this help? > > > bgpAfPathAttrCount > > > > *) Why is this object needed? > > It is a common operational statistic polled from routers, especially for > memory usage. Since it is related to path attributes it went into the > RIB related MIB. > > > *) Please keep in mind that Counter type objects need to be > > pluralized. > > I renamed this bgpAfPathAttrCounter. > > > bgpAfPathAttrTable > > *) Noncontiguous numbering between bgpAfPathAttrTable (4) and > > bgpAsPathTable (6) (Number 5 is missing) > > Should this be renumbered? > > Renumbered. 5 was deleted at some point during design. > > > bgpAfPathAttrNextHop > > > > *) Please rename bgpAfPathAttrNextHopAddr (to go along with > > bgpAfPathAttrNextHopAddrType) > > Done. > > > > > bgpAfPathAttrLinkLocalNextHop > > *) Please add an AddrType object > > prior to this and use the Conformance Statement to specify what is > > supported. > > Done. For the record, I asked 2 other people about this and you're the > tie-breaking voice. :-) > > > bgpAfPathAttrMedPresent > > > > *) Please add to the DESCRIPTION an explanation of what true(1) means? > > > > Done. > > > bgpAfPathAttrLocalPref > > > > *) What does the DESCRIPTION mean when it says: "this object will be > > absent"? > > No instance of this object will be present in the MIB for that index. > > > bgpAfPathAttrAggregatorAS and bgpAfPathAttrAggregatorAddr > > > > *) What does the DESCRIPTION mean when it says: > > "this object will not be present in the conceptual row"? > > Same as bgpAfPathAttrLocalPref. > > > bgpAsPathIndex > > > > *) In the event of a reboot of the router, or a restart of the > > BGP subsystem, is all the information in the tables > > that reference or use this object/index lost? In other words, > > this object becomes an index for other tables. In the event of > > a restart of BGP or restart of the router, or restart of the > > SNMP Agent, etc. this object gets re-initialized, but what happens > > to the indexes that use this object? > > > > bgpAfPathAttrUnknownIndex > > *) same question as above. > > See above for questions about handling the discontinuity. > > > bgpAfEstablishedNotification > > > > *) Would the FSM ever be in a state that would fluxuate in and out > > of the established state? In other words, would this notification > > ever get flooded to the network? > > Yes. This is a problem with the object present in RFC 4273, although it > is worse for the backwards transition notification. > > > bgpAfBackwardTransNotification > > > > *) Please spell out what "Trans" stands for? > > Done. > > > Conformance Section > > *) If read-write objects are added to the MIB, then a read-only conformance > > may be wanted. > > No read-write objects are present that were not part of RFC 4273. > > -- Jeff > _______________________________________________ > Idr mailing list > Idr@ietf.org > https://www.ietf.org/mailman/listinfo/idr _______________________________________________ Idr mailing list Idr@ietf.org https://www.ietf.org/mailman/listinfo/idr
- [Idr] Early MIB Dr. Review of draft-ietf-idr-bgp4… Joan Cucchiara
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… Jeffrey Haas
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… Joan Cucchiara
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… tom.petch
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… Jeffrey Haas
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… tom.petch
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… Jeffrey Haas
- Re: [Idr] Early MIB Dr. Review of draft-ietf-idr-… Joan Cucchiara
- [Idr] RFC 1657 MIB errors/corrections Jeffrey Haas
- [Idr] Factoring the bgpPeerAfTable in BGP MIBv2 Jeffrey Haas
- [Idr] BGP MIBv2 discontinuity objects Jeffrey Haas
- Re: [Idr] BGP MIBv2 discontinuity objects Joan Cucchiara
- Re: [Idr] BGP MIBv2 discontinuity objects Jeffrey Haas
- Re: [Idr] BGP MIBv2 discontinuity objects Joan Cucchiara
- Re: [Idr] [MIB-DOCTORS] BGP MIBv2 discontinuity o… Jeffrey Haas
- Re: [Idr] [MIB-DOCTORS] BGP MIBv2 discontinuity o… Jeffrey Haas
- Re: [Idr] BGP MIBv2 discontinuity objects Jeffrey Haas