Attached are comments on the remaining files (I have appended them to the
ones I had sent earlier).

-venu



On Tue, 26 Sep 2006, Peter Memishian wrote:


WiFi for GLDv3 (Nemo) is now ready for code review.  This work consists
the administrative, library, and kernel architectural changes necessary to
support WiFi under the Solaris GLDv3 network driver framework.

This is a large project, consisting of almost 15000 new lines of code.
To make the review more manageable, we are splitting it into two phases.
Phase one (which starts now) consists of everything but[1] the net80211
kernel module[2]; we plan to kick off phase two in roughly two weeks.

       webrev: http://cr.grommit.com/~meem/wifi-0926
       cscope: /net/azariah.prc/builds/meem/wifi-0926/usr/src
               /net/azariah.prc/builds/meem/wifi-0926/usr/src/uts

Please provide feedback to this list.  The review timer is set for two
weeks (10/10/2006).

Several Sun employees have graciously agreed to do the review (assignments
are listed below), but we welcome comments from the community at-large.
To get oriented, we encourage reviewers to browse the documents tarred up
at http://opensolaris.org/os/community/networking/gldv3-wifi-docs.tar.gz

 overview.txt       A high-level technical overview of the project,
                    culled from our PSARC "20 questions" document.

 dladm-wifi.pdf     An overview of the WiFi administrative model.

 gldv3-wifi.txt     An overview of the WiFi kernel architecture.
                    (consolidation private)

 lib-wifi.txt       An overview of the WiFi libdladm and libwladm APIs.
                    (consolidation private)

 libdladm.txt       Specifications for the new libdladm interfaces.
                    (consolidation private)

 libwladm.txt       Specifications for the new libwladm interfaces.
                    (consolidation private)

 manpages            Revised manpages for dladm(1M) et al.

 [ Internal reviewers may also wish to examine the PSARC opinion, full 20
   questions, and mail logs for PSARC/2006/406 and PSARC/2006/517 --
   though for materials, please use the current ones in the tarball[3]. ]

For this phase, there are 82 files to be reviewed, split into five areas:

        1. GLDv3 kernel:       15 files,  ~950 lines changed
        2. GLDv3 libraries:     5 files, ~3600 lines changed
        3. GLDv3 command/misc: 20 files, ~2100 lines changed
        4. Atheros driver:      8 files, ~1300 lines changed
        5. Packaging/Build[4]: 34 files,  ~600 lines changed

In the webrev, each file has been placed into one of the above areas.
My proposed assignments are:

        David Edmondson:        GLDv3 kernel
        Kacheong Poon:          GLDv3 library
        Renee Danson:           GLDv3 command/misc
        Venu Iyer:              Atheros driver; packaging/build

*Thanks* for your assistance, and let us know if you have questions.
Have fun! :-)

-----

[1] To provide more context when reviewing other kernel files, the net80211
   files have been left in webrev/cscope -- but they need not be reviewed
   at this point.

[2] For more on net80211, see section 3 of gldv3-wifi.txt.

[3] In particular, there are some small changes between 2006/517 and
   the provided materials; we will return to the ARC after code review.

[4] Because our workspace also contains several additional WiFi drivers
   that are not part of the initial putback, some packaging/build files
   have references to additional drivers not under review.  These
   references will not be in our final putback.

--
meem
From: http://cr.grommit.com/~meem/wifi-0926

General: Collapse deltas.

usr/src/cmd/dladm/Makefile
        
        L32:    Does this mean that aggregation.conf is now going to live in
                /etc/dladm. Does it currently reside in /etc? If so would
                this cause any issues on existing S10 updates that already
                has aggregation.conf in /etc? I know this won't/shouldn't
                be hand-edited, but could there be any scripts etc. that
                reads this file?

        L34:    It is taken out because POFILE is in Makefile.master, right?
                (I am not sure if
                /net/azariah.prc/builds/meem/wifi-0926/usr/src/cmd/dladm is
                a built workspace, but I see dladm.po.i, but no dladm.po?)

        L40:    Owner is dladm?

        L61:    Just curious is $(ROOTCFGDIR) needed? Should 
                        $(ROOTCFGDIR)/%: $(ROOTCFGDIR) %
                                $(INS.file)
                work? (just checking since I seen something similar in another
                Makefile).

usr/src/lib/Makefile

        L454:   I think this is fine, i.e. explicitly stating the dependency,
                but given L485, do we still have to mention libdevinfo here?

usr/src/lib/libdladm/Makefile.com
usr/src/lib/libdladm/common/mapfile-vers
usr/src/lib/libsecdb/help/auths/Makefile
usr/src/lib/libsecdb/help/profiles/Makefile
usr/src/lib/libwladm/Makefile
        no comments

usr/src/lib/libwladm/Makefile.com
        L38:    Do we need to list libsocket and librt in the dependency list
                in usr/src/lib/Makefile?

usr/src/lib/libwladm/common/llib-lwladm
usr/src/lib/libwladm/common/mapfile-vers
usr/src/lib/libwladm/i386/Makefile
usr/src/lib/libwladm/sparc/Makefile
usr/src/pkgdefs/SUNW0on/prototype_com
        no comments

usr/src/pkgdefs/SUNWckr/prototype_i386
        [Haven't read any docs] do we deliver anything for SPARC?

usr/src/pkgdefs/SUNWcnetr/Makefile
        no comments

usr/src/pkgdefs/SUNWcnetr/postinstall
        Same question as L32 in usr/src/cmd/dladm/Makefile
        L29     Can we just remove all the comments? Could we miss some
                specific comments because of this?

usr/src/pkgdefs/SUNWcnetr/prototype_com
        L50-53  : Not sure why 'dladm' and not 'root' (for owner).
        (OK, looking at changes at i.shadow, stdusers.c etc., dladm
        is being added for this purpose?)
        Shouldn't postinstall be listed as a packaging file "i postinstall"?

usr/src/pkgdefs/SUNWcslr/prototype_com
        no comments (don't we deliver 64-bit?)

usr/src/pkgdefs/SUNWcsu/prototype_com
        no comments

usr/src/pkgdefs/common_files/i.ftpusers
        I am not sure what is being done here (perhaps I should read the
        document 8)).

usr/src/pkgdefs/common_files/i.group
        not sure what has changed here.

usr/src/pkgdefs/common_files/i.minorperm_i386
        L119    Just looking at the changes (and L243) do we need an entry for
                "clone:e1000g"

usr/src/pkgdefs/common_files/i.minorperm_sparc
        Similar questions as for i.minorperm_i386.

usr/src/pkgdefs/common_files/i.passwd
        L116    : Do "15" & "3" have any significance?
        L124-124        : This results in adding
                        "dladm:x:15:3:Datalink Admin:/:" follwoing the enrty
                        for nuucp? or if nuucp is not present the line gets
                        appended at the end?
                        Just curious why nuucp?

usr/src/pkgdefs/common_files/i.shadow
        no comments

usr/src/pkgdefs/etc/exception_list_i386
usr/src/pkgdefs/etc/exception_list_sparc
        no comments

usr/src/tools/protocmp/stdusers.c
        no comments

usr/src/tools/scripts/bfu.sh
        L2135   Please add some comments here. So, I think you determine
                if this is new dladm (for aggregation.conf) by checking
                for /etc/dladm dir.
        
        L6259   Again, should we just ignore all comments?
        L6264   Here we don't bother about comments.

usr/src/uts/common/Makefile.files
usr/src/uts/common/Makefile.rules
        I suppose your comment about some WiFi drivers not part of the
        initial putback affects the entries here, right? I mean do your
        comments relate to pcan, pcwl, ipw2100 etc.?

usr/src/uts/intel/Makefile.intel.shared
usr/src/uts/intel/mac_wifi/Makefile
        no comments

usr/src/uts/intel/ath/Makefile
        just curious why was this dependent on drv/ip earlier?

______________________________________________________________________________
usr/src/uts/common/io/ath/ath_aux.c

        L93- Is net80211.h a new file that is being delivered? Can't find it
             in onnv, not in this webrev, but see it in usr/src/uts/common/sys
             in the workspace. Also, is there a reason these member names in
             ieee80211com differ from those in ath_ieee80211.h in onnv?
             Since it still seems to be asc_isc in "struct ath".

        L183    Add a line after this.

        L232    Why is ieee80211channel changed to ieee80211_channel?

        L186    Is txq->axq_qnum equal to the value of i'?

        L447    Looks like the return value from ath_chan_set gets set
                in ic_newstate? If so, what does '1' mean?

        L-502-507 Given the change here, is the comment still the same?

        L555    Typo uniacst -> unicast

        L581    If it should not happen, should we assert?

        L563,584,591,595
                Given that it returns only 1 or 0 and it is actually
                used a a boolean, i.e:
                        if (!DEV_KEY_ALLOC(ic, key, &keyix, &rxkeyix))
                why doesn't cs_key_alloc return a boolean?

        L565    Is the continuation spaced correcly? Looks like a tab.
         614

        L599    This always returns 1,  so could cs_key_delete be a void
                instead of a int?

        L601    I guess we don't really need asc to be defined, we could have
                obtained asc_ah directly from ic in L602.
        L650-651

        L633    The 'and' at the end doesn't seem right.        

        L641-642 Use "{}" for else.

        L648    Add a comment for this.

        L696    Since this always returns 0, could ic_reset return void?
                Or could a reset fail?

usr/src/uts/common/io/ath/ath_aux.h
usr/src/uts/common/io/ath/ath_hal.h

        no comments.    

usr/src/uts/common/io/ath/ath_impl.h
        L306-310        Why are these macros?

usr/src/uts/common/io/ath/ath_main.c
        General: So, is this being nemo-ised? IF so does 54-63 still hold?

        L236    Where does  150 come from? 

        L257    I suppose we can have a NULL here for getcapab?

        L577-594 (old code) Is this now taken care in
                net80211.c:ieee80211_input(), L3174-?

        L637    So is the header now filled via
                ... mac_wifi_header_cook()..-> mac_wifi_header()? Does the
                comment in L645-646 still hold?

        L674    (old code) iswep could have been a boolean since it used as
                one.

        L859-862        Does this comment still hold?
        
        L928    Is cstyle OK with the space before "++"?

        L948    Why is error int32_t instead of just int?

        L967-975 Does this mean data is not freed, but control is if there
                 is no xmit buffer? 

        L1024-1025 When condition spans a line, use {}

        L1025   If error != 0, the caller gets the mp?

        L1054   Since ath_xmit() doesn't return a boolean, use != 0.
        
        L1216   So, will the scan be set if the state is not IEEE80211_S_SCAN?
                Of is the state likely to change after starting a timer?

        L1253   Is cstyle OK with the space after '!',
        L1417
        L1458
        L1577

        L1444   use ntimer != 0

        L1435   It is OK to invoke callback with the lock held?

        L1577   There is a macro for this, right?

        L1574   This lock released by the caller?

        L1580-1581      Use {} for else

        L1705   !add should have been enough

        L1747   Is this the else for L1738?

        L1791   WIFI_STAT_TX_FAILED could have been added @ L1776?
        
        L2019   63 could be a macro.

usr/src/uts/common/io/ath/ath_osdep.c

        L159    ath_halfix[i].p != NULL

usr/src/uts/common/io/ath/ath_rate.c

        L191    I suppose this isn't needed, (ath_t *)arg in L193 should do.
usr/src/uts/common/io/ath/ath_rate.h
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to