One handler is good enough when engine sends out a retry status
Thus this patch will just go one branch
Change-Id: Id81cb3fa67d2b322b0fe1b2f62cd866cf3491eb4
Signed-off-by: Ping Yu <ping.yu@intel.com>
It's not clear that fine-graind pipelining will ever produce optimal
performance. That having been written, it's an easier coding model for
folks interesting in decent results without having to manually
implement 2 or 4 way fine-grained parallelism.
Change-Id: Ida877292832eaf759ffbb6d2e16012f8fbd427e5
Signed-off-by: Dave Barach <dave@barachs.net>
Can happen if code bypasses the per-interface output node, and
dispatches packets directly to the tx node.
Switch to vlib_get_buffers(...) ... vlib_buffer_enqueue_to_next (...),
quad/single loop coding pattern.
Change-Id: Ic0e5d3b9748230f4e545a54186e6e64e7a782bb1
Signed-off-by: Dave Barach <dave@barachs.net>
The dev build ('make build') was failing because
ip4_rewrite_bcast() and ip6_rewrite_bcast() are declared static
and were not referenced.
The node functions that were set for directed broadcast rewrite:
ip4_rewrite_bcast_node - ip4_rewrite()
ip6_rewrite_bcast_node - ip6_rewrite()
Changed to:
ip4_rewrite_bcast_node - ip4_rewrite_bcast()
ip6_rewrite_bcast_node - ip6_rewrite_bcast()
The release build ('make build-release') succeeds because there is
a VLIB_NODE_FUNCTION_MULTIARCH() call referencing the function. That
macro is empty for dev builds.
Change-Id: I2a05f00ca43d0eae8ff2e3026991e69917003fe1
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
This prevents deadlock in case when worker A sends to B and worker B
sends to A
Change-Id: Id9436960f932c58325fe4f5ef8ec67b50031aeda
Signed-off-by: Damjan Marion <damarion@cisco.com>
Add a bucket-level lock bit. Use a spinlock only when actually
allocating, freeing, or splitting a bucket. Should improve
multi-thread add/del performance.
Change-Id: I3e40e2a8371685457f340d6584dea14e3207f2b0
Signed-off-by: Dave Barach <dave@barachs.net>
with ip direct broadcast enable a packet to the interface's
subnet broadcast address with be sent L2 broadcast on the
interface. dissabled, it will be dropped. it is disabled by
default, which preserves current behaviour
Change-Id: If154cb92e64834e97a541b32624354348a0eafb3
Signed-off-by: Neale Ranns <nranns@cisco.com>
DBGvpp# set interface rx-mode AVF0/4/2/0 interrupt
set interface rx-mode AVF0/4/2/0 interrupt
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
node dpdk-input:
FortyGigabitEthernet6/0/0 queue 0 (polling)
node avf-input:
AVF0/4/2/0 queue 0 (interrupt)
DBGvpp# sh int addr
sh int addr
AVF0/4/2/0 (up):
L3 133.1.1.10/24
FortyGigabitEthernet6/0/0 (dn):
VirtualEthernet0/0/0 (up):
L3 192.168.42.1/24
DBGvpp# clear run
clear run
DBGvpp# clear interfaces
clear interfaces
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
node dpdk-input:
FortyGigabitEthernet6/0/0 queue 0 (polling)
node avf-input:
AVF0/4/2/0 queue 0 (interrupt)
DBGvpp# ping 133.1.1.3 repeat 1
ping 133.1.1.3 repeat 1
64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.6237 ms
Statistics: 1 sent, 1 received, 0% packet loss
DBGvpp# sh int
sh int
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
AVF0/4/2/0 5 up 9000/0/0/0 rx packets 1
rx bytes 98
tx packets 1
tx bytes 98
drops 1
ip4 1
FortyGigabitEthernet6/0/0 1 down 9000/0/0/0
VirtualEthernet0/0/0 2 up 9000/0/0/0
local0 0 down 9000/0/0/0
DBGvpp# sh run
sh run
Time 41.9, average vectors/node 1.00, last 128 main loops 0.00 per node 0.00
vector rates in 2.3858e-2, out 2.3858e-2, drop 2.3858e-2, punt 0.0000e0
Name State Calls Vectors Suspends Clocks Vectors/Call
AVF0/4/2/0-output active 1 1 0 1.24e4 1.00
AVF0/4/2/0-tx active 1 1 0 4.28e4 1.00
api-rx-from-ring any wait 0 0 2 6.94e4 0.00
avf-input interrupt wa 1 1 0 1.09e4 1.00
avf-process any wait 0 0 47 1.01e4 0.00
...
DBGvpp#
DBGvpp# set interface rx-mode AVF0/4/2/0 polling
set interface rx-mode AVF0/4/2/0 polling
DBGvpp# sh int rx
sh int rx
Thread 0 (vpp_main):
node dpdk-input:
FortyGigabitEthernet6/0/0 queue 0 (polling)
node avf-input:
AVF0/4/2/0 queue 0 (polling)
DBGvpp# ping 133.1.1.3 repeat 1
ping 133.1.1.3 repeat 1
64 bytes from 133.1.1.3: icmp_seq=1 ttl=64 time=.2038 ms
Statistics: 1 sent, 1 received, 0% packet loss
DBGvpp#
Change-Id: Ib7d2b505ae4bb74a052263af766ca37d9df7bfe4
Signed-off-by: Steven <sluong@cisco.com>
Of the form "if ((foo & 0x10) == 1)", as opposed to
"if (foo & 0x10)"
Change-Id: I6a6d276aeed4af7c1c6c78546ee68d598d54d7db
Signed-off-by: Dave Barach <dave@barachs.net>
Both vpp-devel and vpp-dpdk-devel have /usr/include/dpdk
in their files list. CentOS 7 won't allow them to both be
installed at the same time as a result.
Change vpp-dpdk-devel to /usr/include/dpdk/* so both can
be installed. It is useful to have both installed on a
development system.
Change-Id: I94b6cca299dfbd991638e43c41006db0d8f7ee8b
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Fix a typo from previous patch. Change 0x104 to 0x1004.
Change-Id: I82230a8a0ec01567eb1d4bc12ac02062c2a98347
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
The java command fails with missing class error,
when some of the JARs given by -cp are missing,
which may be missleading.
This patch fixes that by adding os.path.isfile check to test_jvpp.py.
Change-Id: I3a0b6ef338c7f70cfd0ba78ee0888efe0b0957b3
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Thus when engine buffer is full during a burst in performance
tesing, this code will help VPP handle retry machansim.
Change-Id: I0f9fc05d3dba8a54d34dca4c6137700d6c80f714
Signed-off-by: Ping Yu <ping.yu@intel.com>
- removed handoff-dispatch node
- removed some unused buffer metadata fields
- enqueue to thread logic moved to inline function
Change-Id: I7361e1d88f8cce74cd4fcec90d172eade1855cbd
Signed-off-by: Damjan Marion <damarion@cisco.com>
handle the case where qos record was enabled more than once
Change-Id: Ic901b2f5b400751e82d57655983d10457ec62243
Signed-off-by: Eyal Bari <ebari@cisco.com>
each edge/arc from these nodes must be the same.
Change-Id: Id5dace61bca0af71ad1df98583425226e81fd0de
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
The length field is included in the checksum. Therefor, we need
to update it before calculating the checksum.
Change-Id: Id23234efb80ea3747a0f8a5c7bf8621748d27635
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
If a PMD writes too many log messages using rte_vlog(), the
pipe for logging can fill and then rte_vlog() will block
on fflush() while it waits for something to read from the other
side of the pipe. That will never happen since the process node
that would read the other side of the pipe runs in the
same thread.
Set the write fd to non-blocking before the call to
rte_openlog_stream(). If the pipe is full, calls to write() or
fflush() will fail but execution will continue.
Change-Id: I0e5d710629633acda5617ff29897d6582c255d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Recognize the PF and VF device IDs for the Mellanox adapter
used on Azure.
Change-Id: Ic7b36b37ac93db2b696354ffe6fa2b6d62ee3801
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
This slowed down the decoder. Improved from 16s to 13s for 1000 dump/details
messages.
Change-Id: Iae78136b020cdd9344f3b2170ce426d0f074b6e6
Signed-off-by: Ole Troan <ot@cisco.com>
This patch addresses the coverity scan warnings reported for the DPDK
plugin.
Change-Id: Ie7ac7ffcf4a6c63245eae0f9910a193ab1e318a8
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
Configure w/ --enable-dlmalloc, see .../build-data/platforms/vpp.mk
src/vppinfra/dlmalloc.[ch] are slightly modified versions of the
well-known Doug Lea malloc. Main advantage: dlmalloc mspaces have no
inherent size limit.
Change-Id: I19b3f43f3c65bcfb82c1a265a97922d01912446e
Signed-off-by: Dave Barach <dave@barachs.net>
- negative test with wrong XID in OFFER not implemented as issue
reported in Jira ticket VPP-99 still not fixed
Jira: CSIT-1147
Change-Id: I4ebc622bd81fed421919bc0397a12e32cb26fa1d
Signed-off-by: Jan Gelety <jgelety@cisco.com>
The length in the GTPU header does not specify the length of the
payload. It does specify the number of bytes following the fixed
part (the first 8 bytes) of the GTPU header (see 3GPP TS 29.060,
Sect. 9.3.1).
Change-Id: I8ce73df015e1cf1f38d306666962c0058756111c
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
The fourth GTP-U packet had a wrong reference, leading to data
corruption.
Change-Id: Id82f87368183d5e8b7047133c5ea799f2a9cb43c
Signed-off-by: Andreas Schultz <andreas.schultz@travelping.com>
How many engineers does it take to change a lightbulb?
Change-Id: I28a34e0ae49ce4f95b12a342c4664198a20f4574
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>