4451 Commits

Author SHA1 Message Date
Keith Burns (alagalah)
ee8c0a03d2 SFF NSH support VXLAN GPE
Change-Id: I23dae9e13f6c2ec7b3326710a40f28984ff6fe1f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-02-09 13:38:27 +00:00
Robert Varga
5baafefa44 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>
2016-02-09 11:23:26 +01:00
Dave Barach
f60a822297 Set vnet_buffer(b0)->sw_if_index[VLIB_TX]
Change-Id: I3274c8d426113c71fbb900978b94caef85eabae1
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-08 16:57:33 -05:00
Dave Barach
ced48e7cbb Cisco Discovery Protocol, initial working attempt
There are multiple enhancement opportunities...

Change-Id: I976772dc3802f8284e8c6457c001d68184831e25
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-08 15:57:55 -05:00
Dave Barach
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
Todd Foggoa
505488553a 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>
2016-02-05 14:27:09 -05:00
Todd Foggoa
a9dc8c9e6a 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>
2016-02-05 14:21:37 -05:00
Todd Foggoa
1d8dd705d7 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>
2016-02-05 14:20:59 -05:00
Ole Troan
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
Dave Wallace
efe710fe56 Remove redundant apt-get install of dkms and debhelper.
Change-Id: Id2caea331f86a71f26990e1ae11288826157e737
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-02-04 13:13:21 +00:00
Dave Wallace
d255ee13f5 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>
2016-02-04 13:13:21 +00:00
Kevin Paul Herbert
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
Kevin Paul Herbert
078bc5676e ip[46].h: Remove tcp reference
This is not used. Remove it.

Change-Id: I63f705db6bc10137d6e28977aa75e60f4e13cfe8
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-02-04 10:53:04 +00:00
Kevin Paul Herbert
31a879ae21 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>
2016-02-03 21:05:10 -08:00
Dave Barach
1c11311b32 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>
2016-02-03 12:59:49 -05:00
Ed Warnicke
eeee9e2b18 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>
2016-02-03 14:49:37 +00:00
Ed Warnicke
c28b474591 Enabled CCACHE_DIR to be set by ENV Variable
Change-Id: I0098f995b1f75bbad5c448d5a0d8facc43e6f5cb
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-02-02 19:30:31 -08:00
Dave Barach
f1bb047ae8 Add pciutils to the CentOS vagrant bootstrap; needed to install vpp rpms
Change-Id: Ia0cbf88a509392c1bd75fb242985da07c8356739
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-02 16:59:21 -05:00
Dave Barach
b10277dedc Enable ganglia module integration build
Change-Id: Ia49e9f246e8318ba74195c3397472fb0c102389b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-02 21:36:00 +00:00
Bud Grise
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
Shesha Sreenivasamurthy
cfe0724b22 Use per-thread vlib_main
Change-Id: I8bee9f6661878a74a0375944ac01c9cb3a0acfbf
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-02 18:24:42 +00:00
Todd Foggoa
4189c17afb 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>
2016-02-02 12:47:46 -05:00
Todd Foggoa
a28f44b34e Zero the interface template before using it.
Change-Id: Ib6ce325202657684adaa17c82f64c70298dae339
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-02 12:37:21 -05:00
Damjan Marion
eec5a51c12 Change default dpdk version to 2.2
Change-Id: Iea686ed26d37539d60e52ac1205517512091edab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-02 15:00:35 +00:00
Kevin Paul Herbert
b66dcfbf6c 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>
2016-02-01 23:53:25 +00:00
Damjan Marion
aed4d03268 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>
2016-02-01 23:47:41 +00:00
Keith Burns (alagalah)
a2f0d74c43 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>
2016-02-01 14:14:43 -08:00
Robert Varga
7a224a0075 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>
2016-02-01 18:42:53 +01:00
Robert Varga
427ce22583 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>
2016-02-01 18:42:53 +01:00
Dave Barach
74574228b0 Add a vpp-dpdk-dev package, enable plugins to use dpdk APIs directly
Change-Id: I69db06a0b5d5d556c2fd570ea0056bb59d7bc3d6
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-01 12:06:04 -05:00
Robert Varga
67ba3bed00 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>
2016-02-01 04:07:26 +00:00
Keith Burns (alagalah)
d5201c8007 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>
2016-02-01 03:42:12 +00:00
Keith Burns (alagalah)
f5a857d52c 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>
2016-02-01 03:18:56 +00:00
Robert Varga
004da76d2b 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>
2016-02-01 03:00:39 +00:00
Robert Varga
52a3a4de07 Add a copyright header
Change-Id: Ib543249b8de2b26b64de82c35f74422d10a5ee66
Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-01 01:39:06 +00:00
Keith Burns (alagalah)
3e74a8c243 Git ignore additions
Change-Id: Iabf569e96d3a1ab50d737913ed997264a69762cc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-01-31 20:38:54 +01:00
Robert Varga
81d99acf45 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>
2016-01-30 22:20:30 +01:00
Robert Varga
3142430cea 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>
2016-01-30 18:40:09 +01:00
Dave Barach
fc659e7115 Rationalize metric names.
Change-Id: I3144e58f635ef94224387e8729bf8db6aa77a106
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-29 11:00:13 -05:00
Kevin Paul Herbert
ec21e13a13 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>
2016-01-28 13:15:29 -08:00
Dave Barach
c23f7bc9a1 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>
2016-01-28 09:36:20 -05:00
Damjan Marion
2068e983dd Enable Chelsio T5 support
Change-Id: I4bb6ac36a8bc585677448f4b22bd1299630f95de
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-27 23:14:55 +01:00
Kevin Paul Herbert
8f9e7d43d8 Remove vestigal TCP implementation
Eliot's TCP was never completed. Remove it.

Change-Id: I8456ed02b55f5b3f0b93547533f7467dd2229c07
Signed-off-by: Kevin Paul Herbert <kph@cisco.com>
2016-01-27 20:59:33 +01:00
Kevin Paul Herbert
dac3fd44ff 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>
2016-01-27 20:54:19 +01:00
Dave Barach
63a814d9b6 Warnings be gone.
Change-Id: I53730fd2ccd78fb73e11af77f8ffff19d75ebd95
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-27 19:45:57 +00:00
Kevin Paul Herbert
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
Kevin Paul Herbert
cf121e3d51 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>
2016-01-27 18:58:26 +00:00
Dave Barach
c42508d158 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>
2016-01-27 18:35:14 +00:00
Damjan Marion
f46b7e6d78 Fix l2output error-drop next node index
Change-Id: I8a79f683350b77bd56b44e37a099293033aadd15
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-27 18:09:05 +00:00
Dave Barach
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