137 Commits

Author SHA1 Message Date
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
Ed Warnicke
a67c418487
Fix vppctl to cope with vpe -> vpp transition
Change-Id: Ida88cff8b84756660eb682a6ff4d4ded3b0432e1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-26 15:45:07 -07:00
Ed Warnicke
9917623a80
Remove vpp-japi/m4/libtool.m4
Change-Id: Ife6221072603a7ba6cfbd16a96e9d71b2f36658b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-26 15:04:27 -07:00
Dave Barach
c5d4dc7f8a 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>
2016-01-26 15:36:54 -05:00
Ed Warnicke
014bdeb850
Small fix for vppctl
Change-Id: I5d2668b3487d240e7d8c8a257e9a5607e2b314ec
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-01-26 09:57:14 -07:00
Ole Troan
1f8aeb9027 MAP: Ensure fragmented packets get from ip4_map to ip4_map_reass.
Change-Id: If253be8ca173070fb69ce2e43159a68bcfba5d08
Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-25 16:29:32 +02:00
Ole Troan
0d4ffcd0ef MAP: Fix handling of jumbo frames.
Change-Id: Iec59a766af6955e547f2355495204b92aa42bea7
Signed-off-by: Ole Troan <ot@cisco.com>
2016-01-25 14:05:09 +00:00
Dave Barach
0e5e3c3b62 Fix rpm packaging bit-rot
Change-Id: Ia710b0773984891ee18c6c0558cc09b984043e38
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-25 08:28:40 -05:00
Dave Barach
309bef25f1 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>
2016-01-22 16:10:07 -05:00
Dave Barach
61efa140b1 aarch64 CPU arch / ThunderX platform initial support
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7
Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22 08:23:27 -05:00
Dave Barach
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
Damjan Marion
08ff7e00bf Rename vpe binary name to avoid collision with latex
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-20 16:33:01 +01:00
Dave Barach
13056f93d9 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." 2016-01-19 23:18:13 +00:00
Dave Barach
1549b61e76 Merge "Revert "Reenable debug cli telnet listener"" 2016-01-19 23:16:48 +00:00
Dave Barach
2eb349224d Merge "Fix bitmap list parsing" 2016-01-19 23:15:51 +00:00