On 02/ 5/10 03:20 PM, venugopal iyer wrote:
>
>
> Thanks for the comments, please find responses below.  We will send
> out the updated webrev.
>
> thanks,
>
> -venu
>
>>
>> -----------------------------------------------------------------------------
>>  
>>
>>
>> GD1: mii.h: line 431: should just be removed, since you removed this 
>> parameter.
>>
>
> ACCEPT
>
>> GD2: mac_provider.h: line 171: Why using __ prefix?  Is there some 
>> reason the structure name needs to be hidden from drivers (it seems 
>> to me that this might require additional casting in the framework)?
>
> We want to keep the corresponding structure opaque to drivers, and
> still ta ke advantage of type checking. Sure there are some casts 
> needed as
> a side effect , but only a very few in the framework, and none in the 
> drivers.

You can have struct foobar as a forward declaration and not provide the 
actual details of struct foobar... You don't need to introduce a middle 
structure for this purpose.

>
>
>> GD3: mac_provider.h: lines 356, 357.  You should indicate that these 
>> values are just private, without advertising the guilty party 
>> (nxge).  Is there a PSARC contract covering these interfaces, because 
>> they seem like they are contract private instead of consolidation 
>> private?  (It seems really unfortunate that we need a special set of 
>> defines here for a single driver.  Why are these necessary?  I'd 
>> consider this a bug.)
>
> ACCEPT - I will update the comment. For some background,
> MAC_RING_RX_ENQUEUE was needed to workaround a nxge bug (6816730 nxge 
> does
> not build RX packet chains when operating in interrupt mode) that has 
> been
> fixed since then. I filed 6923555 to track this. There are other 
> issues in
> the nxge TX path that required us to do serialization on TX, and these 
> will
> be addressed in the future.
>
>>
>> GD4: mac.h: line 114-115: why did you delete this PSARC reference?
>>
>
> The bulk of that PSARC case is now obsoleted by the new changes. It's
> not very useful to have only some references here and there that are not
> updated as the code changes and new cases are defined. It could actually
> confuse more than help the reader.

Ok.

>
>> GD5: afe.c: LGTM.  Although, it might be nice to have a short-cut for 
>> the property capabilities.  Say, "MC_PROPERTIES", which includes 
>> MC_SETPROP, MC_GETPROP, and MC_PROPINFO.  (This comment applies to 
>> all the mac providers.)
>
> ACCEPT - I will add a short-cut, but I'm not committing to modify
> every driver to use that shortcut.

Fair enough! :-)

>
>>
>> GD6:arn_main.c: LGTM
>>
>> GD7:atge.h: Why?
>
> I needed to remove mac_flow.h inclusion from mac_provider.h, atge.h was
> referring to some definitions present in mac_flow.h.

Ok.

>
>>
>> GD8:atge_main.c: LGTM
>>
>> GD9:ath_main.c: LGTM
>>
>> GD10:atu.c: LGTM
>>
>> GD11:bfe.c: LGTM.  I really wish this were converted to the common 
>> MII framework, but not this case.
>>
>> GD12:bge_impl.h: LGTM
>>
>> GD13:bge_kstats.c: LGTM
>>
>> GD14:bge_main2.c:  Line 40.  I still think the version number ought 
>> to be removed from this line.
>
> ACCEPT - OK, I'll remove it while I'm there.
>
>> GD15: bge_main2.c: Line 152, 153: We really should nuke these private 
>> properties.  Not this case, but it probably would have simplified the 
>> changes.
>>
>
> I'd rather avoid more changes unless necessary at this point. I would
> prefer that filed a CR to track it instead.

Ok, can you please file one then?

>
>> GD16:bge_main2.c: line 831: You removed this, but why?  Does the 
>> framework do it automatically now?
>
> Yes.
>
>> GD16: bge_main2.c: line 994: I'd prefer a _NOTE(ARGUNUSED()) rather 
>> than a blanket /*ARGSUSED*/  Ditto 1073, and anyplace else 
>> /*ARGSUSED*/ appears.
>
> ACCEPT - I thought I had used the _NOTE() everywhere, I guess this one 
> fell
> through the cracks.
>
>>
>> GD17:bge_recv2.c: LGTM
>>
>> GD18:bge_main.c: LGTM
>>
>> GD19bridge.c: LGTM
>>
>> GD20:dmfe_main.c: LGTM
>>
>> GD21:e1000g_mac.c: What changed?  White space only?
>>
>
> the cast was added
>
>> GD22:e1000g_main.c: line 49.  Another version that I wish we would 
>> remove.
>>
>
> ACCEPT

Thank you.

>
>> GD23:e1000g_main.c: line 610.  If we're removing the count of private 
>> properties, then how will we iterate for the '?' in ndd (and I have 
>> long wished for a way to discover a driver's private properties as 
>> well, via dladm)?  I need to go back and check that code.
>>
>
> The m_priv_props list is now NULL-terminated.

Ah, ok.  Thanks.

>
>> GD24:e1000g_main.c: line 2862: This change I'm not as comfortable 
>> with. Please have the e1000g maintainer review this.  (Ted You?)
>
> Samuel Tu reviewed these changes as well.

Good!

>
>>
>> GD25:e1000g_rx.c: LGTM
>>
>> GD26:e1000g_tx.c: LGTM
>>
>> GD27:e1000g_stat.c: LGTM
>>
>> GD28:e1000g_sw.h: LGTM
>>
>> GD29:hme.c: LGTM
>>
>> GD30:hxge_impl.c: LGTM
>>
>> GD31:hxge_kstats.c: LGTM
>>
>> GD32:hxge_main.c: I need to review this more carefully, but ideally 
>> have the hxge maintainer(s) review it (NSN?)
>
> Michael Speer who was with NSN until he joined the Crossbow team was 
> one of
> the main authors and reviewed the changes. We've sent the code review
> request t o NSN as well.

Sounds good!

>
>>
>> GD33:hxge_rxdma.c: LGTM
>>
>> GD34:hxge_send.c: LGTM
>>
>> GD35:ibd.c: LGTM
>>
>> GD36:ibcm_arp_link.c: LGTM (although a bit surprising that its needed).
>>
>> GD37:igb_gld.c: lines 853, 871: These changes need more careful 
>> review. Please have someone else review them.
>>
>
> Samuel also reviewed these changes.

Good!

>
>> GD38:igb_rx.c: LGTM
>>
>> GD39:igb_stat.c: LGTM
>>
>> GD40:igb_sw.h: LGTM
>>
>> GD41:igb_tx.c: LGTM
>>
>> GD42:ipw2100.c: LGTM
>>
>> GD43:ipw2200.c: LGTM
>>
>> GD44:iwh.c: LGTM
>>
>> GD45:iwk2.c: LGTM
>>
>> GD46:iwp.c: LGTM
>>
>> GD47:mii.c: lines 716-726: I'd recommend moving these to line 738 
>> (i.e. just before used, without the intervening case statements).
>
> ACCEPT
>
>>
>> GD48:net80211_ioctl.c: LGTM
>>
>> GD49:zyd.c: line 920, 921.  This test is not needed.
>
> ACCEPT
>
>>
>> GD50:mwl.c: LGTM
>>
>> GD51:mxfe.c: LGTM.  I wish this one were based on MII, but its harder 
>> to do... some models use a non-MII NWAY scheme.
>>
>> GD52:myri10ge.c: LGTM
>>
>> GD53:myri10ge_lro.c: LGTM
>>
>> GD54:myri10ge_var.h: lines 60-62 -- seems like this driver shouldn't 
>> need netinet/in.h.  I'd have tried to remove it.  Possibly also the 
>> other netinet/ headers.
>
> ACCEPT - Will try to remove, we will see if they are really needed

Thanks!

>
>>
>> GD55:nge_main.c: LGTM
>>
>> GD56:nge_rx.c: LGTM
>>
>> GD57:nge_tx.c: LGTM
>>
>> GD58:unm_nic_main.c: LGTM
>>
>> GD59:pcan.c: LGTM.  Wish this used the net80211 framework.
>>
>> GD60:pcwl.c: LGTM
>>
>> GD61:rtls.c: LGTM.  Warning, I have been planning on a conversion of 
>> this driver to the MII framework.  This work *could* conceivably 
>> integrate before b135, and hence before your integration.  If so, the 
>> merge changes will be modest (ala afe's change in scope).
>>
>
> Thanks for the heads-up. We will merge as needed.

And it has so occurred. :-)

>
>> GD62:sfe_util.c: LGTM
>>
>> GD63:vr.c: LGTM.  Please also have Joost Mulders review it.  (I'd 
>> like to see this one converted to MII as well, btw.)
>
> He no longer seems to be with Sun. We have sent the code review 
> annoucement
> on the relevant opensolaris.org aliases, so if he is still following 
> these
> aliases he had the chance to do the review.

Oh, that's news to me.  Ok, well then I'll do the conversion of it to 
MII after b134.

>
>>
>> GD64:yge.c: line 3368.  Hmm... perhaps this is better handled via a 
>> default: case in the following switch table?
>
> ACCEPT
>
>>
>> GD65:strsubr.c: LGTM

Thanks!

     - Garrett
>
>>> Hi, folks
>>>
>>> We'd like to make the code available for review for the following
>>> additions as part of follow-up to the crossbow project:
>>>
>>>         PSARC/2009/638 Public GLDv3 Interfaces
>>>         PSARC/2009/501 Dynamic Ring Grouping on NICs
>>>         PSARC/2009/448 pool dladm link property
>>>         PSARC/2009/436 Anti-spoofing Link Protection
>>>         PSARC/2009/364 dlstat and flowstat
>>>
>>> Webrev: http://cr.opensolaris.org/~tlc/crossbow_onnv130
>>>
>>> The changes also include some bug fixes. The changes/webrev is based on
>>> build 130. We will update the webrev once in a couple of weeks time to
>>> include some minor bug fixes, however we'd like to get started on the
>>> code review now.
>>>
>>> Thanks in advance, to Sebastien, Cathy, Girish and Garrett who have
>>> agreed to review the changes.
>>>
>>> Please send comments etc. to crossbow-discuss at opensolaris.org by
>>> the 15th of Jan. If anyone needs more time, please let us know.
>>>
>>> For internal folks, the webrev is @
>>>         /net/nvtbld-x.sfbay/exportz/crossbow/crossbow_onnv130/webrev
>>>         
>>> /net/nvtbld-x.sfbay/exportz/crossbow/crossbow_onnv130/webrev-closed
>>> The above also has cscope built.

Reply via email to