vpp.git
8 years agoAdd jumbo frames support to non-dpdk vhost interfaces. 01/301/4
Pierre Pfister [Fri, 12 Feb 2016 13:18:42 +0000 (13:18 +0000)]
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>
8 years agoIncrease number of per-cpu mheaps to 256 31/331/2
Damjan Marion [Sat, 6 Feb 2016 18:16:21 +0000 (19:16 +0100)]
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>
8 years agoRemove vec_sort macro 32/332/1
Damjan Marion [Tue, 16 Feb 2016 16:32:34 +0000 (17:32 +0100)]
Remove vec_sort macro

vec_sort macro was using gcc proprietary nested functions that
require a executable stack and they are considered as unsafe.
Also, nested functions are not supported by other compilers.
vec_sort_with_function() should be used instead.

Change-Id: I05959da63d222ec71c090ba63420b427ce10c79b
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoShow DPDK EAL cmdline args in 'show version verbose' 30/330/1
Damjan Marion [Tue, 16 Feb 2016 11:29:57 +0000 (12:29 +0100)]
Show DPDK EAL cmdline args in 'show version verbose'

Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoDisable for-us udp/tcp checksum validation by default 27/327/1
Dave Barach [Mon, 15 Feb 2016 16:34:13 +0000 (11:34 -0500)]
Disable for-us udp/tcp checksum validation by default

This patch alters behavior for dpdk rx packets. Depending on test
results, it may be necessary to extend the scheme to packets received
on non-dpdk paravirtualized interfaces, and packets originating in the
vpp stack itself.

Change-Id: I8444232a90ff176e7d6a688e36801174575251a1
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoImplement multiple TX queue sharing 19/319/2
Damjan Marion [Fri, 12 Feb 2016 17:00:23 +0000 (18:00 +0100)]
Implement multiple TX queue sharing

Maximum number of TX queues ca be defined by NIC driver
or configured manualy with 'dpdk { max-tx-queues X }'.
If system have more worker threads than TX queues they will
be shared between them. Before this change only one tx
queue was used in such cases.

Change-Id: Iab68170ab45fa6b9925fc4e79ccab9222f095e7e
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoIncrease VLIB_MAX_CPUS to 256 38/238/3
Damjan Marion [Sat, 6 Feb 2016 18:16:21 +0000 (19:16 +0100)]
Increase VLIB_MAX_CPUS to 256

Change-Id: Iac68b38dda1a0f9e2242f9eab5b03e44bbcac269
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoMake size of per-thread mini counter vector equal to number of threads 37/237/3
Damjan Marion [Fri, 5 Feb 2016 23:54:12 +0000 (00:54 +0100)]
Make size of per-thread mini counter vector equal to number of threads

Change-Id: Icfd91cca3cd686e5efa8a988f04483238605e1cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoRemove duplicate vlib_call_init_function() for tuntap init 20/320/1
Oleg A. Arkhangelsky [Sat, 13 Feb 2016 17:32:12 +0000 (20:32 +0300)]
Remove duplicate vlib_call_init_function() for tuntap init

Change-Id: Ie642d15d2843f02a01448afe91aa7311e6131047
Signed-off-by: Oleg A. Arkhangelsky <sysoleg@yandex.ru>
8 years agoIncrease number of dpdk lcores to 256 36/236/2
Damjan Marion [Fri, 5 Feb 2016 14:44:54 +0000 (06:44 -0800)]
Increase number of dpdk lcores to 256

Change-Id: Ia0e228d02fd9f180ed9ca468074ab38d575e415e
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoFix ARP show exception when not ARP entries as found. 12/312/1
Keith Wiles [Fri, 12 Feb 2016 01:21:10 +0000 (19:21 -0600)]
Fix ARP show exception when not ARP entries as found.

The fix tests if the ARP table exist before attempting to
interate over the entries.

Change-Id: I22cad5ba3a01c3fba1feac33745a29ff1f7f8fe1
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
8 years agoPerformance tools, initial check-in 00/300/2
Dave Barach [Fri, 12 Feb 2016 00:28:19 +0000 (19:28 -0500)]
Performance tools, initial check-in

Change-Id: I9fb4f4babecbe02d171f38c4d089634e90141937
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoPull in some additional symbols that may be needed by plugins. 91/291/3
Josh Gahm [Wed, 10 Feb 2016 23:03:08 +0000 (18:03 -0500)]
Pull in some additional symbols that may be needed by plugins.

Ensure that some additional rte_* symbols (from the dpdk library) and
pulled into the vpp image so that they will be available to plugins.
Also, provide vlib's dpdk configuration function so that plugins that
need to make dpdk calls during initialization/configuration may ensure
that dpdk itself is initialized first.

Change-Id: Iff8b518c6fc23e9e2f24a85944e5b246c80e5f67
Signed-off-by: Josh Gahm <jgahm@cisco.com>
8 years agoUse vppinfra bitmap for dpdk coremask 35/235/2
Damjan Marion [Fri, 5 Feb 2016 22:33:21 +0000 (23:33 +0100)]
Use vppinfra bitmap for dpdk coremask

Change-Id: Iec5ebadf120f742f43a681c4d394aa97ad2ae1e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoRemove strcasecmp(3) declaration 86/286/3
Robert Varga [Wed, 10 Feb 2016 14:57:23 +0000 (15:57 +0100)]
Remove strcasecmp(3) declaration

This should be coming from string.h.

Change-Id: Id88bb1d2a4681a9dcf6db9c7de2580a5219869d1
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoGetStringUTFChars() may fail 88/288/2
Robert Varga [Wed, 10 Feb 2016 15:01:58 +0000 (16:01 +0100)]
GetStringUTFChars() may fail

GetStringUTFChars() can fail, returning NULL. Make sure we do not trip
over it.

Change-Id: I2d6b9c72c353c2423042fd035087f0d57fdc08ca
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agonewIntArray() may fail 87/287/2
Robert Varga [Wed, 10 Feb 2016 15:00:16 +0000 (16:00 +0100)]
newIntArray() may fail

Allocation of the integer array may fail, guard against NPE.

Change-Id: I3e860153597638392c9b669a6ad586fd2e03a64d
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoCompile with -Werror, so Jenkins will catch warnings 85/285/1
Dave Barach [Wed, 10 Feb 2016 14:13:23 +0000 (09:13 -0500)]
Compile with -Werror, so Jenkins will catch warnings

Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoIndent vppjni.c to be consistent 84/284/3
Robert Varga [Wed, 10 Feb 2016 13:39:57 +0000 (14:39 +0100)]
Indent vppjni.c to be consistent

Pure cleanup of indentation and brace placement, so the file ends up
being consisteny.

Change-Id: Idd2f20deda486d16b455f3e13cacbc2f3baa50f1
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoReplace AC_PROG_LIBTOOL with LT_INIT 83/283/1
Dave Barach [Wed, 10 Feb 2016 13:42:59 +0000 (08:42 -0500)]
Replace AC_PROG_LIBTOOL with LT_INIT

Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoAdd Top-Level Wrapper Makefile 79/279/3
Damjan Marion [Tue, 9 Feb 2016 23:36:06 +0000 (00:36 +0100)]
Add Top-Level Wrapper Makefile

Change-Id: Ie3431986ddb42db8d331fcb3d34250a6ec9d9a02
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoVhost multi-q support 59/159/4
Shesha Sreenivasamurthy [Wed, 3 Feb 2016 17:38:36 +0000 (09:38 -0800)]
Vhost multi-q support

    Remove multi-q support patch for DPDK-2.1.0

Change-Id: I685f3886b3883803210221682fa80353670a6970
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
8 years agoClean up gcc-5.2 warnings 82/282/1
Dave Barach [Wed, 10 Feb 2016 13:03:32 +0000 (08:03 -0500)]
Clean up gcc-5.2 warnings

Change-Id: I7b0aa42a61607d4d30fe3627032d3837b2838982
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoModify hand-coded JNI function names to match refactoring of 75/275/1
Dave Wallace [Wed, 10 Feb 2016 04:09:41 +0000 (23:09 -0500)]
Modify hand-coded JNI function names to match refactoring of
vppConn.java in commit #169

Change-Id: Id9feaebdce199f239741a10d31bf7aa473a62806
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 years agoMake cleanup_rx_thread static 71/271/2
Robert Varga [Tue, 9 Feb 2016 16:16:36 +0000 (17:16 +0100)]
Make cleanup_rx_thread static

The symbol is not referenced outside of the source file, hide it from
the world.

Change-Id: Id5db73efff0767657ebc5a0b25dcccd2b85e354d
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoDisable EAL message spew which can easily fill /var/log 68/268/2
Dave Barach [Tue, 9 Feb 2016 15:54:58 +0000 (10:54 -0500)]
Disable EAL message spew which can easily fill /var/log

Change-Id: I63da892d1c4148a54ea33c172986c854932beb01
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoMark internal implementation functions as hidden 69/269/1
Robert Varga [Tue, 9 Feb 2016 16:07:07 +0000 (17:07 +0100)]
Mark internal implementation functions as hidden

Adding hidden attribute results in compilation failure if the symbol is
not found when linking the .so. It should also lead to better
performance, as it side-steps GOT.

Change-Id: I7b6f39e663ca2b3e432669a3e2b36d7395f555b6
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoSFF NSH support VXLAN GPE 04/204/19
Keith Burns (alagalah) [Wed, 3 Feb 2016 05:45:02 +0000 (21:45 -0800)]
SFF NSH support VXLAN GPE

Change-Id: I23dae9e13f6c2ec7b3326710a40f28984ff6fe1f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
8 years agoFixup symbol names in vpp-japi 62/262/1
Robert Varga [Tue, 9 Feb 2016 10:17:44 +0000 (11:17 +0100)]
Fixup symbol names in vpp-japi

There is skew between symbol names of vppjni_env.[ch], causing the
library to fail to load. This patch fixes that up.

Change-Id: I972e6d0ce72fd05ee3518e7161e20946ff3426ca
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoSet vnet_buffer(b0)->sw_if_index[VLIB_TX] 53/253/1
Dave Barach [Mon, 8 Feb 2016 21:57:13 +0000 (16:57 -0500)]
Set vnet_buffer(b0)->sw_if_index[VLIB_TX]

Change-Id: I3274c8d426113c71fbb900978b94caef85eabae1
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoCisco Discovery Protocol, initial working attempt 52/252/1
Dave Barach [Mon, 8 Feb 2016 20:57:35 +0000 (15:57 -0500)]
Cisco Discovery Protocol, initial working attempt

There are multiple enhancement opportunities...

Change-Id: I976772dc3802f8284e8c6457c001d68184831e25
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoClean up per-thread elog track nomenclature. 33/233/1
Dave Barach [Fri, 5 Feb 2016 21:29:53 +0000 (16:29 -0500)]
Clean up per-thread elog track nomenclature.

Change-Id: I4b65b29f9291b3fd47e05576d9a0789af8912982
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoDPDK patch: Add missing init of packet_type field. 32/232/1
Todd Foggoa [Fri, 5 Feb 2016 16:40:17 +0000 (11:40 -0500)]
DPDK patch: Add missing init of packet_type field.

This can cause packets to be mishandled in systems with more than
one type of driver in use.

Change-Id: I73ae91ff5d7a22fa542c3b39f6ccfe50437ec71b
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
8 years agoDPDK patch: Allow applications to override rte_delay_us() 31/231/1
Todd Foggoa [Fri, 5 Feb 2016 16:39:30 +0000 (11:39 -0500)]
DPDK patch: Allow applications to override rte_delay_us()

Some applications may wish to define their own implentation of
usec delay other than the existing blocking one. The default
behavior remains unchanged.

Change-Id: I699b2ed460763492502d22b7e8532514e0886ecd
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
8 years agoDPDK patch: Fix a crash in igb_uio driver when the device is removed. 30/230/1
Todd Foggoa [Fri, 5 Feb 2016 16:38:25 +0000 (11:38 -0500)]
DPDK patch: Fix a crash in igb_uio driver when the device is removed.

Change-Id: I101166ebda1c06e20a3c89cd38786ce44b7ab5d5
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
8 years agoCLI: If an error happens on the socket being polled, then the CLI 26/226/1
Ole Troan [Wed, 27 Jan 2016 21:37:58 +0000 (23:37 +0200)]
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>
8 years agoRemove redundant apt-get install of dkms and debhelper. 11/211/2
Dave Wallace [Thu, 4 Feb 2016 03:40:07 +0000 (22:40 -0500)]
Remove redundant apt-get install of dkms and debhelper.

Change-Id: Id2caea331f86a71f26990e1ae11288826157e737
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 years agoChange non-default route ethernet interfaces state to down so VPP will use them. 10/210/2
Dave Wallace [Thu, 4 Feb 2016 03:34:04 +0000 (22:34 -0500)]
Change non-default route ethernet interfaces state to down so VPP will use them.

Change-Id: Icdb1a8d35a97e01d5e1be13fdc89ce3f9ec62e1a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
8 years agodpdk_buffer.c: Honor clone_count even when there isn't a freelist handler 14/214/2
Kevin Paul Herbert [Wed, 16 Dec 2015 00:56:50 +0000 (16:56 -0800)]
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>
8 years agoip[46].h: Remove tcp reference 12/212/2
Kevin Paul Herbert [Thu, 4 Feb 2016 00:52:22 +0000 (16:52 -0800)]
ip[46].h: Remove tcp reference

This is not used. Remove it.

Change-Id: I63f705db6bc10137d6e28977aa75e60f4e13cfe8
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agop1.c: Remove log() symbol 13/213/1
Kevin Paul Herbert [Thu, 4 Feb 2016 05:04:17 +0000 (21:04 -0800)]
p1.c: Remove log() symbol

This symbol is defined in the math library, and is a compiler
built-in. Plug-ins that need it should link with -lm.

Change-Id: I967c87ccea0e762b68ca59cfaa460f3d6e534a59
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agoNeed to include symbolic links in the lib package: libXXX.so, libXXX.so.0 08/208/1
Dave Barach [Wed, 3 Feb 2016 17:59:38 +0000 (12:59 -0500)]
Need to include symbolic links in the lib package: libXXX.so, libXXX.so.0

Otherwise, autotools can't find libXXX, -lXXX doesn't work, etc.

Change-Id: I9c4c43f795ca872475f65bc0e4494674eaa00576
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoSwitched vagrant for ~/git/vpp to /vpp 01/201/2
Ed Warnicke [Wed, 3 Feb 2016 01:47:17 +0000 (17:47 -0800)]
Switched vagrant for ~/git/vpp to /vpp

build-root/vagrant/Vagrantfile

was always mounting the vpp into /vpp
Now rather than cloning it and building,
we just use it as mounted.

In order to let folks know what happened,
a README.moved is copied into the ~/git/vpp
so folks know what happened.

In addition to make it easier for folks
to do commits from withing the vagrant,
we install git-review, and copy in the
users .gitconfig and .gnupg directory.

A couple of notes about this. VMWare goes much
much faster in all cases.  Virtualbox is a
bit slower in the very first run (without ccache).

One of the benefits of using the mounted /vpp though
is that after your first vagrant up, you always
have access to the .ccache, as it lives
outside the vagrant, and so in steady state
everything is faster.

Change-Id: I2cd2c28181b3d7e664240dfe2249b5be3f1b9241
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoEnabled CCACHE_DIR to be set by ENV Variable 03/203/1
Ed Warnicke [Wed, 3 Feb 2016 03:28:59 +0000 (19:28 -0800)]
Enabled CCACHE_DIR to be set by ENV Variable

Change-Id: I0098f995b1f75bbad5c448d5a0d8facc43e6f5cb
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoAdd pciutils to the CentOS vagrant bootstrap; needed to install vpp rpms 99/199/1
Dave Barach [Tue, 2 Feb 2016 21:59:04 +0000 (16:59 -0500)]
Add pciutils to the CentOS vagrant bootstrap; needed to install vpp rpms

Change-Id: Ia0cbf88a509392c1bd75fb242985da07c8356739
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoEnable ganglia module integration build 90/190/2
Dave Barach [Tue, 2 Feb 2016 15:57:15 +0000 (10:57 -0500)]
Enable ganglia module integration build

Change-Id: Ia49e9f246e8318ba74195c3397472fb0c102389b
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoTracing enhancements. 97/197/2
Bud Grise [Tue, 2 Feb 2016 19:23:29 +0000 (14:23 -0500)]
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>
8 years agoUse per-thread vlib_main 95/195/2
Shesha Sreenivasamurthy [Tue, 2 Feb 2016 18:06:07 +0000 (10:06 -0800)]
Use per-thread vlib_main

Change-Id: I8bee9f6661878a74a0375944ac01c9cb3a0acfbf
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
8 years agoSet the thread name for the stats thread if a thread name prefix is given. 94/194/1
Todd Foggoa [Tue, 2 Feb 2016 17:47:46 +0000 (12:47 -0500)]
Set the thread name for the stats thread if a thread name prefix is given.

Change-Id: Ie66d29bfbf6d106e9c49fb4f3738b26798c3a63c
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
8 years agoZero the interface template before using it. 92/192/1
Todd Foggoa [Tue, 2 Feb 2016 17:14:00 +0000 (12:14 -0500)]
Zero the interface template before using it.

Change-Id: Ib6ce325202657684adaa17c82f64c70298dae339
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
8 years agoChange default dpdk version to 2.2 88/188/2
Damjan Marion [Tue, 2 Feb 2016 14:37:58 +0000 (15:37 +0100)]
Change default dpdk version to 2.2

Change-Id: Iea686ed26d37539d60e52ac1205517512091edab
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agop1.c: Add symbols useful to IP protocol modules 84/184/2
Kevin Paul Herbert [Mon, 1 Feb 2016 17:41:37 +0000 (09:41 -0800)]
p1.c: Add symbols useful to IP protocol modules

Add some symbols which are useful for clients of the IP layer.

Change-Id: I26599a67bb9f89c883ac4ea6e630111dfac5e2c5
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agoremove igb_uio static pci id table patch, use new_id for all NICs 83/183/2
Damjan Marion [Mon, 1 Feb 2016 22:22:25 +0000 (14:22 -0800)]
remove igb_uio static pci id table patch, use new_id for all NICs

Change-Id: I1db64d62c19c28b50f58f9d0b009e3e89e331f71
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoChanged key of NSH VXLAN tunnel. 82/182/1
Keith Burns (alagalah) [Mon, 1 Feb 2016 22:14:43 +0000 (14:14 -0800)]
Changed key of NSH VXLAN tunnel.

- simple patch before extending CLI for next encap tunnel lookup

Change-Id: I56060185599252a1ae83cc162963b5fd5bc1b324
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
8 years agoFree the temporary vector 80/180/2
Robert Varga [Mon, 1 Feb 2016 17:33:38 +0000 (18:33 +0100)]
Free the temporary vector

vec_add1() seems to be allocating memory which we do not free. Correct
that.

Change-Id: I25dca1871121cdd11a218ff2289a3c51b42e843b
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoDo not copy data twice in swInterfaceDump() 79/179/2
Robert Varga [Mon, 1 Feb 2016 17:12:18 +0000 (18:12 +0100)]
Do not copy data twice in swInterfaceDump()

Instead of performing getting the elements, memcpy()ing them and the
releasing, use GetByteArrayRegion().

Change-Id: I20ef181df214ac4fdcaff5a64b89ef4f879078f8
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoAdd a vpp-dpdk-dev package, enable plugins to use dpdk APIs directly 77/177/1
Dave Barach [Mon, 1 Feb 2016 17:05:52 +0000 (12:05 -0500)]
Add a vpp-dpdk-dev package, enable plugins to use dpdk APIs directly

Change-Id: I69db06a0b5d5d556c2fd570ea0056bb59d7bc3d6
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoRefactor vpp-japi 69/169/6
Robert Varga [Sun, 31 Jan 2016 11:20:47 +0000 (12:20 +0100)]
Refactor vpp-japi

vlib does not allow concurrent connections, hence make sure the Java API
does not allow the user to instantiate them.

Also hide native methods from direct user invocation behind defensive
methods also detect if a particular connection has been terminated.
Disconnect is hidden befind standard close() method, as specified by
AutoCloseable.

Change-Id: Ib5079200ae4216cad84358a2174a41e90271a30b
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoChanges to Centos bootstrap to remove ~/git/vpp if it exists before attempting clone 75/175/2
Keith Burns (alagalah) [Sun, 31 Jan 2016 20:15:27 +0000 (21:15 +0100)]
Changes to Centos bootstrap to remove ~/git/vpp if it exists before attempting clone

- fixes issue with vagrant reload --provision not updating clone of clone

Change-Id: I506d4cbca90b30bf787c1be7e4ad39d748ea7f5b
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
8 years agoVagrantfile doesn't rm git/vpp and vagrant reload --provision 74/174/3
Keith Burns (alagalah) [Sun, 31 Jan 2016 19:53:46 +0000 (20:53 +0100)]
Vagrantfile doesn't rm git/vpp and vagrant reload --provision
result is not expected. ie don't get updates

- only applied ubuntu changes in this patch.

Change-Id: I194f5120734d63f1b815f86bb510f0c0981dd89b
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
8 years agoMake public fields final where possible 70/170/6
Robert Varga [Sun, 31 Jan 2016 11:25:45 +0000 (12:25 +0100)]
Make public fields final where possible

Class fields initialized via the constructor should be final.

Also mark leaking byte[] instances with a FIXME. API users consider them
immutable, but they are vulnerable to System.arrayCopy().

Also fixes constructor arguments so they do not use underscores, which
is prohibited by Java 9.

Change-Id: I393d55ed7234149cb3604bc92b2cb1d1207c55dc
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoAdd a copyright header 71/171/2
Robert Varga [Sun, 31 Jan 2016 12:39:19 +0000 (13:39 +0100)]
Add a copyright header

Change-Id: Ib543249b8de2b26b64de82c35f74422d10a5ee66
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoGit ignore additions 73/173/1
Keith Burns (alagalah) [Sun, 31 Jan 2016 19:38:54 +0000 (20:38 +0100)]
Git ignore additions

Change-Id: Iabf569e96d3a1ab50d737913ed997264a69762cc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
8 years agoCache jclass/jmethodID/jfieldID references 68/168/2
Robert Varga [Sat, 30 Jan 2016 17:30:36 +0000 (18:30 +0100)]
Cache jclass/jmethodID/jfieldID references

This patch introduces an initialization framework, which tracks required
references to Java classes and methods.

It works by declaring classes and their constructor signatures, which
are linked into a singly-linked list when the .so initializers are run.
Once JNI_OnLoad() is invoked, this list is walked and all classes and
their initializers are resolved. These are then used while the library
remains loaded. Once JNI_OnUnload() is called, global references are
released, so we can cleanly unload.

The class declaration results in static utility objects being emitted in
the scope of the declaration, hence to allocate an object or an array of
objects is done via simple calls.

Change-Id: I41984c13756339364dbcbf0144b947627e8e4fe1
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoAdd JAVA_HOME includes to vppjni build 67/167/1
Robert Varga [Sat, 30 Jan 2016 17:37:58 +0000 (18:37 +0100)]
Add JAVA_HOME includes to vppjni build

Failing to add these means that we rely on system headers, not the ones
provided in JAVA_HOME.

Change-Id: I612bd716590efbabec26e0ba83eb98f8e90b3255
Signed-off-by: Robert Varga <nite@hq.sk>
8 years agoRationalize metric names. 60/160/1
Dave Barach [Fri, 29 Jan 2016 16:00:00 +0000 (11:00 -0500)]
Rationalize metric names.

Change-Id: I3144e58f635ef94224387e8729bf8db6aa77a106
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoRemove unused tcp.h 58/158/1
Kevin Paul Herbert [Wed, 27 Jan 2016 02:32:24 +0000 (18:32 -0800)]
Remove unused tcp.h

This was left out of 8f9e7d43d8b8e5495477e3a587f78409a4cf8808
inadvertently. Remove it now.

Change-Id: I79625aeba400ccfdcfd972f454abd043c2537960
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agovpp metrics upload via gmond plugin 57/157/1
Dave Barach [Thu, 28 Jan 2016 14:36:05 +0000 (09:36 -0500)]
vpp metrics upload via gmond plugin

The gmond module (gmod) isn't built by default, pending CentOS
packaging work.

Change-Id: I78493a60f431cf9924a28d31ba29423a03aa79b3
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoEnable Chelsio T5 support 56/156/1
Damjan Marion [Wed, 27 Jan 2016 15:59:04 +0000 (16:59 +0100)]
Enable Chelsio T5 support

Change-Id: I4bb6ac36a8bc585677448f4b22bd1299630f95de
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoRemove vestigal TCP implementation 47/147/3
Kevin Paul Herbert [Wed, 27 Jan 2016 02:32:24 +0000 (18:32 -0800)]
Remove vestigal TCP implementation

Eliot's TCP was never completed. Remove it.

Change-Id: I8456ed02b55f5b3f0b93547533f7467dd2229c07
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agovnet: Add field for transmit time 46/146/2
Kevin Paul Herbert [Mon, 21 Dec 2015 23:16:59 +0000 (15:16 -0800)]
vnet: Add field for transmit time

Add a field in the buffer header for transmit time. High-level protocols
need a consistent way to do this.

Change-Id: Ifff60ee5e32eed7aa6f6ae8e6fb1dd9d7870e9ee
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agoWarnings be gone. 55/155/2
Dave Barach [Wed, 27 Jan 2016 18:41:28 +0000 (13:41 -0500)]
Warnings be gone.

Change-Id: I53730fd2ccd78fb73e11af77f8ffff19d75ebd95
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agodpdk_buffer.c: Ensure that the mbuf reference count is as expected 45/145/2
Kevin Paul Herbert [Wed, 16 Dec 2015 00:33:13 +0000 (16:33 -0800)]
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>
8 years agoip_checksum.c: Fixes for ip_csum_and_memcpy() alignment issues 44/144/2
Kevin Paul Herbert [Wed, 9 Dec 2015 03:53:45 +0000 (19:53 -0800)]
ip_checksum.c: Fixes for ip_csum_and_memcpy() alignment issues

Add explicit support for incremental operations which may be on
byte boundaries and misaligned. Since this is a memcpy() like function,
it needs to be robust in all byte operations.

Add code to perform the checksum 16 bits at a time when the destination
buffer pointer is not naturally aligned. The previous code did support
misaligned source data (via clib_mem_unaligned()), but didn't properly
align the destination pointer.

It would be possible to further optimize this by adding an optimzed
move operation where the source is aligned on natural boundaries.
Look at this as we optimize this function. At this point, I am
concentrating on correctness.

Change-Id: I2b0fd4795ec5c0ca294a733159c7355b54177690
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
8 years agoAllow CCACHE_DIR to be overridden, e.g. from .../build-root/build-config.mk 51/151/2
Dave Barach [Wed, 27 Jan 2016 14:44:47 +0000 (09:44 -0500)]
Allow CCACHE_DIR to be overridden, e.g. from .../build-root/build-config.mk

Change-Id: I9f2afa31c061b658e45ebbc16d01a6c118993116
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoFix l2output error-drop next node index 52/152/2
Damjan Marion [Wed, 27 Jan 2016 15:17:31 +0000 (16:17 +0100)]
Fix l2output error-drop next node index

Change-Id: I8a79f683350b77bd56b44e37a099293033aadd15
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoPrint worker thread name as a c-string, not a vector. Otherwise, the 53/153/1
Dave Barach [Wed, 27 Jan 2016 15:27:33 +0000 (10:27 -0500)]
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>
8 years agoFix vppctl to cope with vpe -> vpp transition 43/143/1
Ed Warnicke [Tue, 26 Jan 2016 22:45:07 +0000 (15:45 -0700)]
Fix vppctl to cope with vpe -> vpp transition

Change-Id: Ida88cff8b84756660eb682a6ff4d4ded3b0432e1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoRemove vpp-japi/m4/libtool.m4 42/142/1
Ed Warnicke [Tue, 26 Jan 2016 22:04:27 +0000 (15:04 -0700)]
Remove vpp-japi/m4/libtool.m4

Change-Id: Ife6221072603a7ba6cfbd16a96e9d71b2f36658b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoSet the ssvm_ethernet interface pid. Otherwise, the recursive lock 41/141/1
Dave Barach [Tue, 26 Jan 2016 20:36:42 +0000 (15:36 -0500)]
Set the ssvm_ethernet interface pid. Otherwise, the recursive lock
check breaks in a horrible way.

Change-Id: I5c2e69f89152a3f073e678354763086ac7bb7610
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoSmall fix for vppctl 40/140/2
Ed Warnicke [Tue, 26 Jan 2016 01:52:58 +0000 (18:52 -0700)]
Small fix for vppctl

Change-Id: I5d2668b3487d240e7d8c8a257e9a5607e2b314ec
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoMAP: Ensure fragmented packets get from ip4_map to ip4_map_reass. 39/139/1
Ole Troan [Mon, 25 Jan 2016 14:28:35 +0000 (16:28 +0200)]
MAP: Ensure fragmented packets get from ip4_map to ip4_map_reass.

Change-Id: If253be8ca173070fb69ce2e43159a68bcfba5d08
Signed-off-by: Ole Troan <ot@cisco.com>
8 years agoMAP: Fix handling of jumbo frames. 37/137/2
Ole Troan [Mon, 25 Jan 2016 10:20:49 +0000 (12:20 +0200)]
MAP: Fix handling of jumbo frames.

Change-Id: Iec59a766af6955e547f2355495204b92aa42bea7
Signed-off-by: Ole Troan <ot@cisco.com>
8 years agoFix rpm packaging bit-rot 38/138/1
Dave Barach [Mon, 25 Jan 2016 13:28:22 +0000 (08:28 -0500)]
Fix rpm packaging bit-rot

Change-Id: Ia710b0773984891ee18c6c0558cc09b984043e38
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoEnable shared-VM namespace support 36/136/1
Dave Barach [Fri, 22 Jan 2016 21:09:52 +0000 (16:09 -0500)]
Enable shared-VM namespace support

Required prep work for gracefully supporting
"... dpdk { proc-type secondary }" -  multiple processes sharing a physical
host, VM, container, etc.

Change-Id: Ic3eb72f4093e26d7c86dde3b8799264f1d0c218b
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoaarch64 CPU arch / ThunderX platform initial support 35/135/1
Dave Barach [Fri, 22 Jan 2016 13:23:09 +0000 (08:23 -0500)]
aarch64 CPU arch / ThunderX platform initial support

Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoPowerPC64-be arch support. Qemu ("qppc") platform support. 32/132/2
Dave Barach [Wed, 20 Jan 2016 14:11:55 +0000 (09:11 -0500)]
PowerPC64-be arch support. Qemu ("qppc") platform support.

Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoRename vpe binary name to avoid collision with latex 31/131/2
Damjan Marion [Wed, 20 Jan 2016 12:45:36 +0000 (13:45 +0100)]
Rename vpe binary name to avoid collision with latex

Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoMerge "Enhance and fix packet trace for IP forwarding as follows: 1. Add fib index...
Dave Barach [Tue, 19 Jan 2016 23:18:12 +0000 (23:18 +0000)]
Merge "Enhance and fix packet trace for IP forwarding as follows: 1. Add fib index to IP6 forwarding trace. 2. Display adjacency index in IP forwarding trace. 3. Fix adjacency display for L3 to L2 forwarding such as    BVI and VXLAN tunnel decap. 4. Setup VXLAN tunnel fib index properly for packet trace."

8 years agoMerge "Revert "Reenable debug cli telnet listener""
Dave Barach [Tue, 19 Jan 2016 23:16:48 +0000 (23:16 +0000)]
Merge "Revert "Reenable debug cli telnet listener""

8 years agoMerge "Fix bitmap list parsing"
Dave Barach [Tue, 19 Jan 2016 23:15:51 +0000 (23:15 +0000)]
Merge "Fix bitmap list parsing"

8 years agoRevert "Reenable debug cli telnet listener" 28/128/1
Ed Warnicke [Tue, 19 Jan 2016 22:29:42 +0000 (22:29 +0000)]
Revert "Reenable debug cli telnet listener"

Please leave the telnet disabled in the packages, as its is not secure on a server deployment and we *should* be secure out of the box.

This reverts commit 9c76c1fc68aaf1140b8d5b8b32fc7552f6381ed3.

https://gerrit.fd.io/r/#/c/102/

Change-Id: I0187375441b4a6dd508424d687f380bbfc485259
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoEnhance and fix packet trace for IP forwarding as follows: 29/129/1
John Lo [Tue, 19 Jan 2016 22:27:17 +0000 (17:27 -0500)]
Enhance and fix packet trace for IP forwarding as follows:
1. Add fib index to IP6 forwarding trace.
2. Display adjacency index in IP forwarding trace.
3. Fix adjacency display for L3 to L2 forwarding such as
   BVI and VXLAN tunnel decap.
4. Setup VXLAN tunnel fib index properly for packet trace.

Change-Id: I261fea5abf51e2550d24cdcee53887be2fdd08de
Signed-off-by: John Lo <loj@cisco.com>
8 years agoMerge "Reenable debug cli telnet listener"
Damjan Marion [Tue, 19 Jan 2016 21:05:28 +0000 (21:05 +0000)]
Merge "Reenable debug cli telnet listener"

8 years agoMerge "Shell script to run the emacs-skeleton plugin boilerplate generator"
Damjan Marion [Tue, 19 Jan 2016 21:04:19 +0000 (21:04 +0000)]
Merge "Shell script to run the emacs-skeleton plugin boilerplate generator"

8 years agoShell script to run the emacs-skeleton plugin boilerplate generator 27/127/1
Dave Barach [Tue, 19 Jan 2016 20:13:27 +0000 (15:13 -0500)]
Shell script to run the emacs-skeleton plugin boilerplate generator

Change-Id: I9b4d0faad20e8cad1ab347d3f3f7d2c063e3d495
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoClean up comment 26/126/1
Dave Barach [Tue, 19 Jan 2016 20:10:27 +0000 (15:10 -0500)]
Clean up comment

Change-Id: I487321624d3625e32e661ca378716ec083ce3ce2
Signed-off-by: Dave Barach <dave@barachs.net>
8 years agoFix bitmap list parsing 25/125/1
Damjan Marion [Tue, 19 Jan 2016 13:06:32 +0000 (14:06 +0100)]
Fix bitmap list parsing

Fixes "cpu_config: no such thread type 'corelist-workers'" issue

Change-Id: Ic0309ee62859ac73fd58c57b5f630aff5daf1775
Signed-off-by: Damjan Marion <damarion@cisco.com>
8 years agoEnabled vppctl to provide an interactive shell 24/124/1
Ed Warnicke [Mon, 18 Jan 2016 17:12:53 +0000 (10:12 -0700)]
Enabled vppctl to provide an interactive shell

Change-Id: Ibfed316570c03a4dd158781c6201f5713837adb4
Signed-off-by: Ed Warnicke <eaw@cisco.com>
8 years agoMerge "Temporary remove inlines to unbreak compilation with GCC 5"
Damjan Marion [Mon, 18 Jan 2016 13:56:29 +0000 (13:56 +0000)]
Merge "Temporary remove inlines to unbreak compilation with GCC 5"