On 8-Apr-08, at 1:48 PM, David Young wrote:
I'm not immediately convinced that's a good idea. Suddenly you're moving the configuration of the switch to a bunch of extra utilities like brconfig, ifconfig...I don't understand what you mean by "extra utilities." ifconfig and brconfig already exist. I reckon that they can cover the most common switch use cases, too.
Yes, I wasn't clear. I've re-read that and can't think of what I meant by the word 'extra'. My general sentiment was that decentralizing the configuration of the switch may not be immediately desirable.
and other functions like querying the various status registers and event counters in the switch hardware, that would creep into everywhere...Why do you think so?
Utilities like netstat simply report data kept in struct ifnet, for example. Data which is updated by the driver handling the packets. But the switch will be handling packets while the driver is really just a control-plane interface to the switch; and so stats don't get collected there, except by a timer-based poll of the switch hardware... As a result, I don't think you'd get a completely accurate representation of this sort of data:
Stats for port 9: inGoodOctetsLo 9122 inGoodOctetsHi 0 inBadOctets 0 inUnicast 62 inBroadcast 0 inMulticast 0 inPause 0 inUndersize 0 inFragments 0 inOversize 0 inJabber 0 inRxErr 0 inFcsErr 0 outOctetsLo 8743 outOctetsHi 0 outUnicast 62 outBroadcast 2 outMulticast 0 outPause 0 outFcsErr 0 excessive 0 collisions 0 deferred 0 single 0 multiple 0 late 0 octets64 7 octets65to127 88 octets128to255 27 octets256to511 1 octets512to1023 3 octets1024toMax 0 inDiscardsLo 0 inDiscardsHi 0 inFiltered 0 outFiltered 0 Stats operation completed successfully.Going through the rest of the list, I guess I can see a home for the rest of the functionality... Maybe I'm coming around to this after all....