Christophe Fontaine [Mon, 2 Oct 2017 16:10:54 +0000 (18:10 +0200)]
[aarch64] Fixes CLI crashes on dpaa2 platform.
- always use 'va_args' as pointer in all format_* functions
- u32 for all 'indent' params as it's declaration was inconsistent
Change-Id: Ic5799309a6b104c9b50fec309cba789c8da99e79
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>
Marco Varlese [Wed, 4 Oct 2017 12:13:53 +0000 (14:13 +0200)]
Packages dependencies: added clang3_8 and indent packages
Change-Id: I4ed2d5f7e743369e2a41cfcb93b016d928cfed95
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Klement Sekera [Wed, 4 Oct 2017 04:26:36 +0000 (06:26 +0200)]
checkstyle: add clang-format dependency, fix bug
Change-Id: I608d3b73700d57652b015a9fc09300e99386a37f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Wed, 4 Oct 2017 09:29:07 +0000 (02:29 -0700)]
Set MAC address needs the HW interface index
Change-Id: I7b175d57b85e626aab00221b6dac0498aebcbeae
Signed-off-by: Neale Ranns <nranns@cisco.com>
Damjan Marion [Thu, 20 Jul 2017 16:10:35 +0000 (18:10 +0200)]
dpdk: use vpp physmem allocator for dpdk buffers
This allows us to have single contignuous allocation for DPDK buffers
with single mmap FD, so buffer memory can be easily shared with diffrent
process.
As a consequence dpdk socket-mem is no longer in charge for allocating
buffer memory, but still we need some space allocated for dpdk
structures so default socket-mem is reduced form 256 to 64 MB.
For a default of 16K buffers per numa node, physmem allocation is now
40MB, so basically this change reduces footprint from 256MB per socket
to 48 (64 + 40).
Change-Id: Ic8cfe83930a18411545b37a12b14aac89affd04f
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Sun, 1 Oct 2017 19:08:10 +0000 (12:08 -0700)]
Dump of deag/lookup routes has is_drop=1 (VPP-995)
Change-Id: I58772a83e22885a9ea8a7a981d2bcb4b31a050d2
Signed-off-by: Neale Ranns <nranns@cisco.com>
Jakub Grajciar [Thu, 28 Sep 2017 10:52:03 +0000 (12:52 +0200)]
libmemif: memif_rx_burst fix
Change-Id: I2f488fef828df8915b57552567e1be79efe69700
Signed-off-by: Jakub Grajciar <Jakub.Grajciar@pantheon.tech>
Steven [Sat, 30 Sep 2017 17:50:20 +0000 (10:50 -0700)]
memif: crash on slave mode
Crash was seen on recent image with this BT on top of the stack
(gdb) bt full
(mif=0x7fffb6226568) at
/vpp/build-data/../src/plugins/memif/memif.c:297
ring = 0x0 <<<<<<<<<<
i = 0
j = 0
buffer_offset = 65792
r = 0x7fffb5e59f80
alloc = {flags = 1, name = 0x7fffb449f965 "memif region",
size =
4260096, numa_node = 0, addr = 0x7fff41dac000,
fd = 11,
log2_page_size = 12, n_pages = 1041}
err = 0x0
__FUNCTION__ = "memif_init_regions_and_queues"
The crash happened at this line.
ring = memif_get_ring (mif, MEMIF_RING_S2M, i);
ring=>head = ring->tail = 0; <=====
Please note that the crash is caused by dereferencing NULL rinng.
Put breakpoint into the function. I notice that
mif->regions[0].shm is not initialized.
(gdb) p mif->regions[0].shm
$8 = (void *) 0x0
It looks like we forgot to set shm after clib_mem_vm_ext_alloc().
Add the missing cide and the crash is fixed.
Change-Id: Ib722a6c241c77acfa8e33962106b57faa50e1ea7
Signed-off-by: Steven <sluong@cisco.com>
Jan Gelety [Mon, 2 Oct 2017 07:27:37 +0000 (09:27 +0200)]
Update CSIT tests 170926 -> 171002
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I6331016b17b0811bf0ea1be03c5782428514a01a
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Anton Ivanov [Tue, 3 Oct 2017 09:08:05 +0000 (10:08 +0100)]
VPP-1001 - update AF Packet Driver to for modern kernels
1. Add VNET headers support for checksumming - required
to operate correctly on any recent Linux
2. Bypass QDISC on transmit - improves performance by ~ 5%.
Enabled only if the macro is detected - apparently not
present on archaic distributions.
This still does not solve all issues with TSO - it can be
fixed only by going to tpacket v3 and dynamic rx ring as
well as significant changes in the TX (sendmmsg?).
Change-Id: Iea14ade12586c0a8da49e6dd1012108a08bc85b3
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Matthew Smith [Tue, 26 Sep 2017 18:33:44 +0000 (13:33 -0500)]
Add API support to dump IPsec SAs
Add an API request message type to dump IPsec SAs. Either
all IPsec SAs can be dumped or it can be limited to a single
SA ID (numeric ID set at creation time - not an index).
Add a handler for incoming messages with the new request type.
Add an API response message type containing the data
for an IPsec SA.
Add VAT support for new message type.
Change-Id: Id7828d000efc637dee7f988a87d3f707a8b466b7
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Florin Coras [Tue, 3 Oct 2017 18:26:10 +0000 (14:26 -0400)]
api: fix internal client registrations
Makes sure vlib_rp and shmem_hdr are initialized for internal
registrations. They are needed for keepalive msg exchanges.
Change-Id: I805dec2d2aa84b1efdc1fdd692fc1d94389b776e
Signed-off-by: Florin Coras <fcoras@cisco.com>
John Lo [Tue, 3 Oct 2017 17:13:47 +0000 (13:13 -0400)]
Update L2FIB entry timestamp only if BD aging enabled (VPP-1002)
Change L2 learning path so it update stale timestamp in MAC entry
only if aging is enabled on the BD for the MAC entry.
Change-Id: I7babe986ceef3c030d8ef9185076c42b405f7b0f
Signed-off-by: John Lo <loj@cisco.com>
eyal bari [Tue, 3 Oct 2017 09:25:07 +0000 (12:25 +0300)]
L2FIB,TEST:add max macs in event test
Change-Id: Ied72d44f8695af524751ffc54196cc3ac1addc85
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Fri, 29 Sep 2017 03:49:42 +0000 (23:49 -0400)]
tcp: updates to connection closing procedure (VPP-996)
- add separate TIME_WAIT time constant
- fix output node for TIME_WAIT acks
- ensure snd_nxt is snd_una_max after retransmitting fin
- debugging improvements
Change-Id: Ic947153346979853f2526824b229126e47aead86
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matej Perina [Mon, 25 Sep 2017 07:42:42 +0000 (09:42 +0200)]
jvpp: added logs for sending and receiving event messages (VPP-982)
Change-Id: I47f9d12d934378f18c6f841b902af2a64ee7b187
Signed-off-by: Matej Perina <mperina@cisco.com>
Dave Barach [Sun, 10 Sep 2017 19:04:27 +0000 (15:04 -0400)]
Repair vlib API socket server
- Teach vpp_api_test to send/receive API messages over sockets
- Add memfd-based shared memory
- Add api messages to create memfd-based shared memory segments
- vpp_api_test supports both socket and shared memory segment connections
- vpp_api_test pivot from socket to shared memory API messaging
- add socket client support to libvlibclient.so
- dead client reaper sends ping messages, container-friendly
- dead client reaper falls back to kill (<pid>, 0) live checking
if e.g. a python app goes silent for tens of seconds
- handle ping messages in python client support code
- teach show api ring about pairwise shared-memory segments
- fix ip probing of already resolved destinations (VPP-998)
We'll need this work to implement proper host-stack client isolation
Change-Id: Ic23b65f75c854d0393d9a2e9d6b122a9551be769
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Jon Loeliger [Thu, 28 Sep 2017 18:54:16 +0000 (13:54 -0500)]
Propagate duplicate IF addr add/del error up to API.
Identify and complain when the same IP prefix is assigned
to two different SW interfaces:
vpp# set int ip address TenGigabitEthernet6/0/0 1.2.3.4/32
vpp# set int ip address TenGigabitEthernet6/0/1 1.2.3.4/32
set interface ip address: Prefix 1.2.3.4/32 already found on
interface TenGigabitEthernet6/0/0
Change-Id: I1aee1b6a7ddd00d3109a53d8e1b6ce97bf45e372
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Dave Wallace [Sun, 1 Oct 2017 02:04:21 +0000 (22:04 -0400)]
make test: Copy api_post_mortem.$$ file tmp test dir for archiving.
Change-Id: I4baf89ef383dbc2f309081a6b56b13ebcb8fc2df
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Eyal Bari [Wed, 27 Sep 2017 18:43:51 +0000 (21:43 +0300)]
L2-FIB:add mac learn events test
fixes an issue where events were not sent if BD doesn't enable mac aging
Change-Id: Iddc53cb5c45e560633e6c5cff2731dccfc70ad5b
Signed-off-by: Eyal Bari <ebari@cisco.com>
Dave Wallace [Sat, 30 Sep 2017 19:12:19 +0000 (15:12 -0400)]
make test: Create link to failed test dir on timeout.
- Also change default coredump configuration from
"coredump-size unlimited" to "full-coredump"
Change-Id: Iefedc2636f2d9696b7575b34e91dd7be49f601fa
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Sat, 30 Sep 2017 05:53:26 +0000 (01:53 -0400)]
make test: archive failed test data with build logs.
- Fix invocation of compress_failed.sh
- Fix compress_failed to copy compressed results
files to $WORKSPACE/archives and return failure
exit code.
Failed test case data will be copied to logs.fd.io
and found in the archives/<make test data dir>-FAILED
directory in the build log link in the
vpp-verify-master-ubuntu1604 jenkins job page.
For example:
https://logs.fd.io/production/vex-yul-rot-jenkins-1/vpp-verify-master-ubuntu1604/7353/archives/
Change-Id: Ife9a0737115e69c0a8441e3bb0133af1528d909b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Klement Sekera [Fri, 29 Sep 2017 10:36:37 +0000 (12:36 +0200)]
make test: fix/disable VAPI tests on centos
Workaround old `check' library on centos.
Disable building/running of C++ VAPI test as centos's gcc can't compile
our C++ code (vapi.hpp) due to bug.
Change-Id: If9da9c7f1bc076f7cdfb9bd3016dfe60a08afa36
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Steven [Thu, 28 Sep 2017 23:38:56 +0000 (16:38 -0700)]
cdp/lldp: punt for no buffer
When making a call to vlib_packet_template_get_packet(), it
is possible to get back a NULL if the system runs out of buffer.
This can happen when there is buffer leaks. But don't crash
just because we run out of buffers, just punt.
Change-Id: Ie90ea41f3dda6e583d48959cbd18ff124158d7f8
Signed-off-by: Steven <sluong@cisco.com>
Klement Sekera [Fri, 22 Sep 2017 05:52:28 +0000 (07:52 +0200)]
C++ API: remove deprecated throw lists
Change-Id: Ia58664438c9dc949884a794bd123555a13a02e6c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Klement Sekera [Thu, 28 Sep 2017 04:31:53 +0000 (06:31 +0200)]
drop python3 dependency
Change-Id: I99c2c1d0d5b96f33efdb58dd3a2897a752e65349
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Thu, 28 Sep 2017 06:31:07 +0000 (23:31 -0700)]
Update package version
Change-Id: Ic9bc303b65c95a0e06f90c75b067056b0b11e654
Signed-off-by: Florin Coras <fcoras@cisco.com>
Chris Luke [Wed, 27 Sep 2017 19:09:48 +0000 (15:09 -0400)]
General documentation updates
- We now have several developer-focused docs, so create an index page
for them.
- Rework several docs to fit into the index structure.
- Experiment with code highlighting; tweak the CSS slightly to make
it slightly nicer to look at.
Change-Id: I4185a18f84fa0764745ca7a3148276064a3155c6
Signed-off-by: Chris Luke <chrisy@flirble.org>
Steven [Tue, 26 Sep 2017 22:58:24 +0000 (15:58 -0700)]
tun/tap: Bad packets sent to kernel via tun/tap interface
It was observed that under heavy traffic, VPP accidentally sent traffic
with the wrong source and destination to the tun/tap interface. Traffic
appears to be sent to the wrong direction. This problem is only
seen when worker thread is configured.
When worker thread is used, TX and RX may reside in different
core. Yet both TX and RX threads are sharing the same global variable,
namely iovecs without any mutex or memory barrier protection.
This creates a race condition when heavy traffic is blasted to VPP,
like 1000 pps.
We could create a mutex or memory barrier to ensure atomic memory access.
But why bother? It is a lot cheaper to just decouple the iovecs such
that TX and RX have their own iovecs.
Change-Id: I86a5a19bd8de54d54f32e1f0845bae6a81bbf686
Signed-off-by: Steven <sluong@cisco.com>
Matej Perina [Thu, 21 Sep 2017 15:03:27 +0000 (17:03 +0200)]
VPP-990 remove registered handler if control ping fails
Change-Id: I5ca5763f0dc0a73cc6f014b855426b7ac180f356
Signed-off-by: Matej Perina <mperina@cisco.com>
Filip Tehlar [Wed, 27 Sep 2017 12:32:02 +0000 (14:32 +0200)]
LISP: add API handlers for set/get transport protocol
Change-Id: Ib675164c475edcdbe3013df7b847adf5e050c53f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Akshaya N [Fri, 15 Sep 2017 12:07:53 +0000 (17:37 +0530)]
VLAN support on host(af-packet) interface.
On host interface if a VLAN tagged packet is received, linux kernel removes
the VLAN header from packet byte stream and adds metadata in tpacket2_hdr.
This patch explicitely checks for the presense of VLAN metadata and adds it
in VPP packet.
Change-Id: I0ba35c1e98dbc008ce18d032f22f2717d610c1aa
Signed-off-by: Akshaya N <akshaya@rtbrick.com>
Dave Wallace [Tue, 26 Sep 2017 22:15:47 +0000 (18:15 -0400)]
Update vagrant centos config to CentOS 7.4
Change-Id: I45c1227b53ba9e57b94f1bc68de939cd3ce9d619
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Steve Shin [Tue, 26 Sep 2017 17:07:58 +0000 (10:07 -0700)]
Fix: unnecesary uio binding for Mellanox NIC
UIO binding is not required for Mellanox NIC and calling vlib_pci_bind_to_uio()
should be skipped.
Change-Id: I10ea457bc3c8d4be8117dec51d5bd940ee416a44
Signed-off-by: Steve Shin <jonshin@cisco.com>
Chris Luke [Tue, 26 Sep 2017 17:15:16 +0000 (13:15 -0400)]
Various fixes for issues found by Coverity (VPP-972)
174267: Revisit this string termination issue
174816: Add check for NULL when trace is enabled
177211: Add notation that mutex is not required here
177117: Added check for log2_page_size == 0 and returns an error if so
163697,163698: Added missing sw_if_index validation
Change-Id: I5a76fcf6505c785bfb3269e353360031c6a0fd0f
Signed-off-by: Chris Luke <chrisy@flirble.org>
Andrew Yourtchenko [Wed, 27 Sep 2017 11:50:31 +0000 (13:50 +0200)]
acl-plugin: take 2 at VPP-991 fix, this time with a test case which verifies it.
The replacement of [] with pool_elt_at_index and subsequent fixing it
was incorrect - it was equivalent to &[], since it returns a pointer to
the element. I've added VPP-993 previously to create a testcase,
so this commit partially fulfills that one as well.
Change-Id: I5b15e3ce48316f0429232aacf885e8f7c63d9522
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Klement Sekera [Wed, 27 Sep 2017 04:48:44 +0000 (06:48 +0200)]
make test: clean ext binaries when doing test-wipe
Change-Id: I9f5212ee670ea91c6b35f1406c256d0687b9c6b5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Jan Gelety [Tue, 26 Sep 2017 07:52:18 +0000 (09:52 +0200)]
Update CSIT tests
1700906 -> 170926
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: If582dc7c5e37bd3cda7ba4858e98fc504e2b7b1e
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Marco Varlese [Mon, 25 Sep 2017 08:05:01 +0000 (10:05 +0200)]
Fix SUSE dependencies to contemplate both python and python3 scripts.
Change-Id: Ib677955448833dfeb1291490340f5ea1e417213b
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Florin Coras [Tue, 26 Sep 2017 16:30:40 +0000 (12:30 -0400)]
tcp: update snd_nxt after congestion recovery
Change-Id: I2cf4c4850b9c3c093a7dce0cec89b9f710f69393
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Tue, 26 Sep 2017 14:54:34 +0000 (10:54 -0400)]
Add thread-safe event signaller, use RPC where required
Update ping code to use the new function
Change-Id: Ieb753b23f8402cbe5667c22747896784c8ece937
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Klement Sekera [Tue, 26 Sep 2017 00:39:40 +0000 (02:39 +0200)]
checkstyle: ignore old clang-format (centos)
Change-Id: Iecf35bd9fd760856e32eb1c0c9542ffbed472379
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Klement Sekera [Tue, 26 Sep 2017 07:21:24 +0000 (09:21 +0200)]
make test: don't recompile ext if not needed
Skip recompilation of test binaries from test/ext if these are
up-to-date. This speeds up repeated test runs.
Change-Id: I96dbfafc372398e3d858d8419219ef35c47bd0f3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Matej Perina [Mon, 25 Sep 2017 08:54:47 +0000 (10:54 +0200)]
jvpp: lowering verbosity level for jvpp tests
Change-Id: Ie38dad209cce6d546379b4a5e449b34fbcadf171
Signed-off-by: Matej Perina <mperina@cisco.com>
Matus Fabian [Tue, 26 Sep 2017 08:23:01 +0000 (01:23 -0700)]
NAT: remove worker_by_in lookup hash table (VPP-992)
Change-Id: I3873d3e411bf93cac82e73a0b8e3b22563aaf217
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Andrew Yourtchenko [Thu, 14 Sep 2017 16:26:36 +0000 (18:26 +0200)]
acl-plugin: test: move the API calls to vpp_papi_provider.py
Change-Id: I1d3818027b8a1fcb1ec12016e3476b5c22a2d5a5
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Aequitas [Sat, 23 Sep 2017 04:58:49 +0000 (12:58 +0800)]
Memory overwritten when using unformat %u (VPP-987)
Change-Id: I7d8f807fb502d61688aa1dee25fa4edcbeb32f41
Signed-off-by: Aequitas <wang.junqi@zte.com.cn>
Dave Wallace [Mon, 25 Sep 2017 19:00:36 +0000 (15:00 -0400)]
Fix Ubuntu java dependency regression.
- introduced by
e6f3b467 "Fix for ssl dependency on debian 9"
Change-Id: If41e517b2a55d2028ade6671f407831cfcf205c4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Mon, 25 Sep 2017 20:12:16 +0000 (16:12 -0400)]
Vagrant fails if Vagrantfile is a symlink on Windows 10.
- Revert Vagrantfile symlink to the default
- Update README and env.sh
Change-Id: Ib1a557b897e0217b162c31118a4c265769dd1760
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Dave Wallace [Mon, 25 Sep 2017 19:37:56 +0000 (15:37 -0400)]
Refactor multi-host socket_test.sh for bare-metal.
Change-Id: I4fcde6652e0c66315a453250c6e02cd32176833d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Florin Coras [Sun, 24 Sep 2017 23:43:08 +0000 (19:43 -0400)]
tcp: do not sample rtt for retransmitted segments
Change-Id: I365c31607332a944ef498369881332b515894ed7
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Mon, 25 Sep 2017 16:37:28 +0000 (18:37 +0200)]
acl-plugin: use vec_elt_at_index rather than pool_elt_at_index to access vector elements
bb7f0f644 aimed to fix the coverity issue has incorrectly replaced the previous [] access
with pool_elt_at_index(), for an element of a vector, with predictably interesting result.
VPP-991 has uncovered the issue.
Change-Id: Ifd3fb70332d3fdd1c4ff8570372f394913f7b6c8
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Jerome Tollet [Tue, 19 Sep 2017 19:30:48 +0000 (20:30 +0100)]
Fix usage string for vat
Change-Id: Idad65cbb3765500a66f1097126076a2c5fdb4f1b
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
John Lo [Sat, 23 Sep 2017 12:59:58 +0000 (08:59 -0400)]
Fix sending GARP/NA on Bonded Interface Active/Backup Link Up/Down
For bonded interface in Active/Backup mode (mode 1), we need to
send a GARP/NA packet, if IP address is present, on slave link
state change to up or down to help with route convergence. The
callback from DPDK happens in a separate thread so we need to make
sure RPC call is used to signal the send_garp_na process in the
main thread. Also need to fix DPDK polling so the slave links are
not polled.
Change-Id: If5fd8ea2d28c54dd28726ac403ad366386ce9651
Signed-off-by: John Lo <loj@cisco.com>
Dave Barach [Mon, 25 Sep 2017 12:47:59 +0000 (08:47 -0400)]
Add binary API documentation
Change-Id: Id1a5da12b13d87bacfa81094f471b95db40c39be
Signed-off-by: Dave Barach <dave@barachs.net>
Matus Fabian [Fri, 22 Sep 2017 09:43:05 +0000 (02:43 -0700)]
NAT: session number limitation to avoid running out of memory crash (VPP-984)
Change-Id: I7f18f8c4ba609d96950dc1f833feb967d4a099b7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Jakub Grajciar [Mon, 18 Sep 2017 09:21:40 +0000 (11:21 +0200)]
libmemif: Jumbo frames data/buffer length fix
Change-Id: Icadf1c28b4ab712a210a8e037200ab29d6c53fe4
Signed-off-by: Jakub Grajciar <grajciar.jakub@gmail.com>
Marco Varlese [Fri, 22 Sep 2017 15:53:53 +0000 (17:53 +0200)]
openSUSE build fix
* Fixed package dependency
* Fixed bash unary operation error
Change-Id: I782dda8ffd807931241fa6034c110f5fedbeca8e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Dave Barach [Fri, 22 Sep 2017 17:34:39 +0000 (13:34 -0400)]
Fix vpp "unix interactive" when running under emacs + gdb
In this specific corner-case setup, ioctl (0, TIOCGWINSZ) returns
window height = 0 and width = 0. Rather than declaring the terminal to
be non-interactive, set the window size parameters to 80 x 24.
Change-Id: If66f5f0883f1940518ec1c6e26228c9bb6f32852
Signed-off-by: Dave Barach <dave@barachs.net>
Yoann Desmouceaux [Wed, 20 Sep 2017 09:00:42 +0000 (11:00 +0200)]
vhost-user: fix link-up status
When changing the admin state of a vhost-user interface, do not put it
in link-up mode if the interface is not actually ready.
Change-Id: Idbc631a7126efa79d199909f9e7656d21bd412ca
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
Andrew Yourtchenko [Thu, 21 Sep 2017 22:40:48 +0000 (00:40 +0200)]
acl-plugin: remove the clib_warning "ACL enabling..."
It was useful for debugging once upon a time...
but time to say goodbye to it...
Also remove the warning printed when sending ACL details.
Change-Id: I43b2537e176556831eb7ff34b25c9068aa05ee27
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Eyal Bari [Wed, 20 Sep 2017 08:29:17 +0000 (11:29 +0300)]
IP-MAC,ND:wildcard events,fix sending multiple events
wildcard ND events publisher was sending the last event mutiple times
Change-Id: I6c30f2de03fa825e79df9005a3cfaaf68ff7ea2f
Signed-off-by: Eyal Bari <ebari@cisco.com>
Chris Luke [Thu, 21 Sep 2017 03:31:24 +0000 (23:31 -0400)]
vppctl,cli: Improve non-interactive vppctl (VPP-944)
Short version: Make vppctl behave as expected when run
from scripts, or without a controlling terminal, and
especially when using it with VPP commands on its
command line ("non-interactively").
In particular, prevent the welcome banner and VPP CLI
prompt from being sent by VPP when being used in these
ways.
vppctl
------
- Improve vppctl's detection of non-interactive sessions.
- Pass non-interactiveness in the terminal type telnet option
as a value distinct from "dumb" (which means non-ANSI capable.)
- Make tty setup handling more robust.
- Only send non-interactive command once we've sent the
terminal type, to ensure correct event sequence; we need
the VPP cli session to be in line-by-line mode.
- Ignore stdin when it looks something like /dev/null.
- Skip NUL bytes received from VPP.
VPP CLI
-------
- Detect "non-interactive" terminal types and set session
parameters accordingly.
- Add an "interactive" flag that controls whether the welcome
banner and CLI prompt are sent.
- Detect if telnet options processing switched us into line
mode and act accordingly for the rest of the current input
buffer. This was causing the command string to be echoed
by the CLI editor code.
- For non-interactive sessions, send a NUL byte after the
input buffer has been processed. This is because vppctl
depends on seeing traffic before it will try to close the
session; a command with no output would cause it to hang.
NUL bytes are ignored by all decent terminals, but we have
vppctl strip them out anyway.
- Prevent certain commands from running in non-interactive
sessions since they manipulate interactive-related features.
- For interactive sessions, quench the prompt that prints on
VPP shutdown.
- Detect and handle socket errors in the CLI; sessions were
leaking.
- Pevent SIGPIPE from ever being raised; handle EPIPE instead.
We don't need VPP to die just because a socket closed just
before we try to write to it!
- Add a command to dump a list of current CLI sessions; mostly
this was to detect session leakage, but it may have some
general utility.
Change-Id: Ia147da013317180882c1d967b18eefb8519a55fb
Signed-off-by: Chris Luke <chrisy@flirble.org>
Matus Fabian [Thu, 21 Sep 2017 12:07:12 +0000 (05:07 -0700)]
NAT: remove worker_by_out lookup hash table (VPP-989)
Change-Id: Ibcd2cf22348ae5a72770a8f8ad25cbe8df7fd390
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Anton Ivanov [Thu, 21 Sep 2017 12:15:53 +0000 (13:15 +0100)]
Fix for ssl dependency on debian 9
Change-Id: I32f46c5a6f0e43e7f3e38b05d9607d43faf41501
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Thomas F Herbert [Wed, 13 Sep 2017 19:26:46 +0000 (15:26 -0400)]
Unpack into temporary directory with longer name.
JIRA VPP-498
This commit is a fix so downstream builds in Centos and
RHEL mock environment will work. This is a workaround
for a bug in the debugedit code in rpm-build package 4.13
and earlier.
Change-Id: Ia6361f7487c5afe9948a2d2fe929942ba5b9c0f1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Florin Coras [Wed, 20 Sep 2017 05:27:18 +0000 (22:27 -0700)]
session: store tep port in net order
Change-Id: Ie3a99f09f44ec081d9b88a213bdb8d987fb462de
Signed-off-by: Florin Coras <fcoras@cisco.com>
Dave Barach [Wed, 20 Sep 2017 12:40:16 +0000 (08:40 -0400)]
Improve API message handler re-registration check
Change-Id: Iedcea2fb45052852666b91a21eed011f5593313d
Signed-off-by: Dave Barach <dave@barachs.net>
Filip Tehlar [Wed, 20 Sep 2017 06:41:23 +0000 (08:41 +0200)]
LISP: add debug cli for neighbor discovery
Change-Id: Ib5d335d6130617d6135615c6c8fa8deaac971331
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Yoann Desmouceaux [Wed, 20 Sep 2017 08:08:28 +0000 (10:08 +0200)]
CLI: fix segfault when browsing an empty history
When one starts VPP, types a command, presses up rather than enter,
then types a new command, unix_cli_line_process_one() segfaults.
This is due to cf->cursor not being reset upon pressing up if the
history is empty.
Change-Id: Ie503f20a9cb551e735abb8b0f4feb8c0006d2b61
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
Yoann Desmouceaux [Wed, 20 Sep 2017 08:34:22 +0000 (10:34 +0200)]
TCP: fix "tcp src-address" command with IPv6
When given a single IPv6 address, the "tcp src-address" command incorrectly
infers the end of the range by copying sizeof(ip4_address_t) bytes from the
given address.
Change-Id: I100d5c6674d3a3980b8c018588988bdd32ff7269
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
Pierre Pfister [Wed, 20 Sep 2017 06:48:36 +0000 (08:48 +0200)]
tcp: add option to punt traffic
Until now, if the stack didn't find a connection for a packet, it sent
back a reset. With the punt option enabled, packets are now enqueued to
error-punt where they can be handed off to the host os.
Change-Id: I12dea8694b8bd24c92b0d601412928aa7b8046cb
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Thomas F Herbert [Mon, 11 Sep 2017 12:58:23 +0000 (08:58 -0400)]
Use openssl 1.0 compat RPM for Fedora 26 and newer.
This is just a workaround until VPP is compatible with OpenSSL 1.1.
JIRA: VPP-569
Change-Id: I8d2a113dc9400fd7e8e6850de5d91f40380455ce
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
John Lo [Wed, 20 Sep 2017 01:45:10 +0000 (21:45 -0400)]
Fix DHCP client so it works for worker threads
Fix dhcp_client_for_us() function to utilize rpc_call_main_thread
to call vlib_process_signal_event() to ensure proper handling
irrespective of it being called in main thread or worker thread.
Added ASSERT to vlib_process_sinal.. path to make sure it is called
in main thread.
Change-Id: I4109cc049d8e4225d896ce492ce201011dc9c911
Signed-off-by: John Lo <loj@cisco.com>
Pierre Pfister [Mon, 18 Sep 2017 09:40:32 +0000 (11:40 +0200)]
Add ip6-local feature arc
ip4-local feature arc existed but not ip6-local one.
This patch also adds node name to the 'show ip local' command and fixes
a minor include issue in vnet/ip/ip4.h file.
Change-Id: I9bb8a7159917d58f89afcce974680de20d946a70
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
Matus Fabian [Wed, 20 Sep 2017 06:26:13 +0000 (23:26 -0700)]
NAT: don't call ipfix rpc when disabled (VPP-988)
Change-Id: Id98b523f7b20f82291a34e73762978fa65e24140
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Matus Fabian [Tue, 19 Sep 2017 12:42:38 +0000 (05:42 -0700)]
NAT: move session and user lookup tables to per thread data (VPP-986)
Change-Id: I41a51bb36e31e05c76fef0b34fe006afbee27729
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Dave Barach [Tue, 19 Sep 2017 18:36:46 +0000 (14:36 -0400)]
format_sockaddr: add trivial support for AF_LOCAL sockets
There isn't anything useful to print. Return a unique name since the
unix cli uses the returned string to create a node name. Node names
must be unique, or vpp will quit abruptly.
Change-Id: I8f85ae8fececdbfd26c729bc32c2c2007c06d1ea
Signed-off-by: Dave Barach <dave@barachs.net>
Klement Sekera [Mon, 12 Jun 2017 04:49:33 +0000 (06:49 +0200)]
Add C++ API
Change-Id: Iff634f22d43470e2dc028387b3816257fd7b4156
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Thu, 14 Sep 2017 07:08:00 +0000 (03:08 -0400)]
session/tcp: improve preallocated segment handling
- add preallocated segment flag
- don't remove pre-allocated segments except if application detaches
- when preallocating fifos in multiple segments, completely fill
a segment before moving to the next
- detach server application from segment-managers when deleting app
- batch syn/syn-ack/fin (re)transmissions
- loosen up close-wait and time-wait times
Change-Id: I412f53ce601cc83b3acc26aeffd7fa2d52d73b03
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Tue, 19 Sep 2017 01:04:10 +0000 (18:04 -0700)]
Treat label=0 as an invalid next-hop-via-label
Change-Id: I831226111d26f5c8a795e0773e23fddcddfb1613
Signed-off-by: Neale Ranns <nranns@cisco.com>
Filip Tehlar [Tue, 5 Sep 2017 13:46:09 +0000 (15:46 +0200)]
LISP: support for neighbor discovery
Change-Id: I0f1a051dd3b5786dc7c457bc6fc7ce4fcd0f530c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Matthew Smith [Thu, 14 Sep 2017 14:05:35 +0000 (09:05 -0500)]
Set RX sw_if_index on decrypted routed IPsec buffers
For routed IPsec, set the RX sw_if_index on inbound packets
to the index of the IPsec interface. When a packet is
decrypted into a new buffer, bring along the RX sw_if_index
of the encrypted packet to the new buffer.
Change-Id: I093e9d37def2082c8d2f1deb96b1c5b97126e023
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Tue, 19 Sep 2017 13:25:13 +0000 (06:25 -0700)]
Fix MPLS table create CLI
Change-Id: I1f3c0f879f636e587aa518c41e5ad99af65129a7
Signed-off-by: Neale Ranns <nranns@cisco.com>
Klement Sekera [Thu, 4 May 2017 04:15:18 +0000 (06:15 +0200)]
Add new C API
Change-Id: I717ce3cd7c867c155de149ec56623269d26d0ff7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
John Lo [Mon, 18 Sep 2017 04:20:05 +0000 (00:20 -0400)]
Implement VXLAN encap tx checksum offload
Checksum offload is implemented in VXLAN encap over both IPv4 and
IPv6. It is enabled, however, only for VXLAN over IPv6 because UDP
checksum is needed only for IPv6 and optional for IPv4.
Change-Id: Ib879f4f6da7346ba5e079d321c1dfd630f5058b8
Signed-off-by: John Lo <loj@cisco.com>
Pavel Kotucek [Thu, 14 Sep 2017 07:50:52 +0000 (09:50 +0200)]
ACL plugin enable macip for ip4/ip6 traffic
Plus fixed problem with acl heap.
Change-Id: I3d91db549ebe4595f1dab9b8780f90722540024b
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Alberto Rodriguez-Natal [Sat, 9 Sep 2017 21:15:15 +0000 (14:15 -0700)]
Remove associated lisp-gpe entries when removing lisp local mapping.
Change-Id: Ifda4d22c9d1de210165932a0996f75cc8428ae7a
Signed-off-by: Alberto Rodriguez-Natal <natal@cisco.com>
Chris Luke [Mon, 18 Sep 2017 12:51:22 +0000 (08:51 -0400)]
Fixes for issues Coverity has reported (VPP-972)
177117: fstat() returns -1 on error; the code is
checking for any positive value instead
175142: final return could never be reached; simple
refactoring
175235,175236: Warning suppressed with an explicit
cast to (void)
174817: Final return couldn't be reached; is
is_in_order is 0 then 'rv' is already returned
above
172095,172093: If is_is_set does not get set to 1,
then return 0 has already been invoked
174405: Re-kill this (nothing sets rv)
171136: Looks like a cmd line flag to set test_bytes
was missing; added it, and refactored the
argc/argv processing to avoid two other
potential segv's
176813: Add range checking for term width/height.
First stab at a reasonable range is 1-512
for both.
175350: Fix implicit casting in shift operation
174272: Not a c+p error; try using a coverity
annotation to ignore it
174273,175320: Annotated FORWARD_NULL
Change-Id: I58d0f860fc2209f59f8d1b6b344d631b8d429ace
Signed-off-by: Chris Luke <chrisy@flirble.org>
Eyal Bari [Wed, 13 Sep 2017 09:29:08 +0000 (12:29 +0300)]
L2BD,ARP-TERM:fix arp query report mechanism+test
previous mechanism was emitting duplicates of last event, when handling multiple arp queries.
tests:
* arp events sent for graps
* duplicate suppression
* verify no events when disabled
Change-Id: I84adc23980d43b819261eccf02ec056b5cec61df
Signed-off-by: Eyal Bari <ebari@cisco.com>
Pavel Kotucek [Tue, 12 Sep 2017 08:32:35 +0000 (10:32 +0200)]
ACL-plugin: fix coverity issue
Fix coverity CIDs 176805, 176806, 176811, 176812
Change-Id: I73591c922307e7a98d38d5d92ebf37c8b2ff0145
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Dave Wallace [Fri, 15 Sep 2017 22:47:44 +0000 (18:47 -0400)]
Add multi-vm Vagrantfile for vcl-test.
- Existing Vagrantfile is symbolic link to the
default Vagrantfile.
- In order to run the multi-host vcl test,
change Vagrantfile -> Vagrantfile.vcl_test
- Fix socket_test.sh & vppcom bugs.
Change-Id: I965b7f799135c86e989c08bf6c5909677ef38dea
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Damjan Marion [Fri, 15 Sep 2017 16:22:01 +0000 (18:22 +0200)]
dpdk: display EAL init args on startup
Change-Id: I83ea1eae73cb41353cacd1c1b910339d10900502
Signed-off-by: Damjan Marion <damarion@cisco.com>
Florin Coras [Tue, 12 Sep 2017 00:54:15 +0000 (20:54 -0400)]
dpdk: cli to check for buffer leakage
Use buffer pre_data and existing buffer trace trajectory code to
find out dpdk buffer leakages.
Change-Id: I26a5d8bd2f23d01cb6070ffc3ddcc6d3d863b575
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matej Perina [Thu, 14 Sep 2017 14:14:14 +0000 (16:14 +0200)]
jvpp: add vpe_pid to ConnectionInfo
ConnectionInfo now contains pid of vpp process
pid is aquired through initial control ping during
connection creation
Change-Id: I68457770e07792d11c47bc7d8cbd0d2fd722d9b4
Signed-off-by: Matej Perina <mperina@cisco.com>
Damjan Marion [Thu, 14 Sep 2017 17:04:50 +0000 (19:04 +0200)]
vppinfra: add clib_mem_vm_ext_alloc function
Change-Id: Iff33694fc42cc3bcc73cf1372339053a6365039c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Billy McFall [Fri, 8 Sep 2017 20:11:58 +0000 (20:11 +0000)]
VPP-958: RPM Update wipes out local changes to 80-vpp.conf
Changed the %config to %config(noreplace) for the two files in the
vpp.spec file that use it, 80-vpp.conf and startup.conf. Any local
changes to these files will now remain. If a newer version of the file
is published, the new version will be copied over as {filename}.rpmnew,
and the changes will not be applied without manual intervention.
Change-Id: I00b2c7abca20bc33f82479374dd184fc57a9abc5
Signed-off-by: Billy McFall <bmcfall@redhat.com>
Jerome Tollet [Thu, 14 Sep 2017 11:53:56 +0000 (12:53 +0100)]
Update of free text tag patch for BD
Change-Id: Ia886ff2bfa2cf33ffbaa35ec89494d4300ec2769
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Jakub Grajciar [Thu, 14 Sep 2017 12:12:10 +0000 (14:12 +0200)]
libmemif: Jumbo frames support
Change-Id: I2b316358dcd2de7168a860541bcca35c3dd44649
Signed-off-by: Jakub Grajciar <grajciar.jakub@gmail.com>
dongjuan [Fri, 15 Sep 2017 02:21:07 +0000 (10:21 +0800)]
Modify return value of snat_out2in_lb(VPP-985)
in order to trace session_index
Change-Id: I4433155fbe21635f8a997523e2c7900c6a7569af
Signed-off-by: dongjuan <dong.juan1@zte.com.cn>