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
If we leave below for customer to set via Brussels, would it be enough?

accept_pause = {0,1}
send_pause = {0, 1}

accept_pause = 0: Not allowed to response to pause frame
accept_pause = 1: Response to pause frame, pause transmition for 
specified time interval
send_pause = 0: Not allowed to send pause frame when congestion
send_pause = 1: Sending pause frame

Above are only interface we provide for customer to turn on/off 
pauseframe. If customer want
to check properties like lp_*, adv_*, cap_*, we still provide ieee802.3 
ways of defination, but
not tunable directly.
>
> 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.
>
>    -- Garrett
>> _______________________________________________
>> brussels-dev mailing list
>> brussels-dev at opensolaris.org
>> http://mail.opensolaris.org/mailman/listinfo/brussels-dev
>>   
>


Reply via email to