docs: devices-- add FEATURES.yaml 70/23070/2
authorPaul Vinciguerra <pvinci@vinciconsulting.com>
Tue, 29 Oct 2019 20:11:09 +0000 (16:11 -0400)
committerOle Trøan <otroan@employees.org>
Wed, 30 Oct 2019 09:08:11 +0000 (09:08 +0000)
Type: docs

Change-Id: I039ba9ad5385452b202366fba0b367506a21ea4f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
16 files changed:
MAINTAINERS
src/vnet/devices/af_packet/FEATURE.yaml [new file with mode: 0644]
src/vnet/devices/af_packet/af_packet.api
src/vnet/devices/netmap/FEATURE.yaml [new file with mode: 0644]
src/vnet/devices/pipe/FEATURE.yaml [new file with mode: 0644]
src/vnet/devices/pipe/pipe.api
src/vnet/devices/pipe/pipe.c
src/vnet/devices/tap/FEATURE.yaml [new file with mode: 0644]
src/vnet/devices/tap/tap.c
src/vnet/devices/tap/tapv2.api
src/vnet/devices/virtio/FEATURE.yaml [new file with mode: 0644]
src/vnet/devices/virtio/vhost_user.h
src/vnet/devices/virtio/vhost_user_input.c
src/vnet/devices/virtio/vhost_user_output.c
src/vnet/devices/virtio/virtio.api
src/vnet/devices/virtio/virtio.h

index deb1512..4e03a91 100644 (file)
@@ -80,20 +80,25 @@ F:  src/vnet/classify
 
 VNET Device Drivers
 I:     devices
+Y:     src/vnet/devices/af_packet/FEATURE.yaml
+Y:     src/vnet/devices/netmap/FEATURE.yaml
+Y:     src/vnet/devices/pipe/FEATURE.yaml
 M:     Damjan Marion <damarion@cisco.com>
 F:     src/vnet/devices/
 
 VNET TAP Drivers
 I:     tap
+Y:     src/vnet/devices/tap/FEATURE.yaml
 M:     Damjan Marion <damarion@cisco.com>
 M:     Steven Luong <sluong@cisco.com>
 M:     Mohsin Kazmi <sykazmi@cisco.com>
 F:     src/vnet/devices/tap/
 
 VNET Native Virtio Drivers
-I:      virtio
-M:      Mohsin Kazmi <sykazmi@cisco.com>
-F:      src/vnet/devices/virtio/
+I:  virtio
+Y:     src/vnet/devices/virtio/FEATURE.yaml
+M:  Mohsin Kazmi <sykazmi@cisco.com>
+F:  src/vnet/devices/virtio/
 
 VNET Etherent
 I:     ethernet
diff --git a/src/vnet/devices/af_packet/FEATURE.yaml b/src/vnet/devices/af_packet/FEATURE.yaml
new file mode 100644 (file)
index 0000000..0063014
--- /dev/null
@@ -0,0 +1,9 @@
+name: host-interface Device (AF_PACKET)
+maintainer: Damjan Marion <damarion@cisco.com>
+features:
+  - L4 checksum offload
+description: "Create a host interface that will attach to a linux AF_PACKET interface, one side of a veth pair. The veth pair must already exist. Once created, a new host interface will exist in VPP with the name 'host-<ifname>', where '<ifname>' is the name of the specified veth pair. Use the 'show interface' command to display host interface details."
+missing:
+ - API dump details beyond sw_if_index and name
+state: production
+properties: [API, CLI, STATS, MULTITHREAD]
index a7a25e4..035096e 100644 (file)
@@ -59,7 +59,7 @@ autoreply define af_packet_delete
   string host_if_name[64];
 };
 
-/** \brief Set l4 offload ckecksum calculation
+/** \brief Set l4 offload checksum calculation
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
 */
diff --git a/src/vnet/devices/netmap/FEATURE.yaml b/src/vnet/devices/netmap/FEATURE.yaml
new file mode 100644 (file)
index 0000000..dfc32bb
--- /dev/null
@@ -0,0 +1,9 @@
+name: Netmap Device
+maintainer: Damjan Marion <damarion@cisco.com>
+features:
+  - L4 checksum offload
+description: "Create a netmap interface, which is a high speed user-space interface that allows VPP to patch into a linux namespace, a linux container, or a physical NIC without the use of DPDK."
+missing:
+ - API dump
+state: production
+properties: [API, CLI, STATS, MULTITHREAD]
diff --git a/src/vnet/devices/pipe/FEATURE.yaml b/src/vnet/devices/pipe/FEATURE.yaml
new file mode 100644 (file)
index 0000000..0886ec5
--- /dev/null
@@ -0,0 +1,11 @@
+name: Pipe Device
+maintainer: Damjan Marion <damarion@cisco.com>
+features:
+  - L4 checksum offload
+description: "Create a pipe device interface, which can pass packets bidirectionally in one side of the pipe to the other side of the pipe. While similar in behavior to a unix pipe, it is not a host-based pipe."
+missing:
+  - does not use hw-address
+  - does not support tagged traffic
+  - API dump filtering by sw_if_index
+state: production
+properties: [API, CLI, STATS, MULTITHREAD]
index 2dc72a6..457bc74 100644 (file)
@@ -23,7 +23,7 @@ option version = "1.0.1";
 
 import "vnet/interface_types.api";
 
-/** \brief Initialize a new pipe interface with the given paramters
+/** \brief Initialize a new pipe interface with the given parameters
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param is_specified - if non-0, a specific user_instance is being requested
@@ -55,7 +55,7 @@ define pipe_create_reply
 /** \brief Delete pipe interface
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
-    @param sw_if_index - interface index of existing pipe interface
+    @param sw_if_index - interface index of existing parent pipe interface
 */
 autoreply define pipe_delete
 {
index 89932a7..384c2c5 100644 (file)
@@ -21,7 +21,7 @@
  * @file
  * @brief Pipe Interfaces.
  *
- * A pipe interface, like the UNIX pipe, is a pair of interfaces
+ * A pipe interface, like the UNIX pipe, is a pair of vpp interfaces
  * that are joined.
  */
 const static pipe_t PIPE_INVALID = {
@@ -30,7 +30,7 @@ const static pipe_t PIPE_INVALID = {
 };
 
 /**
- * Various 'module' lavel variables
+ * Various 'module' level variables
  */
 typedef struct pipe_main_t_
 {
@@ -40,7 +40,7 @@ typedef struct pipe_main_t_
   uword *instances;
 
   /**
-   * the per-swif-index array of pipes. Each end of the pipe is stored againt
+   * the per-swif-index array of pipes. Each end of the pipe is stored against
    * its respective sw_if_index
    */
   pipe_t *pipes;
@@ -51,7 +51,7 @@ static pipe_main_t pipe_main;
 /*
  * The pipe rewrite is the same size as an ethernet header (since it
  * is an ethernet interface and the DP is optimised for writing
- * sizeof(ethernet_header_t) rewrites. Hwoever, there are no MAC addresses
+ * sizeof(ethernet_header_t) rewrites. However, there are no MAC addresses
  * since pipes don't have them.
  */
 static u8 *
diff --git a/src/vnet/devices/tap/FEATURE.yaml b/src/vnet/devices/tap/FEATURE.yaml
new file mode 100644 (file)
index 0000000..2ca6057
--- /dev/null
@@ -0,0 +1,10 @@
+name: Tap Device
+maintainer: damarion@cisco.com sluong@cisco.com sykazmi@cisco.com
+features:
+  - Virtio
+description: "Create a tap v2 device interface, which connects to a tap interface on the host system."
+missing:
+
+  - API dump filtering by sw_if_index
+state: production
+properties: [API, CLI, STATS, MULTITHREAD]
index f2903a9..bc790ad 100644 (file)
@@ -198,7 +198,7 @@ tap_create_if (vlib_main_t * vm, tap_create_if_args_t * args)
   _IOCTL (vif->tap_fd, TUNSETVNETHDRSZ, &hdrsz);
   _IOCTL (vif->fd, VHOST_SET_OWNER, 0);
 
-  /* if namespace is specified, all further netlink messages should be excuted
+  /* if namespace is specified, all further netlink messages should be executed
      after we change our net namespace */
   if (args->host_namespace)
     {
index 2d4d5c3..dee7304 100644 (file)
 
 option version = "2.1.0";
 
-/** \brief Initialize a new tap interface with the given paramters
+/** \brief Initialize a new tap interface with the given parameters
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param id - interface id, 0xffffffff means auto
     @param use_random_mac - let the system generate a unique mac address
-    @param mac_address - mac addr to assign to the interface if use_radom not set
+    @param mac_address - mac addr to assign to the interface if use_random not set
     @param tx_ring_sz - the number of entries of TX ring
     @param rx_ring_sz - the number of entries of RX ring
     @param host_mac_addr_set - host side interface mac address should be set
     @param host_mac_addr - host side interface mac address
     @param host_if_name_set - host side interface name should be set
     @param host_if_name - host side interface name
-    @param host_namespace_set - host namespece should be set
+    @param host_namespace_set - host namespace should be set
     @param host_namespace - host namespace to attach interface to
     @param host_bridge_set - host bridge should be set
     @param host_bridge - host bridge to attach interface to
diff --git a/src/vnet/devices/virtio/FEATURE.yaml b/src/vnet/devices/virtio/FEATURE.yaml
new file mode 100644 (file)
index 0000000..69f4739
--- /dev/null
@@ -0,0 +1,9 @@
+name: Virtio PCI Device
+maintainer: Mohsin Kazmi <sykazmi@cisco.com>
+features:
+  - connection to the emulated pci interface presented to vpp from the host interface.
+description: "Create a virtio-backed PCI device interface"
+missing:
+  - API dump filtering by sw_if_index
+state: production
+properties: [API, CLI, STATS, MULTITHREAD]
index 90669a7..f14f26a 100644 (file)
@@ -36,7 +36,7 @@
 #define VHOST_USER_PROTOCOL_FEATURES   ((1ULL << VHOST_USER_PROTOCOL_F_MQ) |   \
                                        (1ULL << VHOST_USER_PROTOCOL_F_LOG_SHMFD))
 
-/* If multiqueue is provided by host, then we suppport it. */
+/* If multiqueue is provided by host, then we support it. */
 #define VIRTIO_NET_CTRL_MQ   4
 #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET        0
 #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN        1
index ef35d23..11d4581 100644 (file)
@@ -426,7 +426,7 @@ vhost_user_if_input (vlib_main_t * vm,
 
   /*
    * For small packets (<2kB), we will not need more than one vlib buffer
-   * per packet. In case packets are bigger, we will just yeld at some point
+   * per packet. In case packets are bigger, we will just yield at some point
    * in the loop and come back later. This is not an issue as for big packet,
    * processing cost really comes from the memory copy.
    * The assumption is that big packets will fit in 40 buffers.
index 9b9f763..5bd60d4 100644 (file)
@@ -571,7 +571,7 @@ done:
    * retry.
    * The idea is that it is better to waste some time on packets
    * that have been processed already than dropping them and get
-   * more fresh packets with a good likelyhood that they will be dropped too.
+   * more fresh packets with a good likelihood that they will be dropped too.
    * This technique also gives more time to VM driver to pick-up packets.
    * In case the traffic flows from physical to virtual interfaces, this
    * technique will end-up leveraging the physical NIC buffer in order to
index 9e81b35..f2a3a41 100644 (file)
 
 option version = "1.0.0";
 
-/** \brief Initialize a new virtio pci interface with the given paramters
+/** \brief Initialize a new virtio pci interface with the given parameters
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param pci_addr - pci address as unsigned 32bit integer:
                       0-15 domain, 16-23 bus, 24-28 slot, 29-31 function
     @param use_random_mac - let the system generate a unique mac address
-    @param mac_address - mac addr to assign to the interface if use_radom not set
+    @param mac_address - mac addr to assign to the interface if use_random not set
     @param gso_enabled - enable gso feature if available, 1 to enable
     @param features - the virtio features which driver should negotiate with device
 */
index 070d0a4..dcbf865 100644 (file)
@@ -49,7 +49,7 @@
   _ (VIRTIO_NET_F_CTRL_MAC_ADDR, 23)   /* Set MAC address */ \
   _ (VIRTIO_F_NOTIFY_ON_EMPTY, 24) \
   _ (VHOST_F_LOG_ALL, 26)      /* Log all write descriptors */ \
-  _ (VIRTIO_F_ANY_LAYOUT, 27)  /* Can the device handle any descripor layout */ \
+  _ (VIRTIO_F_ANY_LAYOUT, 27)  /* Can the device handle any descriptor layout */ \
   _ (VIRTIO_RING_F_INDIRECT_DESC, 28)   /* Support indirect buffer descriptors */ \
   _ (VIRTIO_RING_F_EVENT_IDX, 29)       /* The Guest publishes the used index for which it expects an interrupt \
  * at the end of the avail ring. Host should ignore the avail->flags field. */ \