X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=docs%2Fdeveloper%2Fcorearchitecture%2Fsoftwarearchitecture.rst;fp=docs%2Fgettingstarted%2Fdevelopers%2Fsoftwarearchitecture.md;h=7f8a0e0464565c1ad99e6ea5fd0308e8f7dc4424;hb=9ad39c026c8a3c945a7003c4aa4f5cb1d4c80160;hp=a663134cd46943fc71ac15f1881203bb367978b3;hpb=f47122e07e1ecd0151902a3cabe46c60a99bee8e;p=vpp.git diff --git a/docs/gettingstarted/developers/softwarearchitecture.md b/docs/developer/corearchitecture/softwarearchitecture.rst similarity index 52% rename from docs/gettingstarted/developers/softwarearchitecture.md rename to docs/developer/corearchitecture/softwarearchitecture.rst index a663134cd46..7f8a0e04645 100644 --- a/docs/gettingstarted/developers/softwarearchitecture.md +++ b/docs/developer/corearchitecture/softwarearchitecture.rst @@ -21,24 +21,27 @@ identical forwarding graph replicas. VPP Layers - Implementation Taxonomy ------------------------------------ -![image](/_images/VPP_Layering.png) - -- VPP Infra - the VPP infrastructure layer, which contains the core - library source code. This layer performs memory functions, works - with vectors and rings, performs key lookups in hash tables, and - works with timers for dispatching graph nodes. -- VLIB - the vector processing library. The vlib layer also handles - various application management functions: buffer, memory and graph - node management, maintaining and exporting counters, thread - management, packet tracing. Vlib implements the debug CLI (command - line interface). -- VNET - works with VPP\'s networking interface (layers 2, 3, and 4) - performs session and traffic management, and works with devices and - the data control plane. -- Plugins - Contains an increasingly rich set of data-plane plugins, - as noted in the above diagram. -- VPP - the container application linked against all of the above. - -It's important to understand each of these layers in a certain amount of +.. figure:: /_images/VPP_Layering.png + :alt: image + + image + +- VPP Infra - the VPP infrastructure layer, which contains the core + library source code. This layer performs memory functions, works with + vectors and rings, performs key lookups in hash tables, and works + with timers for dispatching graph nodes. +- VLIB - the vector processing library. The vlib layer also handles + various application management functions: buffer, memory and graph + node management, maintaining and exporting counters, thread + management, packet tracing. Vlib implements the debug CLI (command + line interface). +- VNET - works with VPP's networking interface (layers 2, 3, and 4) + performs session and traffic management, and works with devices and + the data control plane. +- Plugins - Contains an increasingly rich set of data-plane plugins, as + noted in the above diagram. +- VPP - the container application linked against all of the above. + +It’s important to understand each of these layers in a certain amount of detail. Much of the implementation is best dealt with at the API level and otherwise left alone.