This is an old revision of the document!
Current High Level Architecture Overview
Power point file is Here
Google doc file is Here
DPACC High Level Requirements:
[Note] This is only a place holder for requirement documentation.
Current drafting and discussion is done here:
The DPACC design must be as high a performing design as possible
The DPACC design must proved portability for the applications
The DPACC design must be scalability in performance and design
All code within the DPACC design must be open sourced with a BSD or MIT like license
The DPACC design must not contain or require proprietary code
The code can not be in binary form and must be in source code form
The only excepted binary form allowed would be firmware that is loaded in the device
The DPACC can not use non-upstreamed kernel modules or modifications
The DPACC design can not allow the host kernel to crash by adding a module or kernel modification
g-API: High Level Requirements
The
API is for the application portability
The applications should not be required to modify the application to follow this
API
One example is the current install base of DPDK applications needs to be maintained without require re-writes.
Written in a portable language
'C' is the most common
Allow for the best performance of the underlying s-
API or Acceleration Core.
Which means to me a very thin layer on top of the s-
API to not effect native Acceleration Core performance
-
Do we want Doygen with inline code comments for documenting the
API?
All code must be open source using a BSD or MIT like license
legacy-API: High Level Requirements
Must follow the standard legacy APIs as close as possible
API is for legacy applications portability
Written in a port language like C
Support a reasonable set of
API types sockets, libcrypto, …
API must be documented if any differences from the native
API
All code must be open source using a BSD or MIT like license
SIO: High Level Requirement
Need to determine if we need any requirements here