Re Jeff,
> I spent a little time today and educated
> myself as to the format of PAUSE frames
> (
http://www.techfest.com/networking/lan/ethernet3.htm)This link just gives me a 404?
> and found that they can be either unicast
> or mcast.
That's strange. Up to now I was sure they are always mcast. AFAIK there is only one destination MAC they are supposed to be sent to as per 802.3-latest, and that is a special mcast address from the range reserved by IEEE for control plane traffic in the vicinity of 802.1D.
> I am willing to bet that the link partner
> (linux b44 NIC driver) is sending to the
> globally assigned multicast address.
Yep, I assumed that from start.
> Therefore for the switch to increment
> ifInMcast is what we should do.
Is it? This is the whole question I started this thread with. Of course it is theoretically Ok to count it as received mcast as, technically, it is. Then again, the use of an mcast MAC is just pure IEEE 802.3 pragmatism, but the frame is actually not a mcast frame in the real sense of the word, as with any non-broken hardware (such that negotiates flow control before actually sending PAUSE frames) these frames will *never* flood (I've once heard of a broken hardware that sent PAUSEs without negotiation, connected to switches which didn't know about PAUSEs and flood them, but they in turn connected to some that did react properly - consider the effect devastating). IMO that is the sound reason why they got an extra counter in RMON. They are fundamentally different compared to BPDUs or CDP, as they are an L1 mechanism that just needed some way of signaling and IEEE oddly choose a special frame for it instead of something out of band like, say, modulated fast link pulses.
I perfectly understand that some ASICs cannot make a difference as their mcast-counter might be just hardwired to the serialized first bit of the destination MAC beeing one.
It's just that I discovered - in the lab case of stumbling over a supposedly broken NIC driver - that an intense rate of PAUSE frames causes a certain counter to increment and that PCM+ makes this into a catastrophe which it really isn't - there is no multicast flooding my network at an insane rate like in a storm, it's just PAUSEs who get sinked at the receiving port as part of L1 mechanisms anyway. Maybe it was a bit compact, but I thought I already described this dilemma in my initial post ;)
> If you want to take it a step further
> please verify that the PAUSE frames from
> the linux box are actually unicast before
> asking that we increment ifInUcast rather
> than ifInMcast.
I have and had absolutely no doubt that they are multicast. I also don't want them to be counted on either ifInUcast or ifInMcast. I wanted to discuss whether they, beeing an L1 flow control mechanism rather than some normal multicast frame, should be counted on one of these counters at all or demand their own independend counter. Now that I know they have one in the RMON world, things get really interesting. IMO the decision what to do with these frames should be made by the MIB2 designers and the IEEE as only they know what they meant the IF-MIB and dot3 counters to be and whether existence of an RMON counter might modify this behavior (given that RMON is not a mandatory part of MIB2).
> If the PAUSE frames are indeed unicast
> and we are incrementing the mcast rx
> counters, this is certainly something we
> would look to address.
I never assumed something like that. I just have a bad feeling that PAUSEs might be misinterpreted as multicast data plane traffic and this causing wrong decisions by the network management staff. The question is what should be changed: The SNMP counters or PCM's behavior in counting multicast? Ideally it would just count *flooded* multicast, even better it would give a differentiated view of received vs. flooded mcast. If the status quo is not about to change (counters stay as they are), the easiest solution would be to let PCM subtract the PAUSEs (read from RMON) from the total received mcasts and display only the remainder as real mcast. This is mcast which is more likely going to flood and thus deserves special attention when coming in at 10kpps and beyond.
Finally, this is a design question to be answered, no hardware bug to be fixed IMO.
Thanks & hope that made things more clear,
Andre.