From 97c998c2813d7cea4a067a0b8ff246cad4924bf3 Mon Sep 17 00:00:00 2001 From: Paul Vinciguerra Date: Tue, 29 Oct 2019 16:11:09 -0400 Subject: [PATCH] docs: devices-- add FEATURES.yaml Type: docs Change-Id: I039ba9ad5385452b202366fba0b367506a21ea4f Signed-off-by: Paul Vinciguerra --- MAINTAINERS | 11 ++++++++--- src/vnet/devices/af_packet/FEATURE.yaml | 9 +++++++++ src/vnet/devices/af_packet/af_packet.api | 2 +- src/vnet/devices/netmap/FEATURE.yaml | 9 +++++++++ src/vnet/devices/pipe/FEATURE.yaml | 11 +++++++++++ src/vnet/devices/pipe/pipe.api | 4 ++-- src/vnet/devices/pipe/pipe.c | 8 ++++---- src/vnet/devices/tap/FEATURE.yaml | 10 ++++++++++ src/vnet/devices/tap/tap.c | 2 +- src/vnet/devices/tap/tapv2.api | 6 +++--- src/vnet/devices/virtio/FEATURE.yaml | 9 +++++++++ src/vnet/devices/virtio/vhost_user.h | 2 +- src/vnet/devices/virtio/vhost_user_input.c | 2 +- src/vnet/devices/virtio/vhost_user_output.c | 2 +- src/vnet/devices/virtio/virtio.api | 4 ++-- src/vnet/devices/virtio/virtio.h | 2 +- 16 files changed, 73 insertions(+), 20 deletions(-) create mode 100644 src/vnet/devices/af_packet/FEATURE.yaml create mode 100644 src/vnet/devices/netmap/FEATURE.yaml create mode 100644 src/vnet/devices/pipe/FEATURE.yaml create mode 100644 src/vnet/devices/tap/FEATURE.yaml create mode 100644 src/vnet/devices/virtio/FEATURE.yaml diff --git a/MAINTAINERS b/MAINTAINERS index deb15129046..4e03a915b56 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -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 F: src/vnet/devices/ VNET TAP Drivers I: tap +Y: src/vnet/devices/tap/FEATURE.yaml M: Damjan Marion M: Steven Luong M: Mohsin Kazmi F: src/vnet/devices/tap/ VNET Native Virtio Drivers -I: virtio -M: Mohsin Kazmi -F: src/vnet/devices/virtio/ +I: virtio +Y: src/vnet/devices/virtio/FEATURE.yaml +M: Mohsin Kazmi +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 index 00000000000..00630140910 --- /dev/null +++ b/src/vnet/devices/af_packet/FEATURE.yaml @@ -0,0 +1,9 @@ +name: host-interface Device (AF_PACKET) +maintainer: Damjan Marion +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-', where '' 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] diff --git a/src/vnet/devices/af_packet/af_packet.api b/src/vnet/devices/af_packet/af_packet.api index a7a25e4249e..035096e17a8 100644 --- a/src/vnet/devices/af_packet/af_packet.api +++ b/src/vnet/devices/af_packet/af_packet.api @@ -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 index 00000000000..dfc32bb0c68 --- /dev/null +++ b/src/vnet/devices/netmap/FEATURE.yaml @@ -0,0 +1,9 @@ +name: Netmap Device +maintainer: Damjan Marion +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 index 00000000000..0886ec5d896 --- /dev/null +++ b/src/vnet/devices/pipe/FEATURE.yaml @@ -0,0 +1,11 @@ +name: Pipe Device +maintainer: Damjan Marion +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] diff --git a/src/vnet/devices/pipe/pipe.api b/src/vnet/devices/pipe/pipe.api index 2dc72a6ab66..457bc74075a 100644 --- a/src/vnet/devices/pipe/pipe.api +++ b/src/vnet/devices/pipe/pipe.api @@ -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 { diff --git a/src/vnet/devices/pipe/pipe.c b/src/vnet/devices/pipe/pipe.c index 89932a77668..384c2c514fb 100644 --- a/src/vnet/devices/pipe/pipe.c +++ b/src/vnet/devices/pipe/pipe.c @@ -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 index 00000000000..2ca6057b118 --- /dev/null +++ b/src/vnet/devices/tap/FEATURE.yaml @@ -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] diff --git a/src/vnet/devices/tap/tap.c b/src/vnet/devices/tap/tap.c index f2903a95adc..bc790adae75 100644 --- a/src/vnet/devices/tap/tap.c +++ b/src/vnet/devices/tap/tap.c @@ -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) { diff --git a/src/vnet/devices/tap/tapv2.api b/src/vnet/devices/tap/tapv2.api index 2d4d5c3497d..dee73043c0f 100644 --- a/src/vnet/devices/tap/tapv2.api +++ b/src/vnet/devices/tap/tapv2.api @@ -21,19 +21,19 @@ 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 index 00000000000..69f4739265b --- /dev/null +++ b/src/vnet/devices/virtio/FEATURE.yaml @@ -0,0 +1,9 @@ +name: Virtio PCI Device +maintainer: Mohsin Kazmi +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] diff --git a/src/vnet/devices/virtio/vhost_user.h b/src/vnet/devices/virtio/vhost_user.h index 90669a7dfbe..f14f26a71e4 100644 --- a/src/vnet/devices/virtio/vhost_user.h +++ b/src/vnet/devices/virtio/vhost_user.h @@ -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 diff --git a/src/vnet/devices/virtio/vhost_user_input.c b/src/vnet/devices/virtio/vhost_user_input.c index ef35d23a03c..11d45812e39 100644 --- a/src/vnet/devices/virtio/vhost_user_input.c +++ b/src/vnet/devices/virtio/vhost_user_input.c @@ -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. diff --git a/src/vnet/devices/virtio/vhost_user_output.c b/src/vnet/devices/virtio/vhost_user_output.c index 9b9f763b92f..5bd60d4e96e 100644 --- a/src/vnet/devices/virtio/vhost_user_output.c +++ b/src/vnet/devices/virtio/vhost_user_output.c @@ -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 diff --git a/src/vnet/devices/virtio/virtio.api b/src/vnet/devices/virtio/virtio.api index 9e81b35c175..f2a3a412126 100644 --- a/src/vnet/devices/virtio/virtio.api +++ b/src/vnet/devices/virtio/virtio.api @@ -15,13 +15,13 @@ 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 */ diff --git a/src/vnet/devices/virtio/virtio.h b/src/vnet/devices/virtio/virtio.h index 070d0a45262..dcbf865d706 100644 --- a/src/vnet/devices/virtio/virtio.h +++ b/src/vnet/devices/virtio/virtio.h @@ -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. */ \ -- 2.16.6