Trivial: Clean up some typos.
Change-Id: I085615fde1f966490f30ed5d32017b8b088cfd59 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
committed by
Damjan Marion
parent
6a4375e02d
commit
bdc0e6b720
@@ -184,7 +184,7 @@ abf_itf_attach (fib_protocol_t fproto,
|
||||
return (VNET_API_ERROR_ENTRY_ALREADY_EXISTS);
|
||||
|
||||
/*
|
||||
* construt a new attachemnt object
|
||||
* construct a new attachment object
|
||||
*/
|
||||
pool_get (abf_itf_attach_pool, aia);
|
||||
|
||||
@@ -210,7 +210,7 @@ abf_itf_attach (fib_protocol_t fproto,
|
||||
if (1 == vec_len (abf_per_itf[fproto][sw_if_index]))
|
||||
{
|
||||
/*
|
||||
* when enabling the first ABF polciy on the interface
|
||||
* when enabling the first ABF policy on the interface
|
||||
* we need to enable the interface input feature
|
||||
*/
|
||||
vnet_feature_enable_disable ((FIB_PROTOCOL_IP4 == fproto ?
|
||||
@@ -236,7 +236,7 @@ abf_itf_attach (fib_protocol_t fproto,
|
||||
abf_setup_acl_lc (fproto, sw_if_index);
|
||||
|
||||
/*
|
||||
* become a child of the ABF poilcy so we are notified when
|
||||
* become a child of the ABF policy so we are notified when
|
||||
* its forwarding changes.
|
||||
*/
|
||||
aia->aia_sibling = fib_node_child_add (abf_policy_fib_node_type,
|
||||
@@ -253,7 +253,7 @@ abf_itf_detach (fib_protocol_t fproto, u32 policy_id, u32 sw_if_index)
|
||||
u32 index;
|
||||
|
||||
/*
|
||||
* check this is a valid attahment
|
||||
* check this is a valid attachment
|
||||
*/
|
||||
aia = abf_itf_attach_db_find (policy_id, sw_if_index);
|
||||
|
||||
@@ -261,7 +261,7 @@ abf_itf_detach (fib_protocol_t fproto, u32 policy_id, u32 sw_if_index)
|
||||
return (VNET_API_ERROR_ENTRY_ALREADY_EXISTS);
|
||||
|
||||
/*
|
||||
* first remove from the interface's vecotr
|
||||
* first remove from the interface's vector
|
||||
*/
|
||||
ASSERT (abf_per_itf[fproto]);
|
||||
ASSERT (abf_per_itf[fproto][sw_if_index]);
|
||||
@@ -275,7 +275,7 @@ abf_itf_detach (fib_protocol_t fproto, u32 policy_id, u32 sw_if_index)
|
||||
if (0 == vec_len (abf_per_itf[fproto][sw_if_index]))
|
||||
{
|
||||
/*
|
||||
* when deleting the last ABF polciy on the interface
|
||||
* when deleting the last ABF policy on the interface
|
||||
* we need to disable the interface input feature
|
||||
*/
|
||||
vnet_feature_enable_disable ((FIB_PROTOCOL_IP4 == fproto ?
|
||||
@@ -307,7 +307,7 @@ abf_itf_detach (fib_protocol_t fproto, u32 policy_id, u32 sw_if_index)
|
||||
aia->aia_abf, aia->aia_sibling);
|
||||
|
||||
/*
|
||||
* remove the attahcment from the DB
|
||||
* remove the attachment from the DB
|
||||
*/
|
||||
abf_itf_attach_db_del (policy_id, sw_if_index);
|
||||
|
||||
@@ -331,7 +331,7 @@ format_abf_intf_attach (u8 * s, va_list * args)
|
||||
abf_policy_t *ap;
|
||||
|
||||
ap = abf_policy_get (aia->aia_abf);
|
||||
s = format (s, "abf-interface-attach: policy:%d prioity:%d",
|
||||
s = format (s, "abf-interface-attach: policy:%d priority:%d",
|
||||
ap->ap_id, aia->aia_prio);
|
||||
s = format (s, "\n %U", format_dpo_id, &aia->aia_dpo, 2);
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ abf_policy_update (u32 policy_id,
|
||||
{
|
||||
/*
|
||||
* update an existing policy.
|
||||
* - add the path to the path-list and swap our ancestory
|
||||
* - add the path to the path-list and swap our ancestry
|
||||
* - backwalk to poke all attachments to update
|
||||
*/
|
||||
fib_node_index_t old_pl;
|
||||
@@ -190,7 +190,7 @@ abf_policy_delete (u32 policy_id, const fib_route_path_t * rpaths)
|
||||
{
|
||||
/*
|
||||
* update an existing policy.
|
||||
* - add the path to the path-list and swap our ancestory
|
||||
* - add the path to the path-list and swap our ancestry
|
||||
* - backwalk to poke all attachments to update
|
||||
*/
|
||||
fib_node_index_t old_pl;
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
#define ABF_PLUGIN_VERSION_MINOR 0
|
||||
|
||||
/**
|
||||
* An ACL based Forwading 'policy'.
|
||||
* An ACL based Forwarding 'policy'.
|
||||
* This comprises the ACL index to match against and the forwarding
|
||||
* path to take if the match is successfull.
|
||||
* path to take if the match is successful.
|
||||
*
|
||||
* ABF policies are then 'attached' to interfaces. An input feature
|
||||
* will run through the list of policies a match will divert the packet,
|
||||
|
||||
@@ -472,7 +472,7 @@ acl_del_list (u32 acl_list_index)
|
||||
return VNET_API_ERROR_ACL_IN_USE_INBOUND;
|
||||
if (acl_is_used_by (acl_list_index, am->output_sw_if_index_vec_by_acl))
|
||||
return VNET_API_ERROR_ACL_IN_USE_OUTBOUND;
|
||||
/* lookup contexts cover other cases, not just inbound/oubound, so check that */
|
||||
/* lookup contexts cover other cases, not just inbound/outbound, so check that */
|
||||
if (acl_is_used_by (acl_list_index, am->lc_index_vec_by_acl))
|
||||
return VNET_API_ERROR_ACL_IN_USE_BY_LOOKUP_CONTEXT;
|
||||
|
||||
@@ -2239,7 +2239,7 @@ macip_acl_add_list (u32 count, vl_api_macip_acl_rule_t rules[],
|
||||
a->count = count;
|
||||
memcpy (a->tag, tag, sizeof (a->tag));
|
||||
|
||||
/* Create and populate the classifer tables */
|
||||
/* Create and populate the classifier tables */
|
||||
macip_create_classify_tables (am, *acl_list_index);
|
||||
clib_mem_set_heap (oldheap);
|
||||
/* If the ACL was already applied somewhere, reapply the newly created tables */
|
||||
|
||||
@@ -241,7 +241,7 @@ typedef struct {
|
||||
int fa_sessions_hash_is_initialized;
|
||||
clib_bihash_40_8_t fa_ip6_sessions_hash;
|
||||
clib_bihash_16_8_t fa_ip4_sessions_hash;
|
||||
/* The process node which orcherstrates the cleanup */
|
||||
/* The process node which orchestrates the cleanup */
|
||||
u32 fa_cleaner_node_index;
|
||||
/* FA session timeouts, in seconds */
|
||||
u32 session_timeout_sec[ACL_N_TIMEOUTS];
|
||||
|
||||
@@ -8,7 +8,7 @@ However, some uses outside of pure traffic control have appeared, for example,
|
||||
ACL-based forwarding, etc. Also, improved algorithms of the ACL lookup
|
||||
could benefit of the more abstract representation, not coupled to the interfaces.
|
||||
|
||||
This describes a way to accomodate these use cases by generalizing the ACL
|
||||
This describes a way to accommodate these use cases by generalizing the ACL
|
||||
lookups into "ACL lookup contexts", not tied to specific interfaces, usable
|
||||
by other portions of the code by utilizing the exports.h header file,
|
||||
which provides the necessary interface.
|
||||
@@ -21,7 +21,7 @@ The first reason is the logical grouping of multiple ACLs.
|
||||
|
||||
The interface matching code currently allows for matching multiple ACLs
|
||||
in a 'first-match' fashion. Some other use cases also fall into a similar
|
||||
pattern: they attemt to match a sequence of ACLs, and the first matched ACL
|
||||
pattern: they attempt to match a sequence of ACLs, and the first matched ACL
|
||||
determines what the outcome is, e.g. where to forward traffic. Thus,
|
||||
a match never happens on an ACL in isolation, but always on a group of
|
||||
ACLs.
|
||||
@@ -79,7 +79,7 @@ in the "show acl lookup context" command.
|
||||
To set the vector of ACL numbers to be looked up within the context, use the function
|
||||
acl_plugin.set_acl_vec_for_context(lc_index, acl_list). The first parameter specifies the context
|
||||
that you have created, the second parameter is a vector of u32s, each u32 being the index of the ACL
|
||||
which we should be looking up within this context. The comand is idempotent, i.e.
|
||||
which we should be looking up within this context. The command is idempotent, i.e.
|
||||
it unapplies the previously applied list of ACLs, and then sets the new list of ACLs.
|
||||
|
||||
Subsequent ACL updates for the already applied ACLs will cause the re-application
|
||||
|
||||
@@ -93,7 +93,7 @@ of the existing connections was done in the datapath,
|
||||
by periodically calling the aging function.
|
||||
|
||||
This decision to use the existing components,
|
||||
with its attrativeness, did bring a few limitations as well:
|
||||
with its attractiveness, did bring a few limitations as well:
|
||||
|
||||
* L2 classifier is a simple mask-and-value match, with
|
||||
a fixed mask across the table. So, sanely supporting IPv6
|
||||
|
||||
@@ -51,7 +51,7 @@ typedef int (*acl_plugin_get_lookup_context_index_fn_t) (u32 acl_user_id, u32 va
|
||||
|
||||
/*
|
||||
* Release the lookup context index and destroy
|
||||
* any asssociated data structures.
|
||||
* any associated data structures.
|
||||
*/
|
||||
|
||||
typedef void (*acl_plugin_put_lookup_context_index_fn_t) (u32 lc_index);
|
||||
|
||||
@@ -578,7 +578,7 @@ activate_applied_ace_hash_entry(acl_main_t *am,
|
||||
ASSERT(last_index != ~0);
|
||||
applied_hash_ace_entry_t *last_pae = vec_elt_at_index((*applied_hash_aces), last_index);
|
||||
DBG("...advance to chained entry index: %d", last_index);
|
||||
/* link ourseves in */
|
||||
/* link ourselves in */
|
||||
last_pae->next_applied_entry_index = new_index;
|
||||
pae->prev_applied_entry_index = last_index;
|
||||
/* adjust the pointer to the new tail */
|
||||
@@ -1207,7 +1207,7 @@ void hash_acl_delete(acl_main_t *am, int acl_index)
|
||||
* should not be possible to delete, and the change adding this also adds
|
||||
* the safeguards to that respect, so this is not a problem.
|
||||
*
|
||||
* The part to rememeber is that this routine is called in process of reapplication
|
||||
* The part to remember is that this routine is called in process of reapplication
|
||||
* during the acl_add_replace() API call - the old acl ruleset is deleted, then
|
||||
* the new one is added, without the change in the applied ACLs - so this case
|
||||
* has to be handled.
|
||||
|
||||
@@ -179,7 +179,7 @@ unapply_acl_vec(u32 lc_index, u32 *acls)
|
||||
|
||||
/*
|
||||
* Release the lookup context index and destroy
|
||||
* any asssociated data structures.
|
||||
* any associated data structures.
|
||||
*/
|
||||
static void acl_plugin_put_lookup_context_index (u32 lc_index)
|
||||
{
|
||||
|
||||
@@ -227,7 +227,7 @@ vl_api_acl_details_t_print (vl_api_acl_details_t * a, void *handle)
|
||||
u32 count = clib_net_to_host_u32 (a->count);
|
||||
if (count > 0x100000)
|
||||
{
|
||||
s = format (s, "WARN: acl_defails count endianness wrong? Fixup to avoid long loop.\n");
|
||||
s = format (s, "WARN: acl_details count endianness wrong? Fixup to avoid long loop.\n");
|
||||
count = a->count;
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ vl_api_macip_acl_details_t_print (vl_api_macip_acl_details_t * a,
|
||||
u32 count = clib_net_to_host_u32 (a->count);
|
||||
if (count > 0x100000)
|
||||
{
|
||||
s = format (s, "WARN: macip_acl_defails count endianness wrong? Fixup to avoid long loop.\n");
|
||||
s = format (s, "WARN: macip_acl_details count endianness wrong? Fixup to avoid long loop.\n");
|
||||
count = a->count;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ acl_fa_ifc_has_out_acl (acl_main_t * am, int sw_if_index0)
|
||||
always_inline int
|
||||
fa_session_get_timeout_type (acl_main_t * am, fa_session_t * sess)
|
||||
{
|
||||
/* seen both SYNs and ACKs but not FINs means we are in establshed state */
|
||||
/* seen both SYNs and ACKs but not FINs means we are in established state */
|
||||
u16 masked_flags =
|
||||
sess->tcp_flags_seen.as_u16 & ((TCP_FLAGS_RSTFINACKSYN << 8) +
|
||||
TCP_FLAGS_RSTFINACKSYN);
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
This plugins provides native device support for intel Adaptive Virtual
|
||||
Function (AVF). AVF is driver specification for current and future
|
||||
Intel Virtual Function devices. AVF defines communication channel between
|
||||
Physical Funciton (PF) and VF.
|
||||
Physical Functions (PF) and VF.
|
||||
In essence, today this driver can be used only with
|
||||
Intel XL710 / X710 / XXV710 adapters.
|
||||
|
||||
@@ -75,7 +75,7 @@ setup 0000:3b:00.0 00:11:22:33:44:00
|
||||
setup 0000:3b:00.1 00:11:22:33:44:01
|
||||
```
|
||||
|
||||
### Interface Cration
|
||||
### Interface Creation
|
||||
Interfaces can be dynamically created by using following CLI:
|
||||
```
|
||||
create interface avf 0000:3b:02.0
|
||||
|
||||
@@ -61,7 +61,7 @@ VNET_DEVICE_CLASS_TX_FN (avf_device_class) (vlib_main_t * vm,
|
||||
next = txq->next;
|
||||
|
||||
retry:
|
||||
/* release cosumed bufs */
|
||||
/* release consumed bufs */
|
||||
if (txq->n_enqueued)
|
||||
{
|
||||
u16 first, slot, n_free = 0;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
The interior node is neither pipelined nor dual-looped, because
|
||||
it would be very unusual to see more than one CDP packet in
|
||||
a given input frame. So, it's a very simple / straighforward
|
||||
a given input frame. So, it's a very simple / straightforward
|
||||
example.
|
||||
*/
|
||||
|
||||
|
||||
@@ -337,7 +337,7 @@ pcap_tx_trace_command_fn (vlib_main_t * vm,
|
||||
* associated with a packet capture. If packet capture is in progress,
|
||||
* '<em>status</em>' also will return the number of packets currently in
|
||||
* the local buffer. All additional attributes entered on command line
|
||||
* with '<em>status</em>' will be ingnored and not applied.
|
||||
* with '<em>status</em>' will be ignored and not applied.
|
||||
*
|
||||
* @cliexpar
|
||||
* Example of how to display the status of a tx packet capture when off:
|
||||
@@ -571,7 +571,7 @@ test_dpdk_buffer (vlib_main_t * vm, unformat_input_t * input,
|
||||
* @cliexpar
|
||||
* @parblock
|
||||
*
|
||||
* Example of how to display how many DPDK buffer test command has allcoated:
|
||||
* Example of how to display how many DPDK buffer test command has allocated:
|
||||
* @cliexstart{test dpdk buffer}
|
||||
* Currently 0 buffers allocated
|
||||
* @cliexend
|
||||
@@ -1384,7 +1384,7 @@ done:
|
||||
}
|
||||
|
||||
/*?
|
||||
* This command is used to set the packet fields required for classifiying the
|
||||
* This command is used to set the packet fields required for classifying the
|
||||
* incoming packet. As a result of classification process, packet field
|
||||
* information will be mapped to 5 tuples (subport, pipe, traffic class, pipe,
|
||||
* color) and stored in packet mbuf.
|
||||
@@ -2003,7 +2003,7 @@ show_dpdk_version_command_fn (vlib_main_t * vm,
|
||||
* the list of arguments passed to DPDK when started.
|
||||
*
|
||||
* @cliexpar
|
||||
* Example of how to display how many DPDK buffer test command has allcoated:
|
||||
* Example of how to display how many DPDK buffer test command has allocated:
|
||||
* @cliexstart{show dpdk version}
|
||||
* DPDK Version: DPDK 16.11.0
|
||||
* DPDK EAL init args: -c 1 -n 4 --huge-dir /run/vpp/hugepages --file-prefix vpp -w 0000:00:08.0 -w 0000:00:09.0 --master-lcore 0 --socket-mem 256
|
||||
|
||||
@@ -44,7 +44,7 @@ _(blacklist, b) \
|
||||
_(mem-alloc-request, m) \
|
||||
_(force-ranks, r)
|
||||
|
||||
/* These args are preceeded by "--" and followed by a single string */
|
||||
/* These args are preceded by "--" and followed by a single string */
|
||||
#define foreach_eal_double_hyphen_arg \
|
||||
_(huge-dir) \
|
||||
_(proc-type) \
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
_ (INNER_L3, IPV6_EXT_UNKNOWN, "Inner IPv6 packet with or without extension headers") \
|
||||
_ (INNER_L4, TCP, "Inner TCP packet") \
|
||||
_ (INNER_L4, UDP, "Inner UDP packet") \
|
||||
_ (INNER_L4, FRAG, "Inner fagmented IP packet") \
|
||||
_ (INNER_L4, FRAG, "Inner fragmented IP packet") \
|
||||
_ (INNER_L4, SCTP, "Inner SCTP (Stream Control Transmission Protocol) packet") \
|
||||
_ (INNER_L4, ICMP, "Inner ICMP packet") \
|
||||
_ (INNER_L4, NONFRAG, "Inner non-fragmented IP packet")
|
||||
|
||||
@@ -754,7 +754,7 @@ dpdk_lib_init (dpdk_main_t * dm)
|
||||
* For cisco VIC vNIC, set default to VLAN strip enabled, unless
|
||||
* specified otherwise in the startup config.
|
||||
* For other NICs default to VLAN strip disabled, unless specified
|
||||
* otherwis in the startup config.
|
||||
* otherwise in the startup config.
|
||||
*/
|
||||
if (xd->pmd == VNET_DPDK_PMD_ENIC)
|
||||
{
|
||||
@@ -1007,7 +1007,7 @@ dpdk_device_config (dpdk_config_main_t * conf, vlib_pci_addr_t pci_addr,
|
||||
devconf->num_rx_queues)
|
||||
error =
|
||||
clib_error_return (0,
|
||||
"%U: number of worker threadds must be "
|
||||
"%U: number of worker threads must be "
|
||||
"equal to number of rx queues", format_vlib_pci_addr,
|
||||
&pci_addr);
|
||||
|
||||
|
||||
@@ -46,8 +46,8 @@ enum
|
||||
};
|
||||
|
||||
/* currently we are just copying bit positions from DPDK, but that
|
||||
might change in future, in case we strart to be interested in something
|
||||
stored in upper bytes. Curently we store only lower byte for perf reasons */
|
||||
might change in future, in case we start to be interested in something
|
||||
stored in upper bytes. Currently we store only lower byte for perf reasons */
|
||||
STATIC_ASSERT (1 << DPDK_RX_F_CKSUM_GOOD == PKT_RX_IP_CKSUM_GOOD, "");
|
||||
STATIC_ASSERT (1 << DPDK_RX_F_CKSUM_BAD == PKT_RX_IP_CKSUM_BAD, "");
|
||||
STATIC_ASSERT (1 << DPDK_RX_F_FDIR == PKT_RX_FDIR, "");
|
||||
@@ -504,7 +504,7 @@ dpdk_device_input (vlib_main_t * vm, dpdk_main_t * dm, dpdk_device_t * xd,
|
||||
else
|
||||
dpdk_set_next_from_etype (vm, node, ptd, n_rx_packets);
|
||||
|
||||
/* flow offload - process if rx flow offlaod enabled and at least one packet
|
||||
/* flow offload - process if rx flow offload enabled and at least one packet
|
||||
is marked */
|
||||
if (PREDICT_FALSE ((xd->flags & DPDK_DEVICE_FLAG_RX_FLOW_OFFLOAD) &&
|
||||
(or_flags & (1 << DPDK_RX_F_FDIR))))
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
The Quality-of-Service (QoS) scheduler performs egress-traffic management by
|
||||
prioritizing the transmission of the packets of different type services and
|
||||
subcribers based on the Service Level Agreements (SLAs). The QoS scheduler can
|
||||
subscribers based on the Service Level Agreements (SLAs). The QoS scheduler can
|
||||
be enabled on one or more NIC output interfaces depending upon the
|
||||
requirement.
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
The QoS schdeuler supports a number of scheduling and shaping levels which
|
||||
The QoS scheduler supports a number of scheduling and shaping levels which
|
||||
construct hierarchical-tree. The first level in the hierarchy is port (i.e.
|
||||
the physical interface) that constitutes the root node of the tree. The
|
||||
subsequent level is subport which represents the group of the
|
||||
@@ -34,7 +34,7 @@ For more information on QoS Scheduler, please refer DPDK Programmer's Guide-
|
||||
http://dpdk.org/doc/guides/prog_guide/qos_framework.html
|
||||
|
||||
|
||||
### QoS Schdeuler Parameters
|
||||
### QoS Scheduler Parameters
|
||||
|
||||
Following illustrates the default HQoS configuration for each 10GbE output
|
||||
port:
|
||||
@@ -134,7 +134,7 @@ red {
|
||||
|
||||
### DPDK QoS Scheduler Integration in VPP
|
||||
|
||||
The Hierarchical Quaity-of-Service (HQoS) scheduler object could be seen as
|
||||
The Hierarchical Quality-of-Service (HQoS) scheduler object could be seen as
|
||||
part of the logical NIC output interface. To enable HQoS on specific output
|
||||
interface, vpp startup.conf file has to be configured accordingly. The output
|
||||
interface that requires HQoS, should have "hqos" parameter specified in dpdk
|
||||
@@ -213,7 +213,7 @@ be used.
|
||||
set dpdk interface hqos placement <interface> thread <n>
|
||||
```
|
||||
|
||||
The command below is used to set the packet fields required for classifiying
|
||||
The command below is used to set the packet fields required for classifying
|
||||
the incoming packet. As a result of classification process, packet field
|
||||
information will be mapped to 5 tuples (subport, pipe, traffic class, pipe,
|
||||
color) and stored in packet mbuf.
|
||||
@@ -223,7 +223,7 @@ set dpdk interface hqos pktfield <interface> id subport|pipe|tc offset <n>
|
||||
mask <hex-mask>
|
||||
```
|
||||
|
||||
The DSCP table entries used for idenfiying the traffic class and queue can be set using the command below;
|
||||
The DSCP table entries used for identifying the traffic class and queue can be set using the command below;
|
||||
|
||||
```
|
||||
set dpdk interface hqos tctbl <interface> entry <map_val> tc <tc_id> queue <queue_id>
|
||||
@@ -286,7 +286,7 @@ below command.
|
||||
|
||||
### QoS Scheduler Binary APIs
|
||||
|
||||
This section explans the available binary APIs for configuring QoS scheduler
|
||||
This section explains the available binary APIs for configuring QoS scheduler
|
||||
parameters in run-time.
|
||||
|
||||
The following API can be used to set the pipe profile of a pipe that belongs
|
||||
|
||||
@@ -393,7 +393,7 @@ VLIB_CLI_COMMAND (set_dpdk_crypto_placement, static) = {
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/*
|
||||
* The thread will not enqueue more operatios to the device but will poll
|
||||
* The thread will not enqueue more operations to the device but will poll
|
||||
* from it until there are no more inflight operations.
|
||||
*/
|
||||
static void
|
||||
@@ -549,7 +549,7 @@ show_dpdk_crypto_pools_fn (vlib_main_t * vm,
|
||||
* This command is used to display the DPDK Crypto pools information.
|
||||
*
|
||||
* @cliexpar
|
||||
* Example of how to display the DPDK Cypto pools information:
|
||||
* Example of how to display the DPDK Crypto pools information:
|
||||
* @cliexstart{show crypto device mapping}
|
||||
* vpp# show dpdk crypto pools
|
||||
* crypto_pool_numa1
|
||||
|
||||
@@ -32,7 +32,7 @@ Additionally, on x86_64 platforms, DPDK is built with SW crypto support.
|
||||
|
||||
VPP allocates crypto resources based on a best effort approach:
|
||||
* first allocate Hardware crypto resources, then Software.
|
||||
* if there are not enough crypto resources for all workers, the graph node is not modifed and the default VPP IPsec implementation based in OpenSSL is used. The following message is displayed:
|
||||
* if there are not enough crypto resources for all workers, the graph node is not modified and the default VPP IPsec implementation based in OpenSSL is used. The following message is displayed:
|
||||
|
||||
0: dpdk_ipsec_init: not enough Cryptodevs, default to OpenSSL IPsec
|
||||
|
||||
|
||||
@@ -442,7 +442,7 @@ vl_api_gbp_contract_dump_t_handler (vl_api_gbp_contract_dump_t * mp)
|
||||
/*
|
||||
* gbp_api_hookup
|
||||
* Add vpe's API message handlers to the table.
|
||||
* vlib has alread mapped shared memory and
|
||||
* vlib has already mapped shared memory and
|
||||
* added the client registration handlers.
|
||||
* See .../vlib-api/vlibmemory/memclnt_vlib.c:memclnt_process()
|
||||
*/
|
||||
|
||||
@@ -103,7 +103,7 @@ gbp_classify_inline (vlib_main_t * vm,
|
||||
if (is_l3)
|
||||
{
|
||||
/*
|
||||
* Go straight to looukp, do not pass go, do not collect $200
|
||||
* Go straight to lookup, do not pass go, do not collect $200
|
||||
*/
|
||||
next0 = 0;
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ typedef enum gbp_endpoint_flags_t_
|
||||
|
||||
/**
|
||||
* A Group Based Policy Endpoint.
|
||||
* This is typcially a VM or container. If the endpoint is local (i.e. on
|
||||
* the smae compute node as VPP) then there is one interface per-endpoint.
|
||||
* If the EP is remote,e.g. reachable onver a [vxlan] tunnel, then there
|
||||
* will be multiple EPs reachable over the tunnel and they can be distingusihed
|
||||
* This is typically a VM or container. If the endpoint is local (i.e. on
|
||||
* the same compute node as VPP) then there is one interface per-endpoint.
|
||||
* If the EP is remote,e.g. reachable over a [vxlan] tunnel, then there
|
||||
* will be multiple EPs reachable over the tunnel and they can be distinguished
|
||||
* via either their MAC or IP Address[es].
|
||||
*/
|
||||
typedef struct gbp_endpoint_t_
|
||||
|
||||
@@ -73,7 +73,7 @@ gbp_recirc_add (u32 sw_if_index, epg_id_t epg_id, u8 is_ext)
|
||||
}
|
||||
|
||||
/*
|
||||
* Packets on the recirculation interface are subjet to src-EPG
|
||||
* Packets on the recirculation interface are subject to src-EPG
|
||||
* classification. Recirc interfaces are L2-emulation mode.
|
||||
* for internal EPGs this is via an LPM on all external subnets.
|
||||
* for external EPGs this is via a port mapping.
|
||||
|
||||
@@ -35,8 +35,8 @@ typedef struct gpb_recirc_t_
|
||||
u32 gr_fib_index[FIB_PROTOCOL_IP_MAX];
|
||||
|
||||
/**
|
||||
* Is the interface for packets post-NAT translatoin (i.e. ext)
|
||||
* or pre-NAT ranslation (i.e. internal)
|
||||
* Is the interface for packets post-NAT translation (i.e. ext)
|
||||
* or pre-NAT translation (i.e. internal)
|
||||
*/
|
||||
u8 gr_is_ext;
|
||||
|
||||
|
||||
@@ -493,8 +493,8 @@ int vnet_gtpu_add_del_tunnel
|
||||
else
|
||||
{
|
||||
/* Multicast tunnel -
|
||||
* as the same mcast group can be used for mutiple mcast tunnels
|
||||
* with different VNIs, create the output fib adjecency only if
|
||||
* as the same mcast group can be used for multiple mcast tunnels
|
||||
* with different VNIs, create the output adjacency only if
|
||||
* it does not already exist
|
||||
*/
|
||||
fib_protocol_t fp = fib_ip_proto (is_ip6);
|
||||
@@ -994,7 +994,7 @@ set_ip4_gtpu_bypass (vlib_main_t * vm,
|
||||
* ip4-lookup [2]
|
||||
* @cliexend
|
||||
*
|
||||
* Example of how to display the feature enabed on an interface:
|
||||
* Example of how to display the feature enabled on an interface:
|
||||
* @cliexstart{show ip interface features GigabitEthernet2/0/0}
|
||||
* IP feature paths configured on GigabitEthernet2/0/0...
|
||||
* ...
|
||||
@@ -1051,7 +1051,7 @@ set_ip6_gtpu_bypass (vlib_main_t * vm,
|
||||
* ip6-lookup [2]
|
||||
* @cliexend
|
||||
*
|
||||
* Example of how to display the feature enabed on an interface:
|
||||
* Example of how to display the feature enabled on an interface:
|
||||
* @cliexstart{show ip interface features GigabitEthernet2/0/0}
|
||||
* IP feature paths configured on GigabitEthernet2/0/0...
|
||||
* ...
|
||||
|
||||
@@ -213,7 +213,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index0 = last_tunnel_index;
|
||||
t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
|
||||
{
|
||||
error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
@@ -263,7 +263,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index0 = last_tunnel_index;
|
||||
t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
|
||||
{
|
||||
error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
@@ -387,7 +387,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index1 = last_tunnel_index;
|
||||
t1 = pool_elt_at_index (gtm->tunnels, tunnel_index1);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b1, t1, is_ip4) == 0))
|
||||
{
|
||||
error1 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
@@ -439,7 +439,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index1 = last_tunnel_index;
|
||||
t1 = pool_elt_at_index (gtm->tunnels, tunnel_index1);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b1, t1, is_ip4) == 0))
|
||||
{
|
||||
error1 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
@@ -616,7 +616,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index0 = last_tunnel_index;
|
||||
t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
|
||||
{
|
||||
error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
@@ -666,7 +666,7 @@ gtpu_input (vlib_main_t * vm,
|
||||
tunnel_index0 = last_tunnel_index;
|
||||
t0 = pool_elt_at_index (gtm->tunnels, tunnel_index0);
|
||||
|
||||
/* Validate GTPU tunnel encap-fib index agaist packet */
|
||||
/* Validate GTPU tunnel encap-fib index against packet */
|
||||
if (PREDICT_FALSE (validate_gtpu_fib (b0, t0, is_ip4) == 0))
|
||||
{
|
||||
error0 = GTPU_ERROR_NO_SUCH_TUNNEL;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user