Raymond LI - Sun Microsystems - Beijing China wrote:
Michael Speer wrote:
All,
This is an excellent document. Please look the configuration paremeters
for nxge (Neptune and N2 NIU) for parameters that should be considered.
Michael,
To support 10G, we will need to add "adv-10gfdx-cap", "adv-10ghdx-cap"
in the doc, to be public properties. Other specific parameters seems
to fall in "private properties", since they might not apply to other
NIC drivers.
You don't have to add adv-10ghdx-cap I think. I'm pretty sure that
half-duplex was finally done away with as part of the 10g standard.
-- Garrett
Do you think there are any parameters in nxge which we should make
public? Please advice.
Thanks,
Raymond
Michael
Sebastien Roy wrote:
[EMAIL PROTECTED] wrote:
http://opensolaris.org/os/project/brussels/files/brussels.pdf
Excellent document. My comments are based on version 0.2.
General:
* It would be good to note in the document title that this is a
design document.
Section 2.1:
* The description of "Well-known" property is very confusing to me.
How can such properties (you list link speed and auto-neg as
examples) be expected to occur in every driver if the properties are
only inherent to specific media types? Also, how can they be
expected to occur in every driver if the callbacks described in
section 3.1 are optional (see my comments regarding section 3.1)?
Maybe the word "expected" threw me off, as I interpret that as
meaning that any driver that doesn't implement public properties is
not behaving as "expected", which is clearly not true.
Section 3:
* Some details are needed regarding when it is valid to set a
property's value. We've had discussions before about potential
problem with modifying some properties after a driver has attached.
Have these issues been worked out? If so, is there nothing to note
regarding that in the design document?
* I don't see any interface documented here providing support for
kernel components to get or set link properties. Is one being
provided? I hint at the need for one in my comments on section A.1.2.
Section 3.1:
* Although it's implied by the existence of the MC_SETPROP and
MC_GETPROP flags, it would be good to explicitly point out that
these two callbacks are optional. I'm guessing that this was the
intent anyway.
* I don't see any details here regarding how the framework discovers
the list of supported properties or how the driver supplies its
initial values for properties during attach. Maybe none is needed?
Section 3.2:
* In the first PP, the phrase, "the {set, reset, show}-linkprop
commands will be extended as described [8] for devices." is
ambiguous in my mind. What is a "device"? Do you mean "physical
device"? Does this mean that one can't use this framework for
aggregation MACs, or VLANs, or IP tunnel interfaces (as will be
introduced by Clearview)? Please clarify in the document.
* The strange difference in naming convention between the GET/SET
ioctls isn't explained.
Section 3.2.1:
* The set of property attributes listed (1-5) here seem like they're
somewhat in a vacuum. Where do these attributes live? Are these
things that each driver tells the framework about using some other
mac module function? Some clarification is needed.
* Is the dld_ioc_prop_val_t used for both the GET and the SET ioctls?
* I'm confused by the description of DLD_PROP_PRIVATE here. You say
that dladm passes down that value for "dld_pr_num", but so far,
there's no description of how "dld_pr_num" belongs to any data
structure that gets passed around between user and kernel space. Do
you mean "pr_num"? What's the relationship between "dld_pr_num" and
"pr_num"?
Section 3.2.3:
* I think this sub-section needs to be expanded a bit. Are all
public properties listed in "show-linkprop" output for every class
of link? Are some of these properties' values printed in the
"show-link" output as well? What should dladm "show-linkprop" and
"show-link" output look like for links that don't support all or
some public properties?
Section 3.2.4:
* Nit: s/colescing/coalescing/
Section A.1:
* All of these (except for MTU) are very Ethernet specific. How can
the MAC-type plugin architecture be leveraged to provide a separate
set of "public" properties for different link types?
Section A.1.2:
* A lot more detail is needed for the MTU property. What happens
when this property is modified on the fly? A DL_NOTE_SDU_SIZE needs
to make its way up to interested DLPI consumers, and that's not
detailed here.
Also, the max and min sdu are currently immutable values in
mac_info_t. If MTU is now a variable thing, then max sdu (and maybe
also min sdu for consistency) needs to be yanked out of mac_info_t.
Other layers interested in obtaining the max and min sdu would now
need to stop peeking at the mac_info_t, and instead use some kernel
API in mac or dls. I don't see such an interface proposed in this doc.
Another issue is; if all of these properties are optional from the
driver's point of view, how is an administrator going to react to a
link which does not appear to have an "mtu" property in its
show-linkprop output (for example)? Clearly, every link has an MTU
regardless of which properties the driver wishes to implement, if any.
The concept of MTU (or max SDU) exists in the GLDv3 framework
regardless of whether the driver supports having its "default" MTU
modified. Going a step further, it might be possible to lower the
MTU of a given link within the framework without involvement of the
driver. In any case, even if modification of MTU isn't implemented,
it doesn't seem to me that reporting the MTU of a link should depend
on an underlying driver's capability to implement the get/setprop
callbacks. It's possible that there are other properties like that
which are inherent to datalink interfaces and not to any particular
driver.
Section A.2:
* Project scoping nit: It might be worth noting here that these
properties will be implemented by the Clearview IP tunneling device
driver, which is still under development, and that they're not part
of the Brussels project.
Section A.3:
* Same here with reference to the Crossbow project.
-Seb
_______________________________________________
networking-discuss mailing list
[email protected]
_______________________________________________
driver-discuss mailing list
[EMAIL PROTECTED]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss
_______________________________________________
networking-discuss mailing list
[email protected]
_______________________________________________
networking-discuss mailing list
[email protected]