RE: Review for the EPON-04
"Romascanu, Dan \(Dan\)" <[email protected]> Mon, 29 May 2006 11:17:26 +0300
| Newsgroups | gmane.ietf.hubmib |
|---|---|
| Message-ID | <AAB4B3D3CF0F454F98272CBE187FDE2F0A90581D@is0004avexu1.global.avaya.com> |
Thank you DavidP for the extensive review. Lior, Can you please address the issues raised by David and let us know when will a new draft be available? Thanks and Regards, Dan > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of David T. Perkins > Sent: Saturday, May 27, 2006 2:33 AM > To: [email protected] > Cc: Dave Thaler > Subject: Review for the EPON-04 > > HI, > > Below is the review that I did for the EPON MIB document > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-epon > -mib-04.txt > > Repeating from a previous message, this document was > difficult for me to review due to several factors. First, the > technology is quite unusual, and since it is new, it is not > well documented. > What is available is in almost unreadable IEEE documents. > Secondly, the interfaces model is unusual. > The final major issue was that it had quite a bit of grammar > problems, which made it difficult to decode. > > The reason that I bring this document to your attention is so > that if such a document is developed in the future, that the > review can do a much faster turn around than me. > > I have a few questions for the this list: > 1) Interface documents are special in that they must provide > an interpretation of the values of columnar objects from > the IF tables. Look at the Ethernet-like MIB document, > RFC 3635. If describes the value of each object. > Text and example values seem to be a good thing, > but is this too much work for the document author? > > 2) The interfaces have many counters, and thus counter > stops, resumes, and discontinuity need to be clear. > But where and how much should this be addressed. > > 3) The EPON model is a little strange because there > is a "provider side" and an "customer side". Some > of the events occur only on one side or the other. > The approach taken with the EPON tables was to > put all counters in a single table (per area) > and specify in the DESCRIPTION clause whether > the counter was applicable for both, or just > the provider or customer. If not applicable, > then the value was zero. Instead, should > each such table be split into 2 tables > (or three tables). 2 tables - one for > provider, and one for customer. 3 tables - > one for common, one for just provider, > and one for customer. > > I'm probalably forgetting a few more questions, but I'm a > little burned out from the review. > > Here are my review notes: > General comments: > 1) The updated document looks much better than the -03 version. > 2) It runs through both SMICng and smilint with no problems. > 3) I read through the document fairly quickly, and didn't > try to verify all the references to other documents. > 4) There are many grammar problems throughout the document, > and, thus, the document would be much improved by > a pass from a "copy editor" for technical documents. > 5) The interface model that the document covers is quite > unusual, and thus requires more work in this document > to describe it than other well known and simple interfaces. > 6) This version resolved many of issues from the previous > revision. However, I still have concerns with a > few corner cases. These include: > a) discontinuity of counters > b) dependencies of stacked interfaces > 7) I believe that the document needs to be updated and > reviewed at least one more time. > > Specific Comments: > 0) The interface type should be ethernetCsmacd(6) as specified > in RFC 3635. > 1) The abstract and the overview paragraphs are different. > The abstract includes management of P2MP networks, > which is not included in the overview. > 2) The terminology and abbreviations need to be checked > for completeness. I noticed the following that need > to be added: > FEC - forward error correction > P2MP - point to multipoint > 3) In section 1.3, "management I/F" should be written out > as "management interface". In the next sentence, I believe > that instead of text "The MIB document", it should read > "The IEEE MIB document", since IETF MIB documents don't > have "packages". > 4) The most important goal for section 1 is to describe the > interface model. This version is so much better than > the previous version. However, I'm still somewhat > confused. The figure in section 1.2.1 and in 1.2.5 > show typical devices having OLT and ONU interfaces. > I'd like to see two more figures and interface table > dumps. These are: > An "ONU modem": > -------- > ONU interface | ONU | 10megabit interface > --------------| Modem |-------------------- > --------- > Does this device have two or three entries in the IF table? > And does it have an entry in the IF stack table. I believe > that there are 3 IF entries, and one IF stack entries. > For example in IF table: > ifIndex=1 - interface for 10megabit interface > ifIndex=2 - interface for the optical interface > ifIndex=200 - interface for the ONU interface > And then in IF stack table: > ifStackHigherLayer=200, ifStackLowerLayer=2 - map between > the physical and the ONU > > An "headend" with 1 gigibit ethernet interface, and > two "OLT" interfaces: > -------- > 1st OLT interface | Head | gigE interface > ------------------| end |-------------------- > | | > ------------------| | > 2nd OLT interface | | > --------- > With no currently connected ONUs, I believe that there > would be the following IF table and IF Stack table entries: > For example in IF table: > ifIndex=1 - interface for gigE interface > ifIndex=2 - interface for 1st optical interface > ifIndex=3 - interface for 2nd optical interface > ifIndex=200 - interface for the 1st OLT broadcast interface > ifIndex=300 - interface for the 2nd OLT broadcast interface > And then in IF stack table: > ifStackHigherLayer=200, ifStackLowerLayer=2 - map between > the 1st physical and its broadcast OLT > ifStackHigherLayer=300, ifStackLowerLayer=3 - map between > the 2nd physical and its broadcast OLT > If two ONUs connected to the first OLT, then the following > would be added: > For example in the IF table: > ifIndex=201 - interface for the 1st ONU of 1st OLT > ifIndex=202 - interface for the 2nd ONU of 1st OLT > And in the IF stack table: > ifStackHigherLayer=201, ifStackLowerLayer=2 - map between > the 1st physical and 1st ONU > ifStackHigherLayer=202, ifStackLowerLayer=2 - map between > the 1st physical and 2nd ONU > > It seems that for "ONU modems" that there is not a > an interface instance for the physical interface, > where there is one for "headend" devices? > > I suggest that you do the following: > a) in section 1.3, take the paragraph that starts with > "At the OLT", and end it after the second sentence. > b) Add the following paragraphs and figures: > ------ > To illustrate the interface modeling, consider > two devices. The first device has two > physical interfaces, is typically located at > a consumer's site, and may be called a "ONU modem". > This is shown in figure X below: > -------- > ONU interface | ONU | 10megabit interface > --------------| modem |-------------------- > --------- > Figure X: ONU modem > > This device would have 3 entries in the IF table, > for example: > ifIndex=1 - interface for 10megabit interface > ifIndex=2 - interface for the optical interface > ifIndex=200 - interface for the ONU interface > > The second device has three physical interfaces, > is typically located at the provider's site, and > may be called a "headend". This is shown in > figure Y below: > > --------- > 1st OLT interface | Head | gigE interface > ------------------| end |-------------------- > | | > ------------------| | > 2nd OLT interface | | > --------- > Figure Y: headend > > This device would have 5 entries (when no attached ONUs) > in the IF table, for example: > ifIndex=1 - interface for gigE interface > ifIndex=2 - interface for 1st optical interface > ifIndex=3 - interface for 2nd optical interface > ifIndex=200 - interface for the 1st OLT broadcast interface > ifIndex=300 - interface for the 2nd OLT broadcast interface > > If two ONUs connected to the first OLT interface, then > for example, the following entries would be added to > the IF table: > ifIndex=201 - interface for the 1st ONU of 1st OLT > ifIndex=202 - interface for the 2nd ONU of 1st OLT > > ------ > > c) Continue with a slight change of the sentence that starts > with "Therefore the Interface". Rewrite it to be something > like: > ------ > For each physical interface, there would be an entry in > the tables of the MAU MIB module[RFC3636] and Etherlike > MIB module[RFC3635]. And additionally, there would be > entries for the virtual links of the ONU and OLT interfaces. > ------ > d) Update the figures and tables through the remainder of the > document to match the ifIndex assignments. > > 5) The end of section 1.3, which starts with sentence "As an > example provided below are the values for the MPCP" should > be moved to section 2 - where the MIB structure is discussed. > > 6) The figures labeled "Table 1" through "Table 4" are useful, > but due to their size are problematic. I suggest that > only index columns, columns that linkage to other tables, > and columns what are different between ONU and OLT entries > be included. > > 7) The first sentence after "Table 2" sort of looks like it should > be a section head. > > 8) The value for dot3MpcpRemoteMACAddress in "table 3" should > be 6 octets of zero (and not one). For example: > 00:00:00:00:00:00 > > 9) There needs to be a footnote, or text that explains the > meaning of values OLT_MAC_Address, ONU{1,2,3}_MAC_Address, > and BRCT_MAC_Address > > 10) The paragraph after "Table 4" seems to be misplaced, > and should come before "Table 2". > > 11) Section 2 ("MIB structure") is weak. Moving the text from > section 1.3 should help. > > 12) How the "extended package" tables were related was not > well explained in section 2 (nor in their definition). > It took me a while to figure out that object > dot3ExtPkgObjectReportMaximumNumQueues affected > the number of entries in tables dot3ExtPkgQueueTable > and dot3ExtPkgQueueSetsTable. And that object > dot3ExtPkgObjectReportMaximumNumThreshold affected > the number of entries in table dot3ExtPkgQueueSetsTable. > In general, I couldn't completely figure out > the use of the tables in the "extended package" > nor the expected values. > > 13) In section 2, the same terminology should be used. There > is used "MIB objects", "MIB module", and "managed object". > > > 14) Section 3.1 is quite useful (and required by all interface > MIB module documents). (Note "Ether-like" is misspelled > as "Ehter-like" in one place that I saw.) > Missing is a discussion and example of the IF stack table > (and the inverted stack table). Also missing is a discussion > of what happens to counters when operation is stopped. > > 15) Section 3.2 mentions the "amended MAU MIB document", but > the references specifies the current MAU MIB > document. I suggest that you specify the new MAU I-D > in the references (if available). > > 16) The abbreviations in the MODULE-IDENTITY specification > need to be checked and updated for completeness. > > 17) The MPCP stats table has stats for both OLTs and ONUs, > and counters that only have meaning on one of the > OLT or ONU. In the later case, the text says the value > is always zero. For example, object dot3MpcpDiscoveryWindowsSent > always has a value of zero on ONUs, and object > dot3MpcpTxRegRequest always has a value of zero > on OLTs. This is a valid approach, but somewhat > confusing. Another approach would be to split > the table (and other similar table) into three > tables for both, OLT, and ONU stats. Or to split > into two tables with some columns duplicated (but > of course with different descriptors). I'd like > to hear opinions from others on this. > > 18) In general, there is an inconsistent description specified > per object as to whether or not the value is always > zero (a place holder). This should be cleaned up, > since it is confusing that different words are used. > The read questions whether or not the same thing > is being said, but just using different words. > > > 19) At first, I didn't understand why table dot3OmpEmulationTable > is present. It's single object dot3OmpEmulationType appears > to me to be the same as object dot3MpcpMode. However, looking > at the MODULE-COMPLIANCE definitions, I see the need since > for interpreting values in table dot3OmpEmulationStatTable > you need to know if the interface is an OLT or ONU. > This is not well explained in section 2. > Also, maybe table dot3MpcpStatTable should AUGMENT > table dot3MpcpControlTable; table dot3OmpEmulationStatTable > should AUGMENT table dot3OmpEmulationTable. Table > dot3EponFecTable doesn't need another table to > indicate if the interface is a OLT or ONU, since > the stats apply to both. > > 20) There appear to be some character set problems in the > description for object dot3EponFecPCSCodingViolation. > > 21) You should probably say that the value 'unknown(1)' cannot > be written to object dot3EponFecMode. > > 22) You should probably rewrite the description of > object dot3EponFecBufferHeadCodingViolation so it > is clear that the value is meanful only when in > 1000 Mbps operation, and zero otherwise. > > 23) Object dot3ExtPkgObjectReset is an action object to > reset "EPON" interfaces. What does a reset do > to counters? Is there an object that counts the > number of resets or provides a timestamp of > last reset operation? Does a reset of one > of the virtual interfaces reset only it, > or the physical interface? > > 24) Object dot3ExtPkgObjectPowerDown causes an interface > to be powered down or up. How does this work for the > virtual interfaces? > > 25) Object dot3ExtPkgObjectNumberOfLLIDs seems silly (useless). > Please explain. > > 26) What happens to counters and instances in the FEC table > when the value of object dot3ExtPkgObjectFecEnabled is > changed? > > 27) Object dot3ExtPkgObjectReportMaximumNumQueues is not > well described. Also, it SYNTAX value should > probably be Unsigned32(0..7). What happens if > it is changed, to counters in the the tables > dot3ExtPkgQueueTable and dot3ExtPkgQueueSetsTable. > > 28) I don't understand the function of object > dot3ExtPkgObjectRegisterAction. Does it cause > instances to be created or deleted? > > 29) The index dot3QueueIndex is not well explained > in table/row for the Queue table. > > 30) I couldn't figure out objects dot3ExtPkgObjectReportNumThreshold > and dot3ExtPkgObjectReportMaximumNumThreshold other > than one of them controlled the number of > queue sets. > > 31) I believe that the syntax of object > dot3ExtPkgObjectReportMaximumNumThreshold should be > Unsigned32(0..7). > > 32) It doesn't seem to make sense that there would be > entries in table dot3ExtPkgOptIfTable for virtual > interfaces. > > --- that's all > > > Regards, > /david t. perkins > > >