Marek Gradzki [Thu, 24 Aug 2017 06:57:43 +0000 (08:57 +0200)]
jvpp: use (*env)->ExceptionClear before calling (*env)->ExceptionOccurred
Change-Id: I6cca455ead986cb8a507c84957a97a40b733b16c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Matus Fabian [Thu, 24 Aug 2017 05:08:22 +0000 (22:08 -0700)]
NAT64: Fix CLI typo (VPP-961)
Change-Id: I99e2766a118754387c9f238fc1b46057ee8a23e7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Wed, 23 Aug 2017 18:24:02 +0000 (11:24 -0700)]
tcp: add tcp.api.h to nobase include
Change-Id: Idcd78a21f4f2b6c1223123b5cc50a470ccd57e83
Signed-off-by: Florin Coras <fcoras@cisco.com>
Marek Gradzki [Fri, 18 Aug 2017 06:47:48 +0000 (08:47 +0200)]
Remove unused retval from gpe_native_fwd_rpath type definition
Change-Id: I89a10204454aeea07412289b153ba50d6a15498c
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Florin Coras [Wed, 23 Aug 2017 07:51:42 +0000 (00:51 -0700)]
gpe: add l2 lb counters
Change-Id: I81b3fc6266ad02239b6f1a216adc283efdcf0dce
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Mon, 21 Aug 2017 14:05:03 +0000 (07:05 -0700)]
NAT: Rename snat plugin to nat (VPP-955)
Change-Id: I30a7e3da7a4efc6038a91e27b48045d4b07e2764
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Wallace [Tue, 22 Aug 2017 22:32:34 +0000 (18:32 -0400)]
Fix vl_map_shmem() root_path dangling reference.
Change-Id: I90c9d8e151cacf50a99ce76b7a589079303196e8
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Ed Warnicke [Mon, 21 Aug 2017 01:42:19 +0000 (18:42 -0700)]
Enabled gid vpp in startup.conf to allow non-root vppctl access
Change-Id: I1ca9736dbefc9c284f5176de176fcc3dd1bfcd82
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Andrew Yourtchenko [Tue, 8 Aug 2017 14:43:38 +0000 (16:43 +0200)]
acl-plugin: Recreate the bihash_40_8.h in the proper place
Change-Id: I30a3df53bc5fe5ab991a657918eb502bd2913440
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Damjan Marion [Tue, 22 Aug 2017 11:51:31 +0000 (13:51 +0200)]
dpdk: fix Cavium ThunderX support
Change-Id: Id5812448917ce52984d5a778d5b304c448a752e7
Signed-off-by: Damjan Marion <damarion@cisco.com>
Keith Burns (alagalah) [Tue, 22 Aug 2017 13:55:31 +0000 (06:55 -0700)]
Update gitignore for DPDK files
Change-Id: I6c4e76d8a030ec5fafc8167873cc1471913a1e88
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
John Lo [Tue, 22 Aug 2017 13:16:50 +0000 (09:16 -0400)]
Increase default MAC learn limit and check it in learn-update path
1. Increase default MAC learn limit from 1M to 8M entries.
2. Check MAC learn limit in MAC learning update path.
3. Allow disable of want_l2_macs_events to set MAC learn limit
4. Other minor cleanups
Change-Id: I62438440937b5fa455e16f4a2e4d910277753395
Signed-off-by: John Lo <loj@cisco.com>
Damjan Marion [Tue, 22 Aug 2017 08:49:24 +0000 (10:49 +0200)]
policer: remove unused code
This is causing compiler error with gcc 7.
Change-Id: Ia65ee9d80ab263c79e82ad805e5cc5a12af91f85
Signed-off-by: Damjan Marion <damarion@cisco.com>
Kris Michielsen [Thu, 22 Jun 2017 11:00:20 +0000 (13:00 +0200)]
SRv6 tests
Change-Id: Ib1d2fc5a83d9d007a0468591a73881675f1bec9b
Signed-off-by: Kris Michielsen <kmichiel@cisco.com>
Damjan Marion [Mon, 21 Aug 2017 20:19:04 +0000 (22:19 +0200)]
dpdk: define MACHINE before it is used
This fixes build on non-x86 platforms like arm64.
Change-Id: I7ff5df92f89e34c27889d82f35924dc28cde8c39
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 21 Aug 2017 20:37:39 +0000 (22:37 +0200)]
ping: remove unnecesary x86 intrinsics #include
This include file is present only on x86 so it breaks non-x86 builds.
Change-Id: I6406b0b36f207b684535961545e95dbba707d267
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 21 Aug 2017 20:27:04 +0000 (22:27 +0200)]
dpdk: disable tun/tap PMD
Beside the fact that we don't need it, it fails to build on ARM64.
Change-Id: Iefae8bf234b588d8005df5e053b9152b6611929c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Sat, 12 Aug 2017 09:12:00 +0000 (02:12 -0700)]
PPPoE usses a midchain adjacency stack on an interface-tx DPO
1) introduce an interface-tx DPO. This is a simple wrapper around a sw_if_index. enhance DPO stacking functions to allow per-instance next-nodes and hence allow children to stack onto the interface per-instance tx node and not on 'interface-output'.
2) update PPPoE code to use ta midchain stack on a interface-tx DPO of the encap-interface. This remove the need for pppoe_encap node (which is replaced by the adj-midchain-tx) and interface-output node is no longer used (see above). Since PPPoE encap node is no longer needed, the PPPoE seesion does not need to be retrieved in the data-path, hence the cahce misses are removed.
Change-Id: Id8b40f53daa14889a9c51d802e14fed7fba4399a
Signed-off-by: Neale Ranns <nranns@cisco.com>
pragash [Fri, 18 Aug 2017 02:53:24 +0000 (22:53 -0400)]
Fixed ip add bug for ip6 with review comments
Change-Id: Ie1fba1a32020775444c7b1ed800e8559b54691ff
Signed-off-by: pragash <pxv3620@rit.edu>
Florin Coras [Thu, 17 Aug 2017 23:59:22 +0000 (16:59 -0700)]
session: fix multi-buffer segments
Change-Id: I0e22c85ea570b934b9c78dc5e86d86d690bdae5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Thu, 17 Aug 2017 22:57:20 +0000 (15:57 -0700)]
gpe: fix sub-interface hash lookup
Change-Id: Ice6b3818ee24c7c248bf61e4d6c1ef2a85cb8fb1
Signed-off-by: Florin Coras <fcoras@cisco.com>
Ole Troan [Thu, 17 Aug 2017 10:48:08 +0000 (12:48 +0200)]
Python API: Fix error message typo.
Change-Id: Icb67797a91a5929e57a08b79adeca226fee09de3
Signed-off-by: Ole Troan <ot@cisco.com>
Ole Troan [Thu, 17 Aug 2017 09:07:33 +0000 (11:07 +0200)]
API: More gracefully fail when opening shared memory segment fails.
API clients would fail with an ASSERT (and core dump) whenever
the API shared memory segment could not be opened.
This returns an error value to the client's connect instead.
Change-Id: Id122a3a090b24b139c382ae09f341bde61fd2540
Signed-off-by: Ole Troan <ot@cisco.com>
Keith Burns (alagalah) [Thu, 17 Aug 2017 20:33:15 +0000 (13:33 -0700)]
IP4_FIB stats API not indexing after FIB changes - VPP-951
Change-Id: I9ec36ee82ddd8f2f7a551b458e19b2fbae4aa7e7
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Jan Gelety [Fri, 18 Aug 2017 07:53:24 +0000 (09:53 +0200)]
Update CSIT tests 170731 -> 170814
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I09c8551e47dc78567e591ace1e552d3c534e5aab
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Florin Coras [Thu, 17 Aug 2017 04:23:44 +0000 (21:23 -0700)]
feature: exit on misconfigured features (VPP-915)
Change-Id: Ifa11f356d727b69cb121a2bf4cfb9d87883f545d
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Fri, 18 Aug 2017 09:34:28 +0000 (02:34 -0700)]
Use correct msg ID in the sw-interface-event from TAP and VHOST
Change-Id: I0124fa264f7f390fc7cd9722da59be03116831c5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Pavel Kotucek [Thu, 17 Aug 2017 12:18:00 +0000 (14:18 +0200)]
Fix vpp crash when adding macip acl
When adding at least two different types of MACIP acl vpp crash.
Change-Id: Ibbc76b94015311945be081fe0d8af71cf0672332
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Pavel Kotucek [Wed, 16 Aug 2017 13:45:37 +0000 (15:45 +0200)]
Fix small issues in ACL api
Enable IP address without prefix length, if not given use max (32/128)
Parse correctly type of acl (ipv4).
Change-Id: I3d5d6b45037c9e0f95d2d112ae584f006c6cb4d1
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Andrew Yourtchenko [Wed, 16 Aug 2017 10:06:15 +0000 (12:06 +0200)]
acl-plugin: time out the sessions created by main thread too (VPP-948)
In multithread setup the main thread may send packets,
which may pass through the node with permit+reflect action.
This creates the connection in lists for thread0,
however in multithread there are no interupt handlers there.
Ensure we are not spending too much time spinning in a
tight cycle by suspending the main cleaner thread
until the current iteration of interrupts is processed.
Change-Id: Idb7346737757ee9a67b5d3e549bc9ad9aab22e89
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
c1ff53f25d04ec1cc31844abd38014e91e398b5f)
Klement Sekera [Wed, 16 Aug 2017 14:38:10 +0000 (16:38 +0200)]
make test: fix broken passing of return value
Change-Id: I2cb83caaf55ca9a29c06d71c6d20f8273ec062b3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Dave Wallace [Thu, 17 Aug 2017 20:22:04 +0000 (16:22 -0400)]
Fix socket_test.sh to run iperf3 in docker.
Change-Id: I47018fee4283b7b257f16e21b82bf7e497a7d985
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Barach [Tue, 15 Aug 2017 23:03:44 +0000 (19:03 -0400)]
TCP source address automation
- v6 support
- Non-default VRF ID collection
- Break up ip source address list into CLI + API-friendly functions
- Automate proxy arp / proxy nd configuration
- Automate local adjacency insertion
- Binary API support
Change-Id: Iede31184f65cc1ec8c414447d2d60a1334e3fe15
Signed-off-by: Dave Barach <dave@barachs.net>
Klement Sekera [Tue, 15 Aug 2017 05:09:02 +0000 (07:09 +0200)]
make test: collect symlinks to failed tests
Compress files in temporary directories of failed tests and symlink
the directories under /tmp/vpp-failed-unittests location - preparation
for jenkins archivation. Automatically cleanup the directory at start
of test run.
The compression is performed only when environment variable
COMPRESS_FAILED_TEST_LOGS is set to one of "yes", "y", "1".
This is set in verify target, but left unset by default, so when
invoking make test by hand, files won't be compressed.
Change-Id: I84c8f1c6aa79aa9c0b753357022b1f195f17a283
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Ole Troan [Thu, 17 Aug 2017 08:34:32 +0000 (10:34 +0200)]
Python API: VPP-947 Empty chroot_prefix fails on encode()
Change-Id: Ide2cdc456f3ab3219930fb8e423b871810469cdc
Signed-off-by: Ole Troan <ot@cisco.com>
Marek Gradzki [Wed, 16 Aug 2017 13:12:40 +0000 (15:12 +0200)]
jvpp: suppress unwritten fields warrning found in DTO's hashCode
DTOs fields are initialized by generated JNI code, so
we can safely ignore FB.UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD.
Coverity uses FindBugs to analyse Java code,
so it should be possible to suppress some of the
issues that are false positives or intentional.
Change-Id: I1375f6123e3eb44db44065d603d9d81726161acb
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Florin Coras [Wed, 16 Aug 2017 05:47:22 +0000 (22:47 -0700)]
ip4: cleanup ip local
Change-Id: I4f751b0181f25ec6c4abd3a9c7b0386d80743b3a
Signed-off-by: Florin Coras <fcoras@cisco.com>
root [Tue, 15 Aug 2017 16:58:31 +0000 (12:58 -0400)]
tcp: fix v6 sessions
Change-Id: Ia6dd5e948b17b2f3866fe70838eabb09e35415e1
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Wed, 16 Aug 2017 12:37:36 +0000 (05:37 -0700)]
SNAT: Make proto optional in nat64_bib_dump (VPP-942)
make proto optional in nat64_bib_dump and nat64_st_dump
Change-Id: Idd102ce2b1555d38783fd22c84e46b4c48570edc
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Neale Ranns [Tue, 15 Aug 2017 19:29:48 +0000 (12:29 -0700)]
No context in SW interface event
At this pointin the game, events do not have an associated context. they have the client_index and pid instead.
Change-Id: I5052cab78f710bba630a61d2390acbaa1b3813ab
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Tue, 15 Aug 2017 05:33:41 +0000 (22:33 -0700)]
tcp: improve builtin http server
Additionally:
- remove opaques from stream_session_t
- ensure first segment manager is only used once per app.
Change-Id: I143d1fdb8effc88815ef969b78122ba3ac29e06e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Pavel Kotucek [Tue, 15 Aug 2017 11:13:28 +0000 (13:13 +0200)]
Add missing counters for P2P ethernet interfaces
Change-Id: I9d172d70f645fea5005abced73ca2700e640263a
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Matus Fabian [Tue, 11 Jul 2017 10:55:02 +0000 (03:55 -0700)]
NAT64: Fallback to 3-tuple key for non TCP/UDP sessions (VPP-884)
Change-Id: I4cafc8291725feb499355092bd429433e649b5b2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Wallace [Tue, 15 Aug 2017 20:56:29 +0000 (16:56 -0400)]
VCL: copy complete ip addr to/from vpe-api buf.
Change-Id: I951e051278e775a7ecdaa88af812f535727baa92
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Marek Gradzki [Tue, 15 Aug 2017 10:25:24 +0000 (12:25 +0200)]
jvpp: move JVppReply's id out of synchronized block
Should make Coverity stop thinking we try to synchronize reply.context.
Change-Id: I97169e46b9c8f594836d6beb75b9f42dfc6e5bad
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Neale Ranns [Tue, 15 Aug 2017 12:33:11 +0000 (05:33 -0700)]
Support proxy ARP on mirrored TAP interfaces
When VPP has an interface whose address is also applied to a TAP
interface on the host, then VPP's TAP interface will be unnumbered
to the 'real' interface and do proxy ARP from the host.
the curious aspect of this setup is that ARP requests from the host
will come from the VPP's own address.
Change-Id: Ia238790e1034ba3cd3facdab29387b65a31525f2
Signed-off-by: Neale Ranns <nranns@cisco.com>
Andrew Yourtchenko [Mon, 14 Aug 2017 18:49:23 +0000 (20:49 +0200)]
acl-plugin: don't attempt to delete the ACLs on interface deletion if ACL plugin heap is not initialized
With the addition of the own heap, the delete routines called from interface deletion
callback may attempt to initialize the ACL plugin heap. This is obviously not
a desirable condition - so, return early from the callback if the ACL plugin
heap has not been initialized yet - there is for sure nothing to clean up.
Change-Id: I08a6ae725294016ff5824189ade91c288e2c473b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Pavel Kotucek [Tue, 15 Aug 2017 11:52:22 +0000 (13:52 +0200)]
IPv6 local-address for P2P ethernet interfaces
Change-Id: I87d3cb5754843f38593e92f60a39af2e5241d1cf
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Billy McFall [Fri, 11 Aug 2017 18:05:11 +0000 (14:05 -0400)]
VPP-939: Update CLI Helptext for rx-placement commands
The CLI commands were change from 'set/show interface placement' to
'set/show interface rx-placement', but the associated help text was not
updated. On the 'set interface rx-placement', some of the parameters
were renamed, which was confusing when looking at the documentation for
help.
While in the file interface_cli.c, cleaned up several other CLI
commands. There are still other commands in the file that need
addressing.
Change-Id: Ifdc357c73ad9f3362133c495217b5a6b3a411eab
Signed-off-by: Billy McFall <bmcfall@redhat.com>
Florin Coras [Mon, 14 Aug 2017 18:25:25 +0000 (11:25 -0700)]
tcp: state machine improvements
- Add SYN_RCVD timeout
- Fix FIN_WAIT_1 to CLOSING transition
Change-Id: I42ca7fc087f6fdfae15bd7a6175dd3226ed341c7
Signed-off-by: Florin Coras <fcoras@cisco.com>
Marco Varlese [Mon, 14 Aug 2017 14:07:00 +0000 (16:07 +0200)]
Previous version was still downloading, unpacking and building IPSEC / AES
libraries.
This patch addresses the misbehaviour.
Change-Id: I41f1ece3ca21c5a8f2c95533ed3d77a535233ea6
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Marek Gradzki [Tue, 15 Aug 2017 05:38:26 +0000 (07:38 +0200)]
coverity: remove dependency on uint32_t in fib_test.c
Fixes make build-coverity
Change-Id: I5cf6992224f18b8e8770d365c42b3e759dc93f73
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Matus Fabian [Tue, 15 Aug 2017 06:39:58 +0000 (23:39 -0700)]
SNAT: fix overlapping address space test
change address/network of the second interface within VRF 10
Change-Id: Iab9772a419fb3e8f1a193756bdaa68cd8cdbb121
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Wallace [Mon, 14 Aug 2017 22:26:46 +0000 (18:26 -0400)]
Fix VCL LD_PRELOAD lib location in socket_test.sh
- Use VCL_LDPRELOAD_LIB_DIR env. var if set.
- Default to /usr/local/lib where it will be installed.
- Change library name to libvcl_ldpreload.so.0.0.0
Change-Id: I4fc30b581c8406c5895f875d859aa44bb9ef19b5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Mon, 14 Aug 2017 15:10:42 +0000 (08:10 -0700)]
TCP: Update time_now once per burst
Change-Id: I58089d7a9867ede9d8a36b2aea62edef04cb5b81
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Mon, 14 Aug 2017 14:18:42 +0000 (07:18 -0700)]
FIB table add/delete API only
commit only the addition of the .api definition and their invocation through VAT so CSIT can use it
Change-Id: Id510f14b1ce007fe5e92120507ea34100652fc64
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Mon, 14 Aug 2017 15:45:15 +0000 (08:45 -0700)]
TCP: update builtin server/client cli help
Change-Id: I224ef3ce1c4ac2ade5ba733a42c78b7ba5c0040e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Fri, 11 Aug 2017 08:06:15 +0000 (10:06 +0200)]
make test: properly handle ctrl-c
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Marek Gradzki [Thu, 10 Aug 2017 12:57:42 +0000 (14:57 +0200)]
jvpp: ignore messages if callback method is missing (VPP-548)
Change-Id: I6a06dbcd8339bd6645a6b02ae70154aa0885dcf8
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Sergio Gonzalez Monroy [Mon, 14 Aug 2017 08:26:44 +0000 (09:26 +0100)]
dpdk: force libdir for isa-l crypto library
Depending on the OS, the default libdir might change.
RHEL/Ubuntu:
libdir={exec_prefix}/lib
OpenSUSE:
libdir={exec_prefix}/lib64
Change-Id: I5f1672e5815ad821e6ac5fff95de5232ab735b67
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Marco Varlese [Mon, 14 Aug 2017 08:53:28 +0000 (10:53 +0200)]
Added MD5SUM for DPDK 17.08 tarball as a first step towards migration
Change-Id: Ic73b857c4e3d5a3f695e93924de5a5bed0af5019
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Sergio Gonzalez Monroy [Mon, 14 Aug 2017 08:46:19 +0000 (09:46 +0100)]
dpdk: cleanup unused build option *_uses_dpdk_cryptodev_sw
Change-Id: I62939592bd3cb151e02c55a3f1ee6e7d1ce469cb
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Jan Srnicek [Fri, 24 Mar 2017 09:18:11 +0000 (10:18 +0100)]
jvpp: make shm_prefix configurable (VPP-591)
svm.c - set default map region root path only if root path is not
already present
memory_shared.c - added option for tests to send memory region name
and root path in one variable, if so name and root path are
separated here and set to map region structure so find function
can find it properly
jvpp-registry.c - added parameters shmPrefix to be able pass +
removed sudo restriction
specific shared memory prefix that is used while starting
python tests(see framework.py)
JVppRegistyImpl - added option to specify shmPrefix
VppJNIConnection - added option to specify shmPrefix
Change-Id: I3f89f867fb9b20eef00fbd497cb0e41b25d6eab7
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Signed-off-by: Matej Perina <mperina@cisco.com>
Neale Ranns [Sat, 12 Aug 2017 19:52:54 +0000 (12:52 -0700)]
default update adjacency function deos not return multicast adjacency
by not returning a multicast adjacency type when requested, but instead returning a nbr type, the mcast adj was never correctly deleted. hence when reused the adjacency object was not realocated from the pool and when it was freed a second time a crash occured.
Change-Id: Ia74ae3e889db0dfba8ec3c6a0cccfef215587ff6
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Sat, 12 Aug 2017 01:26:23 +0000 (18:26 -0700)]
LISP: fix fid nsh address formatting
Change-Id: I912fa53c02c720901c9fb253550790829107de39
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Fri, 11 Aug 2017 04:56:05 +0000 (06:56 +0200)]
make test: fix broken DEBUG=gdb* options
Change-Id: I5d80982eeab78a629760f567eda3b1539d96e3a8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Tue, 1 Aug 2017 23:56:58 +0000 (16:56 -0700)]
Fix tcp multi buffer segments retransmission
- Fix tcp/udp sw checksum computation
- Fix allocation of multi buffer tcp segments for retransmits
- Send FIN only if/when tx fifo is empty
Change-Id: I2e43a14b87a72c9e547b4339b9a51811cf5732c4
Signed-off-by: Florin Coras <fcoras@cisco.com>
Hongjun Ni [Tue, 25 Jul 2017 14:03:08 +0000 (22:03 +0800)]
Fix IP fragment-id and offset issue in LB-GRE4
Change-Id: Ic1c440b2594c3ec4cdc75730069f16432cdb9587
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Filip Tehlar [Tue, 8 Aug 2017 11:11:22 +0000 (13:11 +0200)]
LISP: fix wrong reply message in map_register_fallback_threshold call
Change-Id: I0011c211908db6067f918fbaaa7d6863191d5bd3
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Neale Ranns [Mon, 7 Aug 2017 14:53:49 +0000 (07:53 -0700)]
Dedicated SW Interface Event
Change-Id: I06a10a4291e61aec3f1396d2514ed6fe3901897a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Neale Ranns [Thu, 10 Aug 2017 18:34:12 +0000 (11:34 -0700)]
the automatic addition of IP address to the magic TAP interface should only happen for one table
Change-Id: I99d3e9227c33ee42b90e4842080960fcc6c03913
Signed-off-by: Neale Ranns <nranns@cisco.com>
Dave Wallace [Thu, 3 Aug 2017 06:11:34 +0000 (02:11 -0400)]
Add VPP Communications Library (VCL)
- VCL library
- client/server test application
- test script (make test integration tbd)
- gdb command file templates
- vppcom test config file
Change-Id: I21eab7aa09b4e5dc3412acf5c2eab07415c2fc0f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 14:00:20 +0000 (16:00 +0200)]
acl-plugin: add the debug CLI to show macip ACLs and where they are applied (VPP-936)
When looking at resource utilisation, it is useful to understand
the interactions between the acl-plugin and the rest of VPP.
MACIP ACLs till now could only be dumped via API,
which is tricky when debugging. Add the CLIs to see
the MACIP ACLs and where they are applied.
Change-Id: I3211901589e3dcff751697831c1cd0e19dcab1da
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
f2cfcf676e67a7ea80ce20a69826210eb97acba5)
Chaoyu Jin [Tue, 8 Aug 2017 20:36:23 +0000 (13:36 -0700)]
Fix memory leaks found in policer code.
2nd commit is to fix style failures.
3rd commit is to remove unneccesary change based on review comment.
Change-Id: I4d54d25c27e037b9d0438f8af416cf113763dc6d
Signed-off-by: Chaoyu Jin <chjin@cisco.com>
Dave Barach [Thu, 10 Aug 2017 18:57:43 +0000 (14:57 -0400)]
Add tcp, session-layer MAINTAINERS file entries
Change-Id: I6c89383738624b8b18645b6c93c3025604ac538e
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Thu, 10 Aug 2017 00:50:09 +0000 (17:50 -0700)]
Fix LISP cp buffer leakage
Change-Id: Id7e0f967cc510f0b45f043f74493854083ac67ae
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 16:19:30 +0000 (18:19 +0200)]
acl-plugin: add MAINTAINERS entry
Change-Id: I681eca4897f8dba7e85fdbcbb7e03d1d9ef29224
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 12:19:58 +0000 (14:19 +0200)]
acl-plugin: hash lookup bitmask not cleared when ACL is unapplied from interface (VPP-935)
The logic in hash ACL bitmask update was using the vector
of ACLs applied to the interface to rebuild the hash lookup mask.
However, in transient cases (like doing group manipulation with
hash ACLs), that will not hold true. Thus, make
a local copy of for which ACL indices the hash_acl_apply
was called previously, and maintain that one local
to the hash_lookup.c file logic.
Change-Id: I30187d68febce8bba2ab6ffbb1eee13b5c96a44b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
1de7d7044434196610190011ebb431f054701259)
Dave Barach [Wed, 2 Aug 2017 17:56:13 +0000 (13:56 -0400)]
Improve the svm fifo allocator
- Round up requested fifo size to the next power of two
- Maintain per-segment power-of-two freelists
- Allocate fifos in chunks, to amortize alignment overhead
- Detach builtin test client application after each run
so we can use different fifo sizes each time
- Be more suspicious of session / application indices
Useful prep work for dynamically resizing fifos. As far as the svm
fifo code is concerned, it's OK to set fifo->nitems anywhere in the
interval: [0, 1<<(fifo->freelist_index) + FIFO_SEGMENT_MIN_FIFO_SIZE]
It's unlikely that setting nitems below the path MTU will work out
very well...
Change-Id: Idad73a027dfb7412056cb02988b77e300fa7e8a7
Signed-off-by: Dave Barach <dave@barachs.net>
Andrew Yourtchenko [Tue, 8 Aug 2017 18:10:12 +0000 (20:10 +0200)]
acl-plugin: avoid crash in multithreaded setup adding/deleting ACLs with traffic (VPP-910/VPP-929)
The commit fixing the VPP-910 and separating the memory operations
into separate heaps has missed setting the MHEAP_FLAG_THREAD_SAFE,
which quite obviously caused the issues in the multithread setup.
Fix that.
Also, add the debug CLIs
"set acl-plugin heap {main|hash} {validate|trace} {1|0}"
to toggle the memory instrumentation, in case we ever need it
in the future.
Change-Id: I8bd4f7978613f5ea75a030cfb90674dac34ae7bf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
e6423bef32ca2ffcfcd7a092eb4673badd53ea4c)
Klement Sekera [Thu, 10 Aug 2017 04:50:27 +0000 (06:50 +0200)]
make test: bump default test timeout to 10 minutes
Change-Id: I25d88966376d712ff61f29227a45880a59e8ecf2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Wed, 9 Aug 2017 12:43:35 +0000 (05:43 -0700)]
MPLS tunnel - multiple labels on the CLI - fix cut and paste robot errors
Change-Id: I675af62d9c0c9cf2e340bf19e902695861d4e4b5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matthew Smith [Wed, 9 Aug 2017 21:30:43 +0000 (16:30 -0500)]
VPP-933 VPP crashes when deleting an ARP entry
When attempting to delete an ARP entry on an interface
that hasn't had any ARP entries added yet, VPP was
retrieving an array element at an index that was out of
bounds and trying to dereference it.
Change-Id: Id141d3bfd8378dd8dd63f43b0b4b41461c285a4f
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Klement Sekera [Tue, 8 Aug 2017 02:33:53 +0000 (04:33 +0200)]
make test: detect hung tests
Run tests in a forked process with a set of pipes to communicate
keep-alives and overall result. This allows us to detect when e.g.
vpp dies mid-API call causing the test to hang waiting for response
(which will never come since vpp died).
Support setting a (per test case) TIMEOUT make test option to set timeout,
with a default timeout of 120 seconds.
Example - fail the test suite if any test-case fails to finish within
300s:
make TIMEOUT=300 test
Change-Id: I0d04f26a7232968f4bf043adf5d5b508f5018717
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Dave Barach [Mon, 7 Aug 2017 13:35:25 +0000 (09:35 -0400)]
TCP proxy prototype
- Clean up internal API client registration
- Add proxy server
- Add a reference count to the svm fifo
Change-Id: I5ace1c85497062ed412d26ae76a9e6741af1e984
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Wed, 9 Aug 2017 09:28:02 +0000 (11:28 +0200)]
acl-plugin: all TCP sessions treated as transient (VPP-932)
The packet that was creating the session was not tracked,
consequently the TCP flags seen within the session record
never got the value for the session to get treated as
being in the established state.
Test-escape, so add the TCP tests which test the
three phases of the TCP session life and make them all pass.
Change-Id: Ib048bc30c809a7f03be2de7e8361c2c281270348
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
754370f1b55d4102d21dd94676f2bda3170c7df0)
Sergio Gonzalez Monroy [Wed, 19 Jul 2017 15:22:28 +0000 (16:22 +0100)]
dpdk: only build SW crypto for x86_64 platforms
Change-Id: If559747ad59c82c81d15734f27e15548eca0962b
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Neale Ranns [Wed, 9 Aug 2017 12:35:02 +0000 (05:35 -0700)]
PPPoE: use DPO protos in FIB entry path add/remove
Change-Id: I6ac10ec0adf179b86f97269bbce2a7fd8796e72a
Signed-off-by: Neale Ranns <nranns@cisco.com>
Hongjun Ni [Tue, 4 Jul 2017 12:11:57 +0000 (20:11 +0800)]
Add PPPoE Plugin
Supports 64K PPPoE sessions
This plugin adds three graph nodes:
1) pppoe-input for PPPoE decapsulation
2) pppoe-encap for PPPoE encapsulation
3) pppoe-tap-dispatch for control plane process
Below is the configuration to make PPPoE CP and DP work:
vim /etc/vpp/startup.conf
tuntap {
enable
ethernet
name newtap
}
create pppoe tap tap-if-index 1
//Configure it after a subscriber's PPPoE discovery and PPP link establishment succeeds:
create pppoe session client-ip 100.1.2.1 session-id 1 client-mac 00:11:01:00:00:01
show pppoe fib
show pppoe session
Change-Id: I73e724b6bf7c3e4181a9914c5752da1fa72d7e60
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Neale Ranns [Tue, 8 Aug 2017 20:07:16 +0000 (13:07 -0700)]
Allow multiple MPLS output labels to be passed on the CLI
Change-Id: Ib5af105e32b6b0df86923e189ab6bf6ee59de5b9
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Tue, 8 Aug 2017 19:35:11 +0000 (12:35 -0700)]
ARP reply: use interface to build rewrite string
Change-Id: I488965e78d0b3291af4c82902098ca666317a22e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 24 May 2017 16:15:43 +0000 (09:15 -0700)]
L2 over MPLS
[support for VPWS/VPLS]
- switch to using dpo_proto_t rather than fib_protocol_t in fib_paths so that we can describe L2 paths
- VLIB nodes to handle pop/push of MPLS labels to L2
Change-Id: Id050d06a11fd2c9c1c81ce5a0654e6c5ae6afa6e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Thomas F Herbert [Wed, 19 Jul 2017 23:17:15 +0000 (19:17 -0400)]
Create source rpm.
Use actual file name for tarball.
Includes required modifications in spec file for unpacking srpm.
Spec file source references actual dist tarball name
so it matches the revision and release while building from srpm.
JIRA: VPP-498
Change-Id: I8b55a69f060b7864527b94d8c5b0a2ebccc306b1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Andrew Yourtchenko [Tue, 8 Aug 2017 11:27:30 +0000 (13:27 +0200)]
acl-plugin: fix a misplaced return (VPP-910)
It was uncaught by make test because the corresponding tests are not there yet - part of 17.10 deliverables
Change-Id: I55456f1874ce5665a06ee411c7abf37cd19ed814
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
58013b73509521789608f24a79a00177797ff9b1)
Neale Ranns [Tue, 8 Aug 2017 12:00:25 +0000 (05:00 -0700)]
MAC IP ACL interface list dump (as an alternative to the get/reply)
Change-Id: I2e71aef1aa745e85ad3234b0b708cdc50f335a75
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Andrew Yourtchenko [Thu, 27 Jul 2017 13:39:50 +0000 (15:39 +0200)]
acl-plugin: rework the optimization 7383, fortify acl-plugin memory behavior (VPP-910)
The further prolonged testing from testbed that reported VPP-910
has uncovered a couple of deeper issues with optimization from
7384, and the usage of subscripts rather than vec_elt_at_index()
allowed to hide a couple of further errors in the code.
Also, the current acl-plugin behavior of using the global
heap for its dynamic data is problematic - it makes
the troubleshooting much harder by potentially spreading
the problem around.
Based on this experience, this commits makes a few changes to fix
the issues seen, also improving the serviceability of the acl-plugin
code for the future:
- Use separate mheaps for any ACL-related control plane
operations and separate for the hash lookup datastructures,
to compartmentalize any memory-related issues for the ACL plugin.
- Ensure vec_elt_at_index() usage throughout the hash_lookup.c file.
- Use vectors rather than raw memory for storing the "ordinary" ACL rules.
- Rework the optimization from 7384 to use a separate tail pointer
rather than overloading the "prev" field.
- Make get_session_ptr() more conservative and adjust is_valid_session_ptr
accordingly
Change-Id: Ifda85193f361de5ed3782a4acd39622bd33c5830
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
bd9c5ffe39e9ce61db95d74d150e07d738f24da1)
Filip Tehlar [Thu, 27 Jul 2017 06:09:14 +0000 (08:09 +0200)]
LISP: Map-server fallback feature
Change-Id: I1356296e1a85b5d532f45ba70572b2184ac3f6fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Klement Sekera [Tue, 11 Jul 2017 05:29:37 +0000 (07:29 +0200)]
make test: kill all remaining subprocesses on exit
This change introduces a wrapper script which kills all processes in
the same process group as itself (with the exception of the script).
Using this script to run the unit tests should prevent stale processes
left behind in some cases (e.g. when test framework crashes).
Change-Id: If3b9201c06b87fa6be095721436893207d09b5e4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Filip Tehlar [Fri, 4 Aug 2017 07:13:50 +0000 (09:13 +0200)]
LISP: fix map register TTL reply handler, VPP-926
Change-Id: I0c638ad5dabc035b4b7de3b9befbe2c8ba7b0b66
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Matej Perina [Thu, 20 Jul 2017 13:35:19 +0000 (15:35 +0200)]
jvpp: provide more detailed exception logs (VPP-436)
Error descriptions provided in api_errno.h are never used,
only error tag/name and number make it to enum vnet_api_error_t
so new macro is introduced in jvpp_common.c to extract message
according to error number and passed to VppCallbackException
constuctor.
Change-Id: If2a687752807d7250d9226987583df00f151e87f
Signed-off-by: Matej Perina <mperina@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>