21 Commits

Author SHA1 Message Date
328e99b1e2 Add jumbo frames support to non-dpdk vhost interfaces.
This code provided inter-VM (2 cores per VM) throughput of
22Gbps using iperf through VPP (1 core) with 9k frames.
With the same setup and pktgen running on both sides, it
reached 5Mpps with no packets drop (Equivalent to before the patch).
During the tests the average vector length was about 1, which
likely means that VPP is not the bottleneck.

The patch also includes some generic functions for vlib buffers
allowing for chained buffer construction whether or not DPDK is enabled.

Change-Id: Icfd1803e84b2b4578f305ab730576211f6242d6a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-18 00:50:55 +00:00
ce8debfe0f Increase number of per-cpu mheaps to 256
It also includes check to ensure that number of
per-cpu mheaps is not lower than number of cpus.

Change-Id: Ibc68b34dda130f922243f9ea15b03e44bbcac269
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-16 17:50:48 +00:00
3f46baf1bd Increase VLIB_MAX_CPUS to 256
Change-Id: Iac68b38dda1a0f9e2242f9eab5b03e44bbcac269
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-14 00:02:31 +00:00
cfb2d804ce Make size of per-thread mini counter vector equal to number of threads
Change-Id: Icfd91cca3cd686e5efa8a988f04483238605e1cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-14 00:02:31 +00:00
2126b35f5f Replace AC_PROG_LIBTOOL with LT_INIT
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10 08:43:22 -05:00
1b1695316d Clean up gcc-5.2 warnings
Change-Id: I7b0aa42a61607d4d30fe3627032d3837b2838982
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10 08:03:44 -05:00
3e7deb11b5 Clean up per-thread elog track nomenclature.
Change-Id: I4b65b29f9291b3fd47e05576d9a0789af8912982
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-05 16:30:11 -05:00
4b12b3c35a CLI: If an error happens on the socket being polled, then the CLI
does not close the socket. Resulting in the main thread being stuck
in a tight infinite loop polling on the erronous socket.

Change-Id: I630b84b97c059acce117d56e41cd201131db4cab
Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-27 23:37:58 +02:00
9de836c715 dpdk_buffer.c: Honor clone_count even when there isn't a freelist handler
The DPDK glue did not support cloned packets which do not
have a freelist handler. Add support for this case.

Change-Id: I8f17cd4952df97989d90d3f3e39792bc3739705c
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-02-04 12:42:30 +00:00
0bcc9d511e Tracing enhancements.
Limit buffer tracing to 50 in order to limit large output, unless
the user over rides the max "sh trace max <number>".

Add trace filtering, to be able to only trace packets that were
processed by a specific node or exclude packets processed by a node.
Example, only include packets processed by error-drop:
  # trace filter include error-drop 1
  # trace add dpdk-input 1000000
  <wait for packets, to come in>
  # show trace

Change-Id: I5d9e15d2268ea55e6ef87b2b8756049c49b2791b
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-02 21:33:08 +00:00
63a814d9b6 Warnings be gone.
Change-Id: I53730fd2ccd78fb73e11af77f8ffff19d75ebd95
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-27 19:45:57 +00:00
da8d445055 dpdk_buffer.c: Ensure that the mbuf reference count is as expected
Add some more ASSERTs to track down improper frees.

Change-Id: I2bd4b69fb14f522c82e6006131b6ad982f6f7e6b
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27 18:58:26 +00:00
aa67d61f01 Print worker thread name as a c-string, not a vector. Otherwise, the
output is certain to contain a NULL byte.

Change-Id: Id80e1334d7a2cb6788f1db33cde142f84826db36
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-27 10:27:43 -05:00
bfdedbd5a3 PowerPC64-be arch support. Qemu ("qppc") platform support.
Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-21 12:33:07 +00:00
81aa0e5bb8 Fix to show trace output.
Change-Id: I0834eac9c17941d3d5b2aa5791d6deaabd8f6977
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-22 18:55:08 -07:00
2c29d75021 Fix warnings/errors reported by clang
Change-Id: Ifb2de64347526e3218e22067452f249ff878fd32
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-18 13:31:56 +01:00
8cf9df1de2 Remove redundant function
Change-Id: I30db8f678b14303a64ad3aaa16b5caf9081603d8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-17 21:32:57 +01:00
bc20bdf207 Store per-thread node error counters
This fixed performance issue in muti-threaded setup
due to sharing of the same cacheline between multiple threads

Change-Id: I930ee44c17a83d4da350d15b4b97b8bb4633a9b0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-17 21:28:39 +01:00
7210e9470e Remove autotools generated products
Change-Id: I7f23b8b8e5136cb56768bac3a7473e6df5ee4993
Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-15 19:06:39 -05:00
d2dc3df90d replacing all vec_sort() invocations to vec_sort_with_function()
Change-Id: I05895827ed52be292112484cee7d0a2591b67335
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2015-12-15 00:09:46 +01:00
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00