summaryrefslogtreecommitdiffstats
path: root/docs/overview/whatisvpp/dataplane.rst
blob: daf2124158dcb5e0c445e0c51004912564caffb4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
.. _packet-processing:

===================
Packet Processing
===================

This section identifies different components of packet processing and describes their benefits:

* Layer 2 - 4 Network Stack

  * Fast lookup tables for routes, bridge entries
  * Arbitrary n-tuple classifiers 
  * Control Plane, Traffic Management and Overlays
 
* `Linux <https://en.wikipedia.org/wiki/Linux>`_ and `FreeBSD <https://en.wikipedia.org/wiki/FreeBSD>`_ support

  * Wide support for standard Operating System Interfaces such as AF_Packet, Tun/Tap & Netmap.

* Wide network and cryptographic hardware support with `DPDK <https://www.dpdk.org/>`_.
* Container and Virtualization support

  * Para-virtualized interfaces; Vhost and Virtio
  * Network Adapters over PCI passthrough
  * Native container interfaces; MemIF
  
* Universal Data Plane: one code base, for many use cases
 
  * Discrete appliances; such as `Routers <https://en.wikipedia.org/wiki/Router_(computing)>`_ and `Switches <https://en.wikipedia.org/wiki/Network_switch>`_.
  * `Cloud Infrastructure and Virtual Network Functions <https://en.wikipedia.org/wiki/Network_function_virtualization>`_
  * `Cloud Native Infrastructure <https://www.cncf.io/>`_
  * The same binary package for all use cases. 

* Out of the box production quality, with thanks to `CSIT <https://wiki.fd.io/view/CSIT#Start_Here>`_. 

For more information, please see :ref:`features` for the complete list.