AF:
NF:0
PS:10
SRH:1
SFN:
DSR:
MID:
CFG:
PT:0
S:andy.sharp@lsi.com
RQ:
SSV:mhbs.lsil.com
NSV:
SSH:
R:<bfisher@lsi.com>
MAID:2
X-Sylpheed-Privacy-System:
X-Sylpheed-Sign:0
SCF:#mh/Mailbox/sent
RMID:#imap/LSI/INBOX	0	4A8DB591.6060807@lsi.com
X-Sylpheed-End-Special-Headers: 1
Date: Fri, 21 Aug 2009 15:58:22 -0700
From: Andrew Sharp <andy.sharp@lsi.com>
To: William Fisher <bfisher@lsi.com>
Subject: Re: TuxStor Task List and Milestones, Version 2
Message-ID: <20090821155822.0ed9ad6e@ripper.onstor.net>
In-Reply-To: <4A8DB591.6060807@lsi.com>
References: <4A8DB591.6060807@lsi.com>
Organization: LSI
X-Mailer: Sylpheed-Claws 2.6.0 (GTK+ 2.8.20; x86_64-pc-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Thu, 20 Aug 2009 14:44:01 -0600 William Fisher <bfisher@lsi.com>
wrote:

> Here it is. Let me know what you want to add/modify
> and I'll do another iteration.
> 
> -- Bill

Comments:

4.1 Add Linux support for EEE memory layout

	This would seem to be the same as 4.6

Item 6.1 and 6.1 are the same.  They have the same number even.  I would
estimate the time to be 6 man weeks.  I would make the title "virtual
server design/implementation/testing" but include all the user daemon
messages as part of the task, as you have done.  Possibly what you could
do is make a optional 6.1 which is the equivalent task except for an
SSC-less cougar.

6.2 and 6.3 are the same.

6.4 is part of 6.1

I would say 6.5 is also part of 6.1

6.6 is part of 6.1 already.

6.7 and 6.8 are the same.  What is "IPM"?

8.0 His name is Larry Scheer and no relation to Martin Sheen or Barry
Sheene

13.0 seems to be a mashup of stuff that doesn't seem to make a
coherent point or task.

13.2 we aren't going to do for obvious reasons

13.3 (c) I don't actually understand at all.

As far as some of the words in 13.0, I would axe it entirely and go
with just what's in 2.0 and 3.0, except that I would mark that the
functionality of saving to the core volume is not done.

We aren't going to do the attach-to-a-crashed-system-and-live-debug
stuff for tuxstor.  Probably not ever, but certainly not in the current
schedule. So I think you should just delete 13.0 all together, or make
it just about attach-to-a-crashed... and mark it as highly unlikely for
tuxstor.

Tasks 16 and 17 are the same.  16 is redundant, actually.

----------------

Additional task:

Add a task to localize ethernet driver xmit buffers to the txrx 1480.
Mark it as a possible, but not definite, requirement.  Data mover driver
or 1480 DMA engine to move the data if it's not local.



Original document
=========================================================================

			Filename: tuxstor-milestones-v2.txt
			Date:	  Thursday, August 20, 2009
			Document: Version 2

This document convers the development, unit tests, integration points as
well as the final system integration for the TuxStor Linux project on
Cougar Hardware.

Included are the completed tasks on TuxRx Linux (SSC and TxRx running
Linux) as well as the news tasks identified to convert the File
Processor(FP) file system code and storage backend to Linux.

The tasks identifed below are not in strict priority/chronological order
however they are probably close.



================================ S U M M A R Y
=====================================


1.0 Linux Kernel, Mgmt-Bus, NetEEE protocol on SSC/TuxRx and RCON
functions ESTIMATE: 4 Weeks
    ASSIGNED PERSON: William Fisher and Andy Sharp
    STATUS: COMPLETE


2.0 Support core dumps under TxRx Linux
    ESTIMATE: 3 Weeks
    ASSIGNED PERSON: Rendell Fong
    STATUS: TuxRx Linux/EEE Hybrid COMPLETE


3.0 Support kgdb/gdb debugging
    ESTIMATE: 3 Weeks
    ASSIGNED PERSON: Rendell Fong
    STATUS: COMPLETE


4.0 Develop/Test Control packet ops between SSC and TxRx Linux
    ESTIMATE: 7 Weeks
    ASSIGNED PERSON: William Fisher
    STATUS: COMPLETE


5.0 Integration Testing Control Packet forwarding between SSC and TxRx
Linux ESTIMATE: 2 Weeks
    ASSIGNED PERSON: William Fisher
    STATUS: COMPLETE


6.0 Develop/Test/Integrate SSC/TuxRx daemons into TuxStor Linux
     Including Virtual Server, Configuration DBMS and other
     back-side TuxStor Linux daemons
     ESTIMATE: 10 Weeks
     ASSIGNED PERSON: Rendell Fong and Andy Sharp
     STATUS: In-Progress


7.0 Compile/link ACPU NFS/CIFS/NETBIOS into Linux modules
    ESTIMATE: 12 Weeks
    ASSIGNED PERSON: Andy Sharp
    STATUS: In-Progress


8.0 Get TuxRx software into Perforce and perform nightly builds
    ESTIMATE: 1 Week
    ASSIGNED PERSON: Larry Sheer, Andy Sharp and William Fisher
    STATUS: NOT_STARTED


9.0 Integrate NFS/CIFS/NETBIOS modules, ACPU polling & Pkt forwarding
    ESTIMATE: 1 Week
    ASSIGNED PERSON: Andy Sharp and William Fisher
    STATUS: NOT_STARTED


10.0 Develop/Integrate/Test PROM changes for 8-Way Cougar
     ESTIMATE: 1 Week
     ASSIGNED PERSON: Andy Sharp and Brian Stark
     STATUS: NOT_STARTED


11.0 Identify Linux kernel PCI initialization changes for FP hardware
     ESTIMATE: 2 Days
     ASSIGNED PERSON: Andy Sharp
     STATUS: NOT_STARTED


12.0 Linux kernel booting on 8-way Cougar hardware
     ESTIMATE: 1 Week
     ASSIGNED PERSON: Andy Sharp
     STATUS: NOT_STARTED


13.0 Linux core dumps and debugger support on TuxStor Linux
     ESTIMATE: 3 Weeks
     ASSIGNED PERSON: Rendell Fong
     STATUS: NOT_STARTED


14.0 Develop NFS/CIFS/NETBIOS Listener daemons on TuxStor Linux
     ESTIMATE: 1 Week
     ASSIGNED PERSON: William Fisher
     STATUS: NOT_STARTED


15.0 Convert CIFS/NFS/NETBIOS and FP code to Linux Networking
     ESTIMATE: 2 Weeks
     ASSIGNED PERSON: William Fisher
     STATUS: NOT_STARTED


16.0 Integration testing of Data Plane networking between
      SSC and TuxStor Linux
     ESTIMATE: 2 Weeks
     ASSIGNED PERSON: William Fisher
     STATUS: NOT_STARTED


17.0 Integration testing of Control and Data Plane networking
      between SSC and TuxStor Linux
     ESTIMATE: 1 Week
     ASSIGNED PERSON: William Fisher
     STATUS: NOT_STARTED


18.0 Design/Implement/Test fs_threads and events for TuxStor Linux
     ESTIMATE: 2 Weeks
     ASSIGNED PERSON: Maxim Kozlovsky
     STATUS: NOT_STARTED


19.0 Compile/Link FP filesystem and support code to TuxStor Linux
     ESTIMATE: 3 Weeks
     ASSIGNED PERSON: Maxim Kozlovsky and two FS developers
     STATUS: NOT_STARTED


20.0 Integrate NETBIOS/CIFS/NFS, FileSystems, networking,
      SSC daemons, TxRx Daemons under TuxStor Linux
     ESTIMATE: 2 Weeks
     ASSIGNED PERSON: Andy Sharp, Rendell Fong,
                      Maxim Kozlovsky, William Fisher
     STATUS: NOT_STARTED


21.0 nfsperftest NETBIOS/CIFS/NFS, daemons, file system(FP) WITHOUT
NETWORKING ESTIMATE: 3 Weeks
     ASSIGNED PERSON: Andy Sharp, Maxim Kozlovsky
     STATUS: NOT_STARTED


22.0 Integrate/Test NETBIOS/CIFS/NFS, Daemons, File system(FP) WITH
NETWORKING ESTIMATE: 3 Weeks
     ASSIGNED PERSON: Maxim Kozlovsky, William Fisher and Andy Sharp
     STATUS: NOT_STARTED


23.0 RMC Protocol based test automation unit and system testing of
entire system ESTIMATE: 2 Weeks
     ASSIGNED PERSON: Jan Seidel
     STATUS: NOT_STARTED


24.0 Test DMIP using a fully integrated set of software.
     ESTIMATE: 1 Week
     ASSIGNED PERSON: QA Person
     STATUS: NOT_STARTED


ASSIGNMENTS SUMMARY:
	    William Fisher  8,9,14,15,16,17,20,22
	    Rendell Fong    6,13,20,21
	    Maxim Kozlovsky 18,19,20,21
	    Jan Seidel      23
	    Andy Sharp      6,7,8,9,10,11,20,21
	    Larry Sheer     8
	    FS Developer1   19,20,21
	    FS Developer2   19,20,21
	    QA Tester       24


================================ D E T A I L
=====================================

1.0 Linux Kernel, Mgmt-Bus, NetEEE protocol on SSC and TuxRx and RCON
Functionality ------------

This milestone covers the tasks resulting in running Linux kernels
on both the SSC and TuxRx sending/receiving messages via the mgmt-bus
driver and protocol modules. In addition basic IP support and NFS
communication between the SSC and TuxRx are supported.

1.1 Stock 2.6.22 Linux ported onto the TxRx Sibyte 1480 socket on Cougar

    Port the Linux 2.6.22 from SSC on TxRx cores. This should be a
    direct task on the order of a week.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: DONE;
            Delayed by xem escalations,
            Linux 2.6.22 SMP booted on Cougar hardware, dying due
            to watchdog timeout; 11/20/2008; Watchdog timeout solved,
11/25/2008.

1.2 Port SSC Linux mgmt-bus network driver and NET_EEE module onto
TuxRx Linux.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 2 Days
    STATUS: DONE
            mgmt_bus.c driver and neteee.c changes coded and compiled
            for both SSC and TxRx. Actual time was 5 days

1.3 Code extensions to the mgmt-bus driver to handle IP packets
    on TxRx to/from SSC. This allows the PPP mgmt bus link between
    TuxRx and SSC to support NetEEE, TCP/IP and NFS packets.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 3 Days
    STATUS: DONE
            mgmt_bus.c changes coded and compiled, Actual time was 2
days

1.4 Code test program to exercise mgmt-bus driver and neteee module
    between SSC to/from TxRx. This exercises the PPP mgmt bus link
between SSC and TxRx to support NetEEE packets.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 3 Days
    STATUS: DONE
            neteee-msgtest.c coded and compiled, Actual time was 2 days

1.5 Debug and test NetEEE between SSC and TuxRx Linux'es
    using mgmt-bus PCI memory driver and NetEEE protocol module.
    This validates proper working of mailbox interrupts, device
    driver and protocol module on both ends.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: DONE

1.6 TuxRx IP packet forwarding to/from the SSC from it's networking
    interfaces, using kernel packet forwarding functions. This entails
    debugging the IP over mgmtbus code and using stock IP packets over
link. The mgmtbus device currently supports the SIOCSIFADDR/SIOCDIFADDR
ioctl's for IP address'es on the SSC today.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: DONE

1.7 Test and debug TuxRx NFS Linux Client remote mounting SSC's Compact
Flash resident along with reading/writing files using NFS, etc.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED, SHELVED

1.8 Adapt and test RCON functionality under SSC to TXRX and to FP

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 10 Days
    STATUS: DONE for both SSC <-> TXRX and SSC <-> FP cases

1.9 Linux 2.6.26 executing on only 3 of 4 Sibyte MIPS Cores

    This task covers restricting the Linux kernel to run on
    a subset of the processors and adjusting the hardware
    discovery/assignment changes if required. This also
    includes using the NFS/CIFS module(s) as the test cases.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: DONE


2.0 Support core dumps under Linux
    ------------

    Adding Linux kernel support to get kernel core dumps
    onto the management volume supported by the FP.
    The initial thinking was to adapt the EEE code to
    the Linux kernel.

    The new changes require writing the coredump info to the core
    volume, which can't be fully tested until the core volume can be
recognized (via discovery) and accessed via the modified coredump code.

    A major poriton of the code has been ported to generate the coredump
    file, but there's a bunch more (the coredump thread) that needs to
be examined.  This thread interacts with the cluster db, evm and the
scsi layer.  It is responsible for initiating the scsi writes to be core
    volume during the crash and then the copy of core volume data to the
    mgmt volume upon system re-init.

    This feature can't be fully tested until well after the system can
be brought up with vsvrs and volumes enabled.

    In addition, we need to determine if esm state info so that can be
included in the coredump file as well.

    In the mean time, we will have to live with coredumps files
generated strictly for non-fatal kernel crashes saved in the root
filesystem in /var/crash.

    ASSIGNED PERSON: Rendell Fong
    ESTIMATE: 3 Weeks
    STATUS: DONE

3.0 Support kgdb/gdb debugging
    ------------

3.1 Obtain a working kgdb debugger for development.
    Support the three scenario's for compatability with
    existing debugging support under gdb under EEE.
    These particular scenario's that exist today that
    must be supported include:

    a) Attaching gdb to a crashed kernel instance
       under TxRx and FP.

    b) Single step debugging using and instance
       under gdb on another Linux system and
       connecting via RCON to the remote system
       inside the box.

    c) Debugging via RCON from the SSC Linux system
      to allow the existing embedded shells to be
      work under the exception handler or equivalent
      to the hard polling loop task under EEE.

    ASSIGNED PERSON: Rendell Fong
    ESTIMATE: 10 Days
    STATUS: DONE


4.0 Develop/Test Control packet ops between SSC and TxRx Linux Instances
    ------------

4.1 Add Linux support for EEE memory layout for memory regions, used by
    shared IPC queue's and SKB Slab allocation from specific pages.
    The changes includes the zone, pglist and header files and
    the code changes to exploit assign and use these memory regions.
    These include Linux changes for Shared Memory, IPC Queues and SKB
allocation

    The EEE's virtual address assignments are:

    0x01 E000 0000 Shared Memory Hole => RETAINED, skb's and buffers
    0x01 F800 0000 Shared Memory Hole Ending Address, Starting at 8GB,
400MB hole

    0x10 0000 0000 malloc Region => DEPRECIATED, Use Linux slab
allocator 0x20 0000 0000 txrx Region => DEPRECIATED, Use Linux slab
allocator 0x30 0000 0000 SAC Region => DEPRECIATED, Use Linux slab
allocator 0x40 0000 0000 FP Region => DEPRECIATED, node centric
allocation required. 0x50 0000 0000 Thread Stack Region => DEPRECIATED,
Use Linux slab allocator 0x60 0000 0000 TxRx Cache Region =>
DEPRECIATED, Use Linux slab allocator 0x70 0000 0000 FP Cache Region
=>  DEPRECIATED, Use Linux slab allocator

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: DONE

4.2 Port EEE IPC message queue code to Linux kernel. Code in particular
is:
sm-eee/{eee-msgs..c,eee-ipc.[hc],eee-rq.[hc],eee-test.[hc],eee-init.c}

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 10 Days
    STATUS: DONE

4.3 Port EEE Packet Queue code and test programs to Linux kernel.
    sm-pkt/{pkt-queue-api.c, pkt-queue-api.h, pkt-queue-struct.h,
pkt-utils.c, pkt-queue-test.c} There are some design issues remaining
in several areas, including memory waiting, connection queue'ing in
certain cases, various copy and flattenming procedures which use
eee_desc and pkt_desc which need examination.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 10 Days
    STATUS: Ported pkt-queue-api.c, pkt-queue-api.h, pkt-queue-struct.h
to Linux and maintain queue format's with pkt_desc embedded in skb's.
    STATUS: DONE

4.4 Create new RCON PacketQueue unit test code since current code has
EEE(OS) dependencies.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 10 Days
    STATUS: NOT_STARTED

4.5 Extend Linux skb's to contain pkt_desc's.
     To avoid a wholesale rewrite of the pkt-queue
     code, which is a huge task, the pkt_desc has been embedded
     inside the skb and conversion procedures written to initialize
     it when needed. This avoids copying the data in favor of updating
     the various buffer pointers, lengths, flags, etc.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: DONE

4.6 Linux kernel Slab/Zone/Page changes for SKB Allocation

    This task includes modifying kernel slab allocator to obtain memory
    from the shared memory region when so designated by state flags.
    The changes will co-exist with standard Linux kernel memory
allocation policies but use shared memory areas for IPC Queue's and
skb's. The changes include adding add new status flags, creating a new
ZONE_SHAREDMEM and changing the slab allocator to use the new zone and
special page region. These changes support the IPC and zero-copy
networking and file system operations between NCPU, ACPU and FP cores.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: 50% Complete, SHELVED DUE to TuxStor Linux direction
            Determined kernel changes to header files and code to
"insert" a new "zone", ZONE_SHAREDMEM, in the contig_page_data
structure. Identified slab allocator changes.


5.0 Integration Testing Control Packet forwarding between SSC and TxRx
Linux --------

5.1 Extend rcon shell "simple_test program to run non-fragmented
     packet traffic datagrams between SSC <-> TxRx (NCPU and ACPU).
     This tests EEE datagram packet forwarding from ACPU to/from SSC
     as well as SSC to/from either the NCPU and ACPU code.

    The test program was a rewrite of "simple_test" and an adaption of
the neteee-msgtest program written to exercise the EEE protocol code.
    This tests local_queueA operations done by the ACPU polling
    code and callout functions.
    SSC <-> TXRX(NCPU/ACPU) Linux forwarding of EEE non-fragmented
packets working.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 10 Days
    STATUS: DONE

5.2 Extend RCON shell 'simple_test' program running under on TxRx,
     so fragmented EEE packets can be send/received between SSC <->
TxRx. The test will verify large mesages requiring fragmentation of EEE
datagram packets are done corrrectly and can send to/from ACPU and can
receive to/from SSC and vice-versa.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: DONE

5.3 Integrate new Linux EEE forwarding code into GIT tree
     This supports sending/receiving EEE messages between SSC, ACPU,
NCPU and FP cores.

    The new Linux EEE packet forwarding code, copies the data between
edesc and skb's when communicating with the SSC.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 5Days
    STATUS: Done

5.4 Test direct IPC messaging between the SSC and FP using previous
     TxRx forwarding code described previously.
     The test program will modify the TXRX simple_test and
simple_fragment code under the FP RCON shell to test these other data
paths.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED


6.0 SSC/TuxRx Deamons, Virtual Server and Configuration DBMS Support
    ------------

6.1 The stock SSC deamons, of which there are 6 are
    to be retained HOWEVER the TXRX Linux side equivalents
    must be developed via modifications of the existing
    EEE code or some hybrid development scheme.
    The goal is to receive and handle all the
    various messages sent specific to TXRX.
    The six SSC daemons include:

    1) spm => Path discovery
    2) sdm => Device Discovery
    3) eva => Auto grow support
    4) scccc => GUI to CLI glue support
    5) vsd => cli to eee support/glue
    6) ipad => cli to txrx network
    7) vtmd => vsvn failure
    8) cluster-daemon => Cluster DBMS

    There are NOT 1-1 requirements on TXRX however
    the two immediate ones required are the Cluster DBMS
    and the Virtual server.

    These tasks cover obtaining two major services running on
    the SSC communicating to TuxRx via it's counter parts.
    The two services are Virtual Server supporting messages described
    in sm-ipm/ipm.h and the Cluster DBMS Configuration service.

6.1 Develop TuxRx user level daemon and netfilter functions to implement
    all Virtual Server messages to/from the SSC. The message types are
    contained in the header file sm-ipm/ipm.h.
    The daemon implements the virtual server functions via appropriate
    network IOCTL's and using a netlink socket to setup netfilter
functionalty.

    ASSIGNED PERSON: Rendell Fong
    STATUS: Started
    ESTIMATE: 10 Days

6.2 Develop SSC IPM test program communicating with TuxRx Virtual
Server daemon by sending/receiving IPM messages between SSC and TxRx
Linux.

    ASSIGNED PERSON: Rendell Fong
    STATUS: Started
    STATUS: Coded basic vsvr-msgtest.c program as starting SSC test
program. William Fisher, 4 Days.
    ESTIMATE: 10 Days

6.3 Develop SSC IPM test program communicating with TuxRx Virtual
Server daemon by sending/receiving IPM messages between SSC and TxRx
Linux.

    ASSIGNED PERSON: Rendell Fong
    STATUS: Started
    STATUS: Coded basic vsvr-msgtest.c program as starting SSC test
program. William Fisher, 4 Days.
    ESTIMATE: 10 Days

6.4 Test TuxRx code using working SSC Virtual Server. This covers
testing all Virtual Server messages and ensuring correct implementation
semantics.

    ASSIGNED PERSON: Rendell Fong
    STATUS: NOT_STARTED
    ESTIMATE: 10 Days

6.5 Virtual Server hooks into the sm-tpl and sm-pkt(requestQueue) code
    need to be designed and implemented.
    All TXRX <-> FP IPC
    messages contain and pass the Virtual Server ID (vsid) around.
    Under the BSD Protocol stack this was used to get the
    correct vstack instance setup.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: TBD
    STATUS: NOT_STARTED

6.6 Develop TuxRx user level daemon to receive/send configuration
messages sent by SSC running configuration DBMS. This user level daemon
will supports the communication between SSC and TuxRx for all
    configuration specific message types.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: TBD
    STATUS: NOT_STARTED

6.7 Develop SSC test program communicating with TuxRx Configuration
daemon by sending/receiving IPM messages. Fisher coded a basic
vs-mid-msgtest.c program as one SSC test program containing all the
message passed between the SSC and TXRX daemon.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED

6.8 Test TuxRx for Configuration Service using configuration DBMS on
SSC.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED


7.0 Compile/link ACPU NFS/CIFS/NETBIOS into Linux modules
    ------------

7.1 Port, compile and link into a Linux kernel module the
    ACPU NFS/CIFS/NETBIOS and supporting software under Linux.
    This module runs on a dedicated core under TxRx Linux.
    The code uses the basic ACPU polling functions running
    today and services the IPC queue's and the local_QueueA control
queue.

    This has turned out to be a very large job due to a number of
    reasons. They include code size, code condition on old GNU compiler
lackness, header file dependencies on the EEE world, the old Makefile
assumptions and general compilation problems encountered. The bulk of
the problems were in the NFS code.

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 12 Weeks
    STATUS: In-Progress

8.0 Get TuxRx software into Perforce and perform nightly builds
    ------------

    8.1 TXRX kernels are under GIT tree's

    8.2 nfx_tree is under Perforce branch

    ASSIGNED PERSON: Larry Sheen, Andy Sharp and William Fisher
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED

9.0 Integrate NFS/CIFS/NETBIOS into ACPU polling code with pkt
forwarding. ------------

    ASSIGNED PERSON: Andy Sharp and William Fisher
    ESTIMATE: 1 Week
    STATUS: NOT-Started

10.0 PROM changes to configure Cougar HW as 8-Way on booting
    ------------

    10.1 Add initialization of FP PCI specific devices FC, etc.

    10.2 SSC configured in Host node and TXRX and FP in device mode
        verify that this is ok, going forward.

    10.3 Remove mgmtbus PCI window from FP

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: NOT-Started


11.0 Identify Linux kernel PCI initialization changes for FP hardware
     ------------

    11.1 SSC configured in PCI Host node and TXRX and FP in PCI device
mode, verify this is ok, going forward.

    11.2 ispfc initialization

    11.3 Support for PROM upgrade from SSC, is this needed for the
product?

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 2 Days
    STATUS: NOT-Started

12.0 Linux kernel booting on 8-way MIPS Cougar
    ------------

    12.1 Co-existance of FC EEE device driver(FP) under Linux
    12.2 Support for CPU_PRIVATE support similar to EEE useage

    ASSIGNED PERSON: Andy Sharp
    ESTIMATE: 1 Week
    STATUS: NOT-Started


13.0 Linux core dumps and debugger support on 8-way MIPS Cougar
    ------------

    13.1 Extend core dump support to write to management volumes

         Adding Linux kernel support to get kernel core dumps
	 onto the management volume supported by the FP.

     13.2 Extend/adapt EEE exception handler and core shutdown to Linux

     13.3 Extend kgdb/gdb debugging support to 8-Way

          Take the curring working kgdb debugger and extend to:
	  Support the three scenario's for compatability with
	  existing debugging support under gdb under EEE.
	  These particular scenario's that exist today that
	  must be supported. These include:

	  a) Attaching gdb to a crashed kernel instance with the
unified TxRx/FP kernel b) Single step debugging using and instance
	     under gdb on another Linux system and
	     connecting via RCON AND the serial debug port
	     to the remote system.

	   c) Debugging via RCON from the SSC Linux system
	      to allow the existing embedded shells to be
	      work under the Linux exception handler.

	      ASSIGNED PERSON: Rendell Fong
	      ESTIMATE: 3 Weeks
	      STATUS: NOT_STARTED

14.0 Develop NFS/CIFS/NETBIOS Listener daemons on TuxStor Linux
    ------------

    Develop FP related CIFS, NFS and NetBIOS packet Listener code
    to send/receive data packets to/from FP and to/from TXRX.
    The creation of the NFS, CIFS and NETBIOS "Listener" daemons exist
    FP now will run under the Linux framework.

    ASSIGNED PERSON: William Fisher
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED


15.0 Convert CIFS/NFS/NETBIOS and FP code to Linux Networking
    ------------

    15.1 Convert CIFS/NFS/NETBIOS to use Linux socket operations.
         The TPL operations need conversion and the basic thread
         of control between Linux softIRQ and the NAS filer threads
         needs to be determined in detail.

    15.2 Code skb/pkt-desc handoff to pkt_queue mgr using Linux
         socket agent procedure framework.

    15.3 Polling/Select-like interrogation of active network connections

    15.4 Add TCP/IP socket support to FP code to initiate connections,
        terminate and interrogate connections. The EEE stack had a
couple of extensions to terminate ALL sockets associated with a mounted
	volume, parent-child relationships applied o network sockets
        This task designs and implements the Linux networking stack
changes to implement this.

	 ASSIGNED PERSON: William Fisher
	 ESTIMATE: 3 Weeks
	 STATUS: NOT_STARTED

16.0 Integration testing of data networking traffic between SSC and
TuxStor (NCPU/ACPU/FP) Linux ------------

     16.1 Develop, test and verify the NCPU/ACPU to FP messaging is
          working properly for both control and data packets.

     16.2 Verify FP properly release's pkt_desc/skb's and buffers
properly

         ASSIGNED PERSON: William Fisher
	 ESTIMATE: 2 Weeks
	 STATUS: NOT_STARTED


17.0 Integration testing Control and Data network traffic between SSC
and TuxStor (NCPU/ACPU/FP) Linux -------------------------------------

     17.1 Test and verify the SSC, TusTor (NCPU/ACPU/FP) messaging is
          working properly for both control and data packets.

	  ASSIGNED PERSON: William Fisher
	  ESTIMATE: 1 Week
	  STATUS: NOT_STARTED


18.0 Design/implement fs_threads and events to work with Linux threads
    ------------

    18.1 Event Manager is tightly coupled to fs thread wakeup and used
        by file system state machines

    18.2 FP cores polling loops run under Linux fs_threads API
utilizing the registered polling function table scheme.

	  ASSIGNED PERSON: Maxim Kozlovsky
	  ESTIMATE: 2 Weeks
	  STATUS: NOT_STARTED

19.0 Compile/Link FP filesystem code under Linux using EEE supported
API's ------------

    19.1 Assumes major EEE support API's ported and running under txrx
Linux including memory allocation, registering polling functions and
network driver hooks, pkt forwarding and EEE_Timers.

    19.2 Enumerate all file system modules and estimate conversion time.

    19.3 Examine file_lib with respect to fs_threads under Linux, MIGHT
BE NO_OP

    19.4 eee_timers specifics for FP centering on running where created

	  ASSIGNED PERSON: Maxim Kozlovsky and two FS Developers
	  ESTIMATE: 3 Weeks
	  STATUS: NOT_STARTED


20.0 Integrate NETBIOS/CIFS/NFS, filesystem modules and networking
under Linux -------------------------------------

    This milestone covers integrating the NETBIOS/NFS/CIFS and FP
filesystem code under Linux into a bootable kernel with the SSC,
TuxStor, and networking code.

    ASSIGNED PERSON: Andy Sharp, Rendell Fong,
                      Maxim Kozlovsky, William Fisher
    ESTIMATE: 2 Weeks
    STATUS: NOT_STARTED

21.0 nfsperftest NETBIOS/CIFS/NFS and storage backend WITHOUT
NETWORKING Unit Testing -------------------------------------

    This milestone covers performing the NETBIOS/NFS/CIFS and FP
filesystem code unit testing under Linux.

    21.1 Test and debug the NFS basic functions using
         nfsperftest under RCON test control.  This verifies the basic
	 port is correct with respect to control and data messages as
parsed by the NFS code WITHOUT using a live network.

    21.2 Test and debug the NFS initial functions
         for volume mounting, configuration information, etc.
	 This involves the control and data steps pertaining to volume
	 mounting, permission checking, and actual NFS control and data
traffic.

    21.3 Test CIFS using a larger integrated test set

    ASSIGNED PERSON: Andy Sharp, Rendell Fong, Maxim Kozlovsky, William
Fisher ESTIMATE: 3 Weeks
    STATUS: NOT_STARTED


22.0 Integrate/Test NETBIOS/CIFS/NFS, File system and storage backend
WITH NETWORKING ------------

     22.1 Test and debug the NETBIOS initial functions
          for volume mounting, configuration information, etc.
	  This requires the basic NETBIOS ARP-like code obtains network
	  traffic and generates the proper responses to clients.
	  Other steps require the initial control and data steps to
	  mount a identify CIFS's volume, including permission
checking, etc.

     22.2 Test and debug the CIFS initial functions
	  for volume mounting, configuration information, etc.
	  This requires a working NETBIOS layer and moves onto
	  the control and data steps pertaining to volume mounting,
	  permission checking, and actual CIFS control and data traffic.

     22.3 Test NFS using a larger integrated test set

         ASSIGNED PERSON: Maxim Kozlovsky, William Fisher and Andy
Sharp, Rendell Fong ESTIMATE: 3 Weeks
	 STATUS: NOT_STARTED


23.0 RMC Protocol based test automation, unit/system testing of entire
Linux system ------------

     This task covers the RMC protocol based tests which perform both
unit and system level testing by sending RMC messages directly into the
kernel. This covers any Linux conversion and the actual running of the
tests

     ASSIGNED PERSON: Jan Seidel
     ESTIMATE: 2 Weeks
     STATUS: NOT_STARTED

24.0 Test DMIP using a fully integrated set of software.
     ------------

    ASSIGNED PERSON: QA Tester1
    ESTIMATE: 1 Week
    STATUS: NOT_STARTED

