4492 Commits

Author SHA1 Message Date
Ole Troan
e7a9b3d254 API: Remove legacy vlibsocket code.
The API implementation now supports Unix domain sockets.
The vlibsocket code has not been included in builds for
a long time and is superfluous.

Change-Id: I67a773d0e86e2318eacecf33f82d075553146ee9
Signed-off-by: Ole Troan <ot@cisco.com>
2018-08-03 17:40:05 +00:00
John DeNisco
c8e7f419fe Added missing file
docs: Incorporate Javier's progressive VPP tutorial

Change-Id: Iecee041039c7ed81713bc0530fc536e989c71497
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2018-08-03 17:38:40 +00:00
Ole Troan
b199e98fef PAPI: Union pad at the end of short fields instead of at head.
Hopefully that's going to be consistent across platforms, compilers and ABI.

Change-Id: I0b82565288d88fd046278d4d8288ec1488273ba5
Signed-off-by: Ole Troan <ot@cisco.com>
2018-08-03 15:44:46 +00:00
Dave Barach
b257fc9fc2 Fix typo in trace trajectory init
plugin won't compile if VLIB_BUFFER_TRACE_TRAJECTORY is set. The
quad loop was OK, bug in single loop only.

Change-Id: I11262bf6a223680eeac7ed23238ceda425a02c1b
Signed-off-by: Dave Barach <dave@barachs.net>
2018-08-03 15:42:45 +00:00
Jakub Grajciar
248ff9280a avf: add avf_create_reply_handler to avf_test
Change-Id: I2f376a777081da131110227e760ca0069438c918
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-08-03 14:43:59 +00:00
Radu Nicolau
717de096c4 ipsec: add udp-encap option to debug cli commands
Change-Id: I3195afd952f6783da87224d7ceb9df13ddd39459
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2018-08-03 14:36:08 +00:00
Neale Ranns
ce9e0b4d48 loop counter to prevent infiinte number of look ups per-packet
Change-Id: I59235d11baac18785a4c90cdaf14e8f3ddf06dab
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-08-03 11:49:39 +00:00
Florin Coras
40f92469c6 vlib: avoid double process dispatch
Change-Id: I46467b1f149be9dfbd00e3ea6d60681d19acf235
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-08-03 09:12:02 +00:00
Florin Coras
c470e22f12 svm: add support for eventfd signaling to queue
Support the use of eventfds to signal queue updates between consumer
and producer pairs.

Change-Id: Idb6133be2b731fff78ed520daf9d2e0399642aab
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-08-03 09:11:41 +00:00
John DeNisco
c64ba6dc6a docs: Incororate Scott's overall review
Change-Id: Ic70a62e17891fa9291a5274400ae89f1d6194b6e
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2018-08-03 09:07:18 +00:00
Yichen Wang
5c482a9de3 Documentation fix on "set interface ip[6] table"
Change-Id: I8dc6230b65e57ddc07f974bf6726393d8dbfd4a2
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-08-03 07:26:34 +00:00
Andrew Yourtchenko
0e10dd17b6 acl-plugin: fill in the 5tuple structure all at once, avoid short writes
This change avoids the long-read-after-short-write, resulting
in a small performance improvement.

Change-Id: Ic01d1fd19182e96100ccaf441d7ab5e5898b9734
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-08-03 01:18:13 +00:00
Damjan Marion
c76d6e2c4a Temporrary disable japi packaging for opensuse
To unbreak verify job, caused by following message:

19:06:58 RPM build errors:
19:06:58     File not found: /w/workspace/vpp-verify-master-osleap15/build-root/rpmbuild/BUILDROOT/vpp-18.10-rc0~105_g0578e3f9~b1992.x86_64/usr/share/java/*
19:06:58 make[2]: *** [Makefile:50: RPM] Error 1
19:06:58 make[2]: Leaving directory '/w/workspace/vpp-verify-master-osleap15/extras/rpm'
19:06:58 make[1]: *** [Makefile:476: pkg-rpm] Error 2
19:06:58 make[1]: Leaving directory '/w/workspace/vpp-verify-master-osleap15'
19:06:58 make: *** [Makefile:541: verify] Error 2
19:06:58 Build step 'Execute shell' marked build as failure

Change-Id: Ie1300cbf70bedb9dd861a3f31feeddf1eb810eaf
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-02 23:39:18 +02:00
Florin Coras
9686eacfa4 vcl: fix debug messages output before heap cfg
Change-Id: Ifaef7ab2bc2fd4f5b4822d894facbcae01849031
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-08-02 20:12:00 +00:00
Matus Fabian
c6c0d2a077 NAT44: LB NAT - local backends in multiple VRFs (VPP-1345)
Add support for local backends in multiple VRFs for load-balancing NAT rules.

Change-Id: I64e6818bd67a7e69985003498cf1f16f7200c334
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-08-02 17:17:47 +00:00
Yi He
e4a9eb7873 Improve cpu { coremask-% } configure option
Accept any sized hexadecimal bitmask specification to
support platforms with hundreds of cores.

Change-Id: Ib881db0cf60f78bdeffa13acfc2fc7fe7e128cc4
Signed-off-by: Yi He <yi.he@arm.com>
2018-08-01 20:41:04 +00:00
Damjan Marion
cc4a5e8089 Move java api to extras/
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01 20:28:53 +00:00
John DeNisco
a14c166740 docs: change code blocks from "shell" to "console"
Change-Id: I136fccfc06e07fb68d11df686c59687362fb8827
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2018-08-01 20:21:23 +00:00
Eyal Bari
e126cc5331 vxlan:optimize cached entry compare
the bihash key compare was doing the extra step of loading both keys into
vector regs and comparing those - instead of using the temporary values
created.

Change-Id: Ic557bfa56cd6aa60c71e7f28c880f85e1eb1e6ec
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-08-01 18:37:57 +00:00
Damjan Marion
5f21e1bd61 Store USE_DLMALLOC in vppinfra/config.h
Change-Id: Ib596e7f525b83dc7e830bcf6a126cd210216ce86
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01 14:39:58 +02:00
Sirshak Das
afc725afae Add support for shuffle vector intrinsic via Neon in ARM
This adds byte_swap (variant of shuffle) and shuffle vector intrinsic
for ARM based on Neon, concuring with same signature as SSE vector
intrinsic.

Change-Id: I386fd2b1dcc83654e4ad9f90a6065d7736e4ce5c
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
2018-08-01 10:52:56 +00:00
Dave Barach
1c7bf5d417 Poison freed memory objects
When compiled w/ -DCLIB_DEBUG=1, paint 0x13 across freed memory
blocks. Should result in a characteristic SIGSEGV if someone
dereferences a pointer in a freed vector element, etc.

Change-Id: I5f78970f4342310bfbe7adeddb56feff21f0de2c
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-31 20:37:47 +00:00
Eyal Bari
7d92c09b55 vxlan:decap.c conform coding style
Change-Id: I7bab9800c267dd6ea85288fd3d9ca88dff9f554b
Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-07-31 17:22:17 +00:00
Yi He
d05ce97724 Fix undefined symbol: fformat_append_cr in vat plugins loading
Several test plugins report undefined symbol while being loaded
by load_one_vat_plugin. Fix this by adding VPP_API_TEST_BUILTIN
into CFLAGS for building these plugins.

Change-Id: I908720fd0d01da1ead30ba17027ba10358f6bdf1
Signed-off-by: Yi He <yi.he@arm.com>
2018-07-31 14:07:19 +00:00
Jakub Grajciar
15c3a6ad80 memif: socket filename fix
create runtime dir when adding default socket filename.

Change-Id: Iad7e751fcab7ce773e0907302414a06ea44dd6cd
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-31 14:05:41 +00:00
Andrew Yourtchenko
937c089ab7 acl-plugin: move the acl epoch calculation into inline function
Change-Id: Ifc8b3d30d66c7ade1e3584844ce3f82d42d2fb94
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-07-31 11:38:32 +00:00
Neale Ranns
16be62e384 fix 'sh vxlan tunnels'
this receipe:
  /* Get a line of input. */
  if (!unformat_user (input, unformat_line_input, line_input))
    return 0;
only works if there is more data following the registered command name.
So it is not so good for show commands...

Change-Id: I54249865a44526ade4b40e2d6207138a2d056e40
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-31 11:37:16 +00:00
Florin Coras
460dce6e2d vcl: add read/write udp support
Change-Id: Ie6171c12055cde6915856de340839f5da1b1b1da
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-31 11:36:54 +00:00
Ed Warnicke
e939bf1b50 Update Release Notes for 18.07 Release
Change-Id: I2b58bca6d360badb4fd17022121e244aee5713b8
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2018-07-30 21:33:07 +00:00
Neale Ranns
579092c4ba SIXRD: fix post introduction of the directed subnet broadcast
Change-Id: I9ce801e9b257eaa6be0cbe2ad3bfe630717f8c67
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-30 20:04:28 +00:00
Neale Ranns
c5d4317ad0 FIB: return entry prefix by const reference to avoid the copy
Change-Id: I09b8406168df4b6b28df3ede24ee839681be0195
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-30 08:04:40 -07:00
Rajesh Saluja
1f895c9a40 Reverse the logic of flagging malformed packet in fragmentation code to allow padding
Change-Id: I051c137ae18fd436a798a12a56a9d12f8eaa2e08
Signed-off-by: Rajesh Saluja <rajsaluj@cisco.com>
2018-07-30 11:22:59 +00:00
Florin Coras
d3ca8ffd0f session/dlmalloc: coverity fixes
Change-Id: I17ffec018f5d2fb06a7a3af6d8bc6128ffee3ae6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-28 04:53:30 -07:00
Florin Coras
d055475773 dlmalloc: use static magic constant for debug images
Avoids crashes on restarts if svm root region backing file was not
cleaned up.

Change-Id: I608cf5711aa8c3f9620900473bdf76bde8b918de
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-27 11:39:14 -07:00
Dave Barach
cd2190e124 Fix build-break when compiling -O0 / TAG=vpp_debug
Without inlining [TAG=vpp_debug], gcc7 (at least) refuses to produce
the indicated vector unit instruction.

Change-Id: I0f0400ad74b1e498dce7963a85c47d33afe0a768
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-27 20:07:05 +00:00
Florin Coras
54693d2330 vcl: use events for epoll/select/read/write
Have vcl poll and wait on the event message queues as opposed to
constantly polling the session fifos. This also adds event signaling to
cut through sessions.

On the downside, because we can't wait on multiple condvars, i.e., when
we have multiple message queues because of cut-through registrations, we
do timed waits.

Change-Id: I29ade95dba449659fe46008bb1af502276a7c5fd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-27 17:40:29 +00:00
Damjan Marion
5df580eec9 128-bit SIMD version of vlib_get_buffers
Change-Id: I1a28ddf535c80ecf4ba4bf31659ff2fead1d8a64
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-27 14:15:50 +00:00
Carl Smith
28d4271d1a mips64: Add timer and longjump support
Also correct types.h for mips64 which could never be hit
as _mips was part of the previous ifdef.

Change-Id: Id0435c8fc960c5d25c43129b9d9f1606e39ba8e3
Signed-off-by: Carl Smith <carl.smith@alliedtelesis.co.nz>
2018-07-27 12:04:37 +00:00
Neale Ranns
fc5dda3d0a vector indicies walk in reverse
Change-Id: Iddc8a940601230f8b209c5601e4e5bd04b103c6a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-27 12:02:44 +00:00
Juraj Sloboda
d7f58cc4f0 Fix memory leak in processing of ICMPv6 RA event (VPP-1360)
Change-Id: I7c3e5e91391b1c9b36e8ea8bacee9a107da1ae96
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-07-27 11:24:05 +02:00
Dave Barach
db0a7ec72a -DCLIB_DEBUG => turn on extra checks in dlmalloc
Also: call os_panic() on a heap botch crash, attempt to generate a
post-mortem API dump, etc.

Add an "ugly" test case to vec_test.c, to cause a configurable block
overrun.

Change-Id: I7b29a7645277f9e485e06ff83335306fedc24b71
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-27 07:50:11 +00:00
John DeNisco
2d1a04371a Fix .gitignore so docs/Makefile is not ignored. Add README and Makefile. Fis gitreview.
Change-Id: I3d664d9c881ce127a09b9d68c1181a7098a39074
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2018-07-27 00:13:36 +00:00
Brian Brooks
9bae0ca53b pp2: change default queue size
Reduce default queue size to twice the vlib frame size. This throttles
the PP from transferring more packets than are necessary for the next
round of graph execution on a core. When combined with DMA'ing into L3
cache, Mpps for 64B packets increases 35%.

Change-Id: I0afe426d23560f262fdc56accb6302b099bd0076
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
2018-07-26 20:18:12 +00:00
Dave Barach
f91080c011 Clean up dpdk plugin rx/tx pcap tracing
Needed a spinlock to protect the data vector. Cleaned up debug cli so
the output makes sense, and so that various parameters exist in one
place. Removed a nonsense memset-to-zero which led to ultra-confusing
results.

Change-Id: I91cd14ce7fe84fd2eceab86e016b5ee001993be4
Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-07-26 19:24:32 +00:00
Dave Barach
9594b56e6f Improve the sample plugin node dispatch function
Three separate implementations, which vary by nearly a factor of two
in performance. Most of the performance difference is due to swapping
the src/dst mac addresses with an avx2 vector shuffle instruction.

Change-Id: Ieb36546d6074e4ac720d452a99d013c698135c57
Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-26 19:09:14 +00:00
John DeNisco
06dcd45ff8 Initial commit of Sphinx docs
Change-Id: I9fca8fb98502dffc2555f9de7f507b6f006e0e77
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2018-07-26 18:34:47 +00:00
Neale Ranns
1d65279ffe VPP-API client: timeout thread loop variable
calling thread cancel on the timeout thread whilst it was
sleep on condwait and then send the cond signal did not reliably
wake up the thread.
instead don;t cancel the thread, use a loop variable to terminate it.

Change-Id: Ibc8ab6f21db7e4a98266bdf88b8b208b887820dd
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-26 08:05:57 -07:00
Lukasz Majczak
b842ae1178 VPP-1359 Wrong vl_msg_id
Wrong vl_msg_id set in vl_api_stats_get_poller_delay_t_handler while reporting stats delay.

Change-Id: I7d6ad14359e41c717b976390c58e254e3602e0ff
Signed-off-by: Lukasz Majczak <lma@semihalf.com>
2018-07-26 14:16:13 +00:00
Damjan Marion
c4b094eae0 avf: used tx queue should be enabled
Change-Id: I51cc4522df2dd6682148a13e7e1903850b4b3d08
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26 12:25:32 +00:00
Damjan Marion
48a87f2c95 vppinfra: add SSE4.2 version of u8x16_shuffle
Change-Id: I4bf1cfe5a9492092a7362675079c47629b6f0ee8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26 10:58:52 +00:00