RFC 1369

Implementation Notes and Experience for the Internet Ethernet MIB

πŸ“… published October 1992, from ietf

Implementation Notes and Experience for The Internet Ethernet MIB πŸ¦‹

okay bestie, this one is from October 1992 and it's written by F. Kastenholz over at FTP Software πŸ’» It's part of the Network Working Group stream and it's numbered RFC 1369 πŸŽ€ It's an informational memo, not a standard, and its header doesn't list any RFCs it obsoletes or updates ✨


Status of this Memo πŸ“

Quick legal bit πŸ’… This memo gives information to the Internet community. It does not specify an Internet standard. Distribution of this memo is unlimited 🌸

Table of Contents πŸ—‚οΈ

1. Introduction ................................................    1
2. Observations ................................................    2
3. Conclusions .................................................    3
4. Final Action ................................................    4
5. Implementation Data .........................................    5
6. Security Considerations .....................................    7
7. Author's Address ............................................    7

1. Introduction 🧚

So the Ethernet MIB Working Group has two work items on their plate πŸ“

  1. Write a doc explaining why MIB variables that are optional in the relevant IEEE 802.3 specification (the technical basis for the Internet Ethernet MIB) get MANDATORY status anyway πŸ™ˆ This one is NOT going on the standards track.
  2. Write an implementation report on the Ethernet MIB πŸ“Š It covers MIB variables that show up in both Ethernet interface chips and in software (i.e., drivers), and it talks through the issues for both. It also sums up field experience with the MIB variables, especially the ones people are still arguing about πŸ”₯ This one is not standards-track either. Since the Ethernet MIB is moving through standardization, this doc gets periodically updated so it keeps up with the latest implementation and operational experience 🫢

This document reflects the currently known status of 11 different implementations of the MIB, from 7 different vendors, on 7 different Ethernet interface chips πŸ’œ

2. Observations πŸ‘‘

Okay, here's the juicy stuff ✨ There are some interesting points to note:

  1. Only 4 variables are actually implemented in every single implementation: AlignmentErrors, FCSErrors, ExcessiveCollisions and InternalMacTransmitErrors 😭
  2. Another five variables are implemented in all but one of the reported implementations: SingleCollisionFrames, MultipleCollisionFrames, LateCollisions, FrameTooLongs, and CarrierSenseErrors πŸ¦‹

Three of these variables exist in implementations that use the same chip as the one missing the variable. Specifically:

  • A) SingleCollisionFrames is not implemented in implementation number 3, which uses the AMD LANCE. However, other AMD LANCE implementations (7, 8, and 10) do implement the variable, implying that it is available on the LANCE 🌈
  • B) MultipleCollisionFrames is not implemented in implementation number 3, which uses the AMD LANCE. However, other AMD LANCE implementations (7, 8, and 10) do implement the variable, implying that it is available on the LANCE 🌈
  • C) LateCollisions is not implemented in implementation number 1, which uses the Intel 82586. However, another Intel 82586 based implementation (11) does implement the variable, implying that it is available on the Intel 82586 🧚
  • D) CarrierSenseErrors is not implemented on implementation number 2, which is based on the Fujitsu 86950 chip. However, there is only one implementation based on this chip, and I have not been able to locate a data sheet on this part, so no conclusion can be drawn at this time πŸ™ˆ
  • E) FrameTooLongs is not implemented on implementation number 5, which is based on the National NIC 8390 chip. However, there is only one implementation based on this chip, and I have not been able to locate a data sheet on this part. It should also be noted that this variable is easily maintained by software as a "driver-level" function πŸ’–
  1. Of the 22 variables in the MIB, 11, or 1/2 of the variables, were implemented in about 1/2 or less of the implementations πŸ’€
  2. The number of variables implemented per implementation ranges from a low of 11 to a high of 16. The average number of variables truly implemented is 12.8 πŸ“
  3. The IEEE 802.3 encapsulation-specific variables (InRangeLengthErrors, and OutOfRangeLengthFields) are in 2 and 0 implementations respectively 😭

5. Implementation Data ✨

Okay bestie, this part is the receipts 🧾. Vendors who each built an Ethernet MIB implementation handed over their raw data, and each implementation gets its own column in the table below. For every implementation/MIB Variable pair, there's a single character code showing roughly how far along that variable is. Here's what the codes mean πŸ’…:

  • Y means fully implemented πŸ”₯. The count or state it reports is truthful, and you can write to every value and get the expected action.
  • N means not implemented at all πŸ’€. If you try to access it, you get a noSuchName error.
  • C means implemented but stuck on a constant πŸ™ˆ. Gets always return the same value, and any set to something other than that constant gets a badValue error. This only applies to writable variables.

Here's the whole tea:

                         MIB           Implementation
                    Variable 1  2  3  4  5  6  7  8  9  10 11 Yesses

               InitializeMac C  C  Y  Y  Y  Y  Y  C7 C7 N  Y   6
           MacSubLayerStatus C  C  Y  Y  Y  Y  Y  C7 C7 N  C   5
      MulticastReceiveStatus C  C  Y  C3 Y  C  C  C7 C7 N  C   2
                   TxEnabled C  C  Y  Y  Y  Y  Y  C7 C7 N  C   5
                TestTdrValue C  1  C  C4 C  C  C  C4 C4 N  C   1

             AlignmentErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
                   FCSErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
       SingleCollisionFrames Y  Y  Y  N  Y  Y  Y  Y  Y  Y  Y  10
     MultipleCollisionFrames Y  Y  Y  N  Y  Y  Y  Y  Y  Y  Y  10
               SQETestErrors Y  C  C  C  Y  C  C  C  C  Y  C   3
       DeferredTransmissions Y  C  Y  N  Y  Y  Y  Y  Y  Y  Y   9
              LateCollisions C  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  10
         ExcessiveCollisions Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
   InternalMacTransmitErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
          CarrierSenseErrors Y  C  Y  Y  Y  Y  Y  Y  Y  Y  Y  10
          ExcessiveDeferrals C  C  Y  C  C  C  C  C  C  N  C   1
               FrameTooLongs Y  Y2 Y  Y  C  Y  Y  Y  Y  Y  Y  10
         InRangeLengthErrors C  C  C  N5 C  Y  Y  C  C  N  C   2
      OutOfRangeLengthFields C  C  C  C6 C  C  C  C  C  N  C   0
    InternalMacReceiveErrors Y  Y  Y  Y  Y  C  C  Y  Y  Y  C   8

                   CollCount Y  Y  C  N  N  N  N  C  C  N  Y   3
             CollFrequencies Y  Y  C  N  N  N  N  C  C  N  Y   3
                      Yesses 13 11 16 11 15 14 14 11 11 12 13

Now the footnotes, which explain the little superscripts in the table πŸ“:

  1. Implementation 1 doesn't do the TDR test πŸ™…, but it still reports TDR from the last collision, which is honestly iconic 😭.
  2. This one isn't supported by the chip, so it's detected solely in software πŸ’».
  3. It's set to disabled(2), so a set gets disabled(2) -> badValue πŸ™ˆ.
  4. The underlying TDR function isn't implemented on this chip πŸ’€.
  5. This one only counts frames that are too short, though 🀏.
  6. This happens due to Ethernet encapsulation 🫢.
  7. These implementations don't support set operations, but they do report the correct value for these variables ✨.

And here's who's who πŸ‘‘:

            Implementation   Vendor   Chip
                         1   1        Intel 82586
                         2   1        Fujitsu 86950
                         3   2        Sonic
                         4   3        AMD Lance
                         5   4        National NIC 8390C
                         6   4        Intel 82596
                         7   4        AMD Lance
                         8   5        AMD Lance
                         9   5        AMD ILACC
                        10   6        AMD Lance
                        11   7        Intel 82586

6. Security Considerations

Security? Not discussed in this memo, bestie πŸ’€. Zero words, zero vibes. The author left this one totally blank, so there's nothing for me to add.


7. Author's Address

Frank J. Kastenholz 🧚 FTP Software 2 High Street North Andover Mass 01845

Phone: 508-685-4000 πŸ“ž EMail: kasten@ftp.com πŸ’Œ

πŸ“¦ where this page comes from