[replacing all the opensolaris groups that I dropped by mistake] On (07/30/07 14:12), Garrett D'Amore wrote: > > On Mon, 2007-07-30 at 16:38 -0400, [EMAIL PROTECTED] wrote: > > On (07/26/07 11:17), Garrett D'Amore wrote: > > > peer=> none tx rx both > > > adv > > > none none none none none > > > tx none none tx tx > > > rx none rx none tx > > > both none rx tx both > > > > > > > Garrett, > > > > trying to catch up on this thread in the midst of diskless boot and > > cdkit hell, and trying to understand the truth table here. > > > > So I read the explanation from Rich Seifert, and tried to deduce > > the full truth table from there - I'm trying to map my results > > with yours and getting some mismatches, possibly due to not > > understanding your definitons of "tx" and "rx". Here is what I have > > > > One each axis, the 2 bits are (pause, asmpause) > > > > I think that the "01" case is not meaningful in practice, > > because the discussion says that rx is harder to implement than > > send. But let's keep it for the sake of discussion. > > > > e.g., my 10 means pause = 1, asmpause = 0. I believe this corresponds > > to "tx" in your table (??) > > > > \ peer > > my \ 00 01 10 11 > > \----------------------------- > > > > 00 - - - - > > > > 01 - - - asym-to > > > > 10 - - sym sym > > > > 11 - asym- sym asym-both > > from > > > > where > > - == no flow control > > sym == symmetric flow control > > asym-from == "asymmetric, from partner only" > > asym-to == "asymmetric, to partner only" > > asym-both == "asymmetric, both ways" > > > > Don't we have a mismatch for the (tx, tx) case, which would correspond > > to (10, 10) in my table? Or am I misunderstanding your definitions? > > Your table is easier to understand... probably because it uses the > definitions as used by 802.3. I was trying to invent some new way of > expressing this information, but clearly it was unclear. :-) > > So lets stick with what you have for the moment. > > The case for (11, 11) is really "symmetric" as well. Basically, for any > case where (1?,1?), the result will be symmetric flow control. >
right. and I noticed in my table that there are only 6 real non "dash" cases to consider. > So, lets assume for the moment, that managing these flow control bits is > an "advanced" user activity. If we make that assumption, then we can > use the 802.3 bits as in the table above for tuning, but I would also > create two other properties: right, but we still have to define some easily understandable input: just do the 2 bits for "my" and let the user figure out the final result by looking up the table above? > * flow-control = on/off .... enables or disables all flow control > (overriding the 802.3 bits) i.e., my 00 or 11 case, right? > * flow-control-status = off, tx, rx, on. (result of 802.3 negotiation, > where off = none, tx = asym-to, rx = asym-from, and on = sym.) We can > use other strings as values if this is too confusing. :-) yes, and as son as we have chosen some satisfactory strings, we'd have covered the 6 non-null values in the table above, I believe. > The main thing is to let users forcibly enable/disable flow control (and > asymmetric tuning is unlikely to find much use in the field, I > hypothesize), and also see what the current link status is. > > -- Garrett --Sowmini _______________________________________________ driver-discuss mailing list driver-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/driver-discuss