Garrett D'Amore wrote: > Raymond LI - Sun Microsystems - Beijing China wrote: > >> Joost Mulders wrote: >> >> >>>> Could we introduce below property into Brussels while keeping current >>>> IEEE802.3 defination? Having a property named "ether-flow-ctrl", which has >>>> below possible values: >>>> >>>> ether-flow-ctrl = 0: Disable pause frame flow control >>>> ether-flow-ctrl = 1: Enable just Rx flow control >>>> ether-flow-ctrl = 2: Enable just Tx flow control >>>> ether-flow-ctrl = 3: Enable both Rx/Tx flow control >>>> >>>> >>>> >>> Interesting reading on this subject: >>> http://hardware.mcse.ms/message13052.html >>> >>> Flow control per direction is a far better concept than what we offer >>> now. I would love to see it implemented. >>> >>> Regards, Joost >>> >>> >>> >> I think we need a friendly UI for pause setting, while keeping the >> ieee802.3 tunable as many as >> possible. I wonder some users may really tweak these value, isn't it? >> >> > > The ieee802.3 values are *insane*. Largely because not only do normal > mortal users not understand them, but apparently neither do the driver > developers... I've found several inconsistent interpretations for them. > Compare the usage of bge versus ce versus eri to see what I mean. > > We do not need to expose the MII bit values to userland via NDD. Some > of the insanity we can thank IEEE 802.3 for, since they apparently tried > hard to ensure backwards compatibility and minimize the number of bits > consumed in the MII registers. > > What is really needed is way for users to tune a couple of values: > > * do/don't (claim to) accept pause frames > * do/do not send pause frames > > For older NICs, these values are tuned together. You may not have > control over whether pause frames are sent or not, in any case. > > Its also important that users can see: > > * which bits the peer is claiming support for, and > * the currently negotiated pause support > > It might be worth looking at how other operating systems expose this to > administrators. > > Some windows driver implements the tuning via a "Flow Control" pulllist, with "Auto, Disable, Rx Pause, Tx Pause, Rx/Tx Pause" as possible values.
Some Linux driver implements "auto_flow_control", "tx_flow_control" and rx_flow_control. I think that is far easier for users to config what they really want. > -- Garrett > >> _______________________________________________ >> brussels-dev mailing list >> brussels-dev at opensolaris.org >> http://mail.opensolaris.org/mailman/listinfo/brussels-dev >> >> > > _______________________________________________ > networking-discuss mailing list > networking-discuss at opensolaris.org >
