Plans for the Future
Conformance
The only functionality left to be implemented for Functional
and Full Conformance is peer-to-peer connection management.
Core Functionality
The major items we are planning for M-VIA 2.0 are:
- Better native VIA hardware support.  (The major feature of 2.0)
 - Support for M-VIA on the Alpha processor.
 - Reliable delivery.
 - Thread safe VIPL.
 - M-VIA VIPL kernel bindings.
 
Additional Drivers
Support for the following devices is planned.
Applications
- MPI over VIA.
 - Port Intel VIA Performance Suite to Linux.
 - Port Intel VI Architecture Example Application Code to Linux.
 
General TODOs
The following is the list of known ToDo items.  These will incorporated into
minor releases.
High Priority
- Add more robust flow-control (in progress).
 - Add additional device support per users request.
 - Clean up prototype Ethernet Ring code (in progress).
 - Complete implementation documentation.
 
Medium Priority
- Write permanent connection management routines. 
(The routines have been rewritten, but are a prototype implementation.)
 - Reorganize 
vipk_ops.c.
 - Divide 
vipk.h into more logical components.
 - Add Pentium profiling support and profile code.
 - Perform optimization of critical paths.
 - Conditionally compile paranoid checking required by the conformance
suite.
 - Add additional hooks to better support native VIA hardware.
 - Summarize specification problems and questions identified by SPEC tags
in the source code.
 - Use debugging malloc/free code to check for memory leaks.
 
Low Priority
- Improve name service routines.
 - Add additional run time checks to internal kernel functions.
 - Add command line module switches to configure run-time behavior of modules.
 - Rename the Vipk*Cq functions to Vipk*CQ for consistency.
 - Move VIP_NET_ADDRESS from NIC structure as it is now only used during 
the VipQueryNic call.  
 - Reorganize 
vipl_private.h into separate modules.
 - Group VIPL routines into grouped source files rather than one file
per function.
 - Allocate an unused entry from a fixed-size table of N entries using an
O(1) algorithm rather than O(N).  This affects M-VIA in many places.
 
BUGS
This is a partial list of known bugs which are not known to be fixed
(thought they might have been fixed incidentally as
the result of other changes).
- There is/was a bug where a SendWait() which failed to catch the
completion in the spin wait phase would not properly wake up from
the sleep when the send completed.  If the timeout was not VIP_INFINITE
then when the sleep timed-out the completion would finally be detected.
Somehow this bug mysteriously disappeared when unrelated changes were
made.  Thus this bug might be fixed or might just currently be hidden.
 - Passing invalid CQ handles to some functions might result in a
kernel panic.
 - The eepro100 driver keeps TX statistics (packets and bytes sent)
for normal IP traffic, but not for M-VIA traffic.
 - The yellowfin driver fails to keep TX byte counts for both IP
and M-VIA traffic.
 - There might still be memory leaks.
 
M-VIA 1.0. Fri, 17 Sep 1999 09:13:43 -0700.
Copyright (C) 1998,1999 Berkeley Lab.