Compare commits

...

708 Commits

Author SHA1 Message Date
Dave Wallace
3d18a191aa VPP 19.04 Release Notes
Change-Id: I66b35c7c03303bc7200c01e9da926bce778b2d6b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-23 21:43:18 +00:00
Igor Mikhailov (imichail)
c0e614c88d RH7/Centos7: remove python-ply as it is not needed
Also remove double required packages

Change-Id: Ifcc7c9c0a4ce62d89a246019147d194610f5167a
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-04-22 19:14:37 -07:00
Florin Coras
2f61df5764 vlib epoll: handle file removal on EPOLLIN VPP-1656
Change-Id: I7a3526a8fdf17afb8cc2225bdfbd57f661680992
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-22 17:59:19 +00:00
Dave Wallace
facb4d4447 Sphinx docs: Fix security vulnerability (VPP-1655)
Change-Id: I9b11d15866d708eb843936ebfd120940d284a2de
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-21 18:20:18 -04:00
Dave Wallace
2ac1ddb59c DOCS-ONLY: Fix broken doxygen tag in BVI
Change-Id: Ia42e7c93ebe51a36470f1358827451bcb98da433
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 3b62e29c3adc8e4114cb10dc794f4b3f814015b0)
2019-04-19 15:16:24 +00:00
Neale Ranns
84ac8ac369 IPSEC: IPv6 ESP transport mode incorrect packet length and checksum (VPP-1654)
Change-Id: Ia3474e5bfea5764eae9b2987bf78296535df6778
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-19 04:02:59 +00:00
Neale Ranns
9fdfcf3274 IPSEC: ESP IPv6 transport mode payload length incorrect (VPP-1653)
Change-Id: I8977100d7a22b50260858bd1ea9db419b53284ff
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-19 02:36:45 +00:00
Florin Coras
fd2cd9c899 vlib epoll: protect against clib file pool expansion
Change-Id: I320e7c2fdacb3056bc448c73fec08d9e2978ee5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit c67078e007c8a9b91def387ba345efa805e45fc5)
2019-04-18 18:18:05 +00:00
Dave Wallace
fd40fdec62 Fix list_api_changes script to start at v19.04-rc0
- Update Release Notes with correct output.

Change-Id: Iaa1a1cd6d166ff6894ebbd3758446d90b46cef7c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-18 16:58:29 +00:00
Artem Belov
8011ba5869 Fix memory corruption faulting [VPP-1639]
File pool may be reallocated on epoll events processing. 
*f* pointer shows to already freed address and corrupting 
memory chunk on clib_file_t property change.

Change-Id: I751bddce27325452862b939c1a3eec2ccd9b71bb
Signed-off-by: Artem Belov <artem.belov@xored.com>
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2019-04-18 14:38:37 +00:00
Neale Ranns
e57ae7a0f9 FIB: recursion casues path realloc
Change-Id: Ie9c2954eee90ca1a1fc1aa8280f93b2340b544c1
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-18 13:58:34 +00:00
Neale Ranns
9ae8c8e23d IPSEC: tunnel rekey fix and test (VPP-1652)
Change-Id: I1c2b3e40c689bedcdcea7887792b6b6b6aeb48d5
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-18 13:13:31 +00:00
Neale Ranns
2eef76b6d8 crypto-ipsecmb: enable GCM
Change-Id: I670d7899bcc63a419daf481167dc445a6386cce8
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d8cfbebce78e26a6ef7f6693e7c90dc3c6435d51)
2019-04-18 13:12:55 +00:00
Dave Barach
ee66c8d3ca Use template-specific key compare fn when deleting records
A simple memcmp won't work when comparing pointer-keys, such as those
used by the bihash_vec8_8.h template.

Change-Id: I77e59f3fd7f7740ef42908ace90ed4843e1c9ac7
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit a11bf45b1aba14246cc1259fff1dfb8e9c60581f)
2019-04-18 00:35:18 +00:00
Dave Wallace
11ee93f6ab Doxygen cleanup.
- Add subpages definitions in appropriate
  section (User or Dev docs) for doc files
  (*.rst, *.md) that being listed at the top
  level of the generated doc page.
- Generate and add API list to RELEASE doc.
- Fix list_api_changes script to use HEAD
  as the endtag so it doesn't need to be
  changed every release.

Change-Id: Iace7b6433359c6b96869cb1db01facbbcb0ac1e6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-17 17:28:45 -04:00
Steven Luong
0d7332e43f Revert "Revert "bond: problem switching from l2 to l3"" [VPP-1651]
This reverts commit 5d0d5494db58422eb528c0f8b39a86ea966505e9.

The csit crash was actually due to the test image missing the patch
https://gerrit.fd.io/r/#/c/17731/

It was a mistake to revert the original patch
https://gerrit.fd.io/r/#/c/15577/

Change-Id: I7fc563981aa13d308d55b25194fee21475ebc57d
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit a1f9ee8ea6b7e22a45d7b0cbf631bea3f91864b4)
2019-04-17 18:17:30 +00:00
Thomas F Herbert
6545df3b2c VPP-1650
Update spec file for new build and execution requirements.

Change-Id: Ia87abfe7b7080ecd07e485e6c32270fda56a496a
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-04-17 17:53:53 +00:00
Neale Ranns
26f846ad11 ADJ: crash in format/show (VPP-1648)
Change-Id: I26279c19b879e59c68fda31426fe42dae62a858d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-17 08:38:35 +00:00
Neale Ranns
32b13bba2e IPSEC: support GCM in ESP
Change-Id: Id2ddb77b4ec3dd543d6e638bc882923f2bac011d
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 47feb1146ec3b0e1cf2ebd83cd5211e1df261194)
2019-04-17 00:12:05 +00:00
Filip Tehlar
07a4d675c8 crypto: add more AES-GCM test cases
Change-Id: Ibb3e2f3ba5f31482fc2f0dce53d68f8476608f4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 11a73973c98a5a10b78f7200e5681859354bb29a)
2019-04-16 23:28:04 +00:00
Neale Ranns
141dea23f4 IPSEC: ESP with ESN tests and fixes
Change-Id: Ie42b26e6d5cdb7b23f370ea2933c65079e8d1089
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 49e7ef60cb38d9f539d70d7a1e85cea5d350a203)
2019-04-16 22:12:11 +00:00
Neale Ranns
88db8b286e crypto: openssl - IV len not passed by caller. Callee knows from algo type
Change-Id: Ib80e9bfb19a79e1adc79aef90371a15954daa993
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 45df934daf89391a399651f171278a4c0cad30f7)
2019-04-16 15:54:57 +00:00
Mohsin Kazmi
6c2f821179 tap: fix the crash [VPP-1645]
Crash will happen when someone will try to setup a tap interface
in host namespace without providing the host side of tap interface
custom name. This patch fixes the problem by using the default name
in this case.

Change-Id: Ic1eaea5abd01bc6c766d0e0fcacae29ab7a7ec45
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
(cherry picked from commit 2a6861ff7bc90c1518b68459210830052774d429)
2019-04-16 15:53:49 +00:00
Neale Ranns
58dcf5c5e6 crypto-openssl-gcm: account for failed decrypts
Change-Id: I749c5a9d58128fd6d0fb8284e56b8f89cf91c609
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 1b1d1e9e84b007721a0c2ae2092df7cea662e09d)
2019-04-16 15:53:26 +00:00
Neale Ranns
8f63c2ebe6 IPSEC: crypto overflow
decrypting too many bytes.

Change-Id: I4663e70271d9734eda7f9a127967b9224c0e5efc
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 0a0c7eef787dbf29c8b018420cb9d244cbe8d2dd)
2019-04-15 19:58:31 +00:00
Hongjun Ni
740ef6d024 LB crash when receving packets with right dst IP and wrong dst port VPP-1643
Change-Id: Ifb322118349674b8ebee45d7644212ab5174a2ec
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-04-15 18:19:48 +00:00
Filip Tehlar
31398dfacd crypto: fix coverity warnings
Change-Id: Id9dfd912517c44cf812953bd05ac04c9e172a2b7
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-15 10:29:02 +00:00
Florin Coras
c0818bce92 session: drop lock on segment allocation error VPP-1644
Change-Id: Ib346570daa3e40f4f53100a05e9355ce60d533a4
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit bbf923fb52e8a9062ef4d740288cf5547c4dbde4)
2019-04-14 14:45:57 +00:00
Neale Ranns
2f3451992e IPSEC-MB: Use random & non-repeating IV (VPP-1642)
hard code IV and key lengths based on cipher.
Init IV from random data, use AES instruction to rotate.

Change-Id: I13a6507d12267b823c528660a903787baeba47a0
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 21ada3bd7e9bc5cca7c2c8399adcbaa044bf8103)
2019-04-14 14:45:18 +00:00
Ole Troan
e0a04cf5ce stats: Off by one error in stats directory vector.
Change-Id: Ic75af8bbd52c8a08e34ff2a847f60be5479b814b
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit 1c9a58decd525ad46487b120642883089fb5758f)
2019-04-12 18:57:37 +00:00
Dave Wallace
4736f6d943 Release notes: add 19.04 placeholder
Change-Id: I2eb04c295967af3eabab260f7f5feef75fb8c679
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-12 11:29:36 -04:00
Dave Wallace
e29b8228a2 Initial changes for stable/1904 branch
This patch adds an entry for the defaultbranch in .gitreview

Change-Id: I4bc5083a24cf3bc8c0498bb3421f8830483bd536
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10 15:38:04 -04:00
Dave Wallace
3f86ca3eec make test: fix redundant setUp() in template_ipsec.py
Change-Id: I81b3888816b064bd6bf0f38f5380dae93d7bb349
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10 19:03:35 +00:00
Andrew Yourtchenko
e36f44ad92 cmake: fix errors in external when building past point-release
Change-Id: I23b4816e4ef2c6a2fa825fbd063ea25ff2024151
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-10 18:48:34 +00:00
Neale Ranns
92e9384482 crypto: Intel IPSEC-MB engine
A plugin to use Intel IPSec MB library as a VPP crypto engine

This changes uses concepts from:
  https://gerrit.fd.io/r/#/c/17301/
hence that author's work is acknowledge below

Change-Id: I2bf3beeb10f3c9706fa5efbdc9bc023e310f5a92
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-04-10 18:35:13 +00:00
Benoît Ganne
9847792e18 ethernet: fix packet tracing
Node tracing condition was wrongly reversed by commit "5ecd5a5d15 Move
pcap rx/tx trace code out of the dpdk plugin".
This prevented packet tracing in ethernet-input node and also impacted
performance in the no tracing case.

Change-Id: I345a11191d027c6c4ec474a2901995338050680a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-10 18:08:49 +00:00
Dave Wallace
b063ad00f1 make test: Initial QUIC test
- QUIC echo client/server transfer test

Change-Id: I69874975c9789fe9b4e85c5993bf09b7255d87d0
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10 17:17:59 +00:00
Neale Ranns
4f33c80c5d IPSEC: for each engine and algorithm tests
refactor the IPSEC tests a bit so we can parameterise
the setup.

Change-Id: I777e5eb8f29ca1dce3dd273ebd05dae5846790af
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-10 17:00:35 +00:00
Florin Coras
bee9768bd4 session: binary api app names as vectors
Change-Id: Iae358365de8ccbc0441b14f21ba6b365cbfec09a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-10 15:58:27 +00:00
Paul Vinciguerra
7f9b7f9f49 Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.
Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/

Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-10 14:37:40 +00:00
Ole Troan
2e1c8967fa API: Fix shared memory only action handlers.
Some API action handlers called vl_msg_ai_send_shmem()
directly. That breaks Unix domain socket API transport.

A couple (bond / vhost) also tried to send a sw_interface_event
directly, but did not send the message to all that had
registred interest. That scheme never worked correctly.
Refactored and improved the interface event code.

Change-Id: Idb90edfd8703c6ae593b36b4eeb4d3ed7da5c808
Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-10 13:06:45 +00:00
Florin Coras
13464f323a quic: add dummy accepted cb
Add dummy function to avoid session layer warning. Also, decrease
default debug level to avoid startup quic init notifications.

Change-Id: I2964fc15a8d93d78c976ed7c333e0cc5746c069e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-10 12:36:44 +00:00
Neale Ranns
9b208ced58 IPSEC: remove double byte swap of IP addresses
Change-Id: I8c03c4aa90fb0056e11e0f234999c25d7839d759
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-10 08:24:03 +00:00
John Lo
1cf0007f39 Make tcp/udp/icmp compute checksum safer for buffer-chain case
Change-Id: I046e481a67fbeffdaa8504c8d77d232b986a61ee
Signed-off-by: John Lo <loj@cisco.com>
2019-04-10 00:35:35 +00:00
Benoît Ganne
5763e47b7d rdma: add multiqueue support
Add support for multiqueue for RDMA devices.

Change-Id: I78a2481cec6747494c670cc776475828be3af55b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-09 23:47:39 +00:00
Benoît Ganne
e035892055 rdma-core: add debug build option
Add option RDMA_CORE_DEBUG=[yn] build option. rdma-core package is built
in Release (-O2) mode by default, but Debug (-O0 -g) mode can be
selected by eg.
 make install-ext-deps RDMA_CORE_DEBUG=y

Change-Id: Id4db5ef1e7b13c44d478755a0bfbdbe56cfc13df
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-09 23:46:41 +00:00
Florin Coras
ed1d872a8c session: fix session flags
Change-Id: I681169b82c661b7f0bf19f09d07d76ac1d3ed173
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-09 23:46:13 +00:00
jdenisco
af86c6396b Fix some python3, cleanup cpu allocation
Change-Id: I97cecc964f341720d8c4894656637082db5886d7
Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-04-09 12:55:20 -04:00
Matthew Smith
26e035bfcd nat: initialize fq_in2out_output_index
When using the output feature ('postrouting') outbound translation,
no packets are passed when using worker threads. The frame queue for
in2out packets to be handed off between threads is never allocated.
This is because that allocation only happens if the value of
fq_in2out_output_index == ~0, but fq_in2out_output_index is never
initialized prior to checking that.

Initialize fq_in2out_output_index to ~0 so a frame queue will be
allocated when there are worker threads.

Change-Id: I0836685eb611348643c11ac7e4d0cab935a29384
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-04-09 10:47:26 +00:00
Neale Ranns
796c84b251 GBP: drop and contract counters
Change-Id: Ib436512a26e53f70f7b5e47bf34224ab73e5244e
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-08 21:55:07 +00:00
Jim Thompson
f324dec0a3 fixing typos
Change-Id: I215e1e0208a073db80ec6f87695d734cf40fabe3
Signed-off-by: Jim Thompson <jim@netgate.com>
2019-04-08 21:54:17 +00:00
Mohsin Kazmi
46f877ebba virtio: Fix the coverity warnings
Change-Id: I7c6e4bf2abf08193e54a736510c07eeacd6aebe7
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-08 21:52:52 +00:00
Neale Ranns
1091c4aa9b IPSEC TEST: various hash alogrithms
Change-Id: I925aa5bf9472e81f98072d63df499b19e6ddf43d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-08 21:52:04 +00:00
Florin Coras
c5df8c71cc host stack: update stale copyright
Change-Id: I33cd6e44d126c73c1f4c16b2041ea607b4d7f39f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-08 20:29:16 +00:00
Benoît Ganne
f3262a2dd0 rdma: fix DPDK MLX driver conflict
VPP rdma driver relies on an internal rdma-core not compatible with DPDK
MLX driver. Force the use of external rdma-core through
RTE_IBVERBS_LINK_DLOPEN DPDK build option and make sure internal
rdma-core symbols are not leaked outside of the rdma plugin.

Change-Id: I5b2281259f517c4e109d388d172b72eadd69986f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-08 14:33:51 +00:00
Neale Ranns
7f6bd24f72 vlib-punt: fix error node counting
Change-Id: I271aa8b8f4917c187ad52db774e4ad26677e2b82
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-08 13:03:13 +00:00
Damjan Marion
9f7e33d60c vppinfra: u32x8 transpose
Change-Id: I7d39cb184f1f9ad24276183c29969327681a1f82
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-08 11:57:40 +00:00
Jim Thompson
2bc8169159 minor spelling errors (both in comments)
Change-Id: I9282a838738d0ba54255bef347abf4735be29820
Signed-off-by: Jim Thompson <jim@netgate.com>
2019-04-08 08:40:43 +00:00
Neale Ranns
281ff51396 GBP: coverity uninitialised variable warning
Change-Id: Ic6e23f497fd91dcb1441f9f4d88a182712e69d3f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-07 23:03:05 -07:00
Damjan Marion
060bfb987a crypto: add support for AEAD and AES-GCM
Change-Id: Iff6f81a49b9cff5522fbb4914d47472423eac5db
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-07 11:19:35 +02:00
Florin Coras
dc43bcd8ab http_server: add timer wheel for session cleanup
Change-Id: I494a6a7f4818a224376ec9150cff3872a3aec659
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-07 03:14:50 +00:00
Damjan Marion
ba01f07631 crypto: coverity issues
Change-Id: I9db1b74097c9df587b9265b14a969d347bcb731a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-07 02:59:38 +00:00
Neale Ranns
c42c7f08f5 Pipe: fix double count on TX (TX counting is done in interface-output)
Change-Id: I550313a36ae02eb3faa2f1a5e3614f55275a00cf
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-06 20:42:51 +00:00
Mohsin Kazmi
7363d47965 gbp: Add gbp bd flags unit test
Change-Id: I5b18cb84bec88f5514cacd2df61b5ce3c70abd77
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-06 18:48:15 +00:00
Dave Wallace
64b3cc2183 Doxygen: clean up vec.h
Change-Id: I2294982e6df41a13e61783e18f947da0bdd4b499
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-06 12:56:51 +00:00
Florin Coras
0eed0e1dd1 quic: support addition of fifo segments
Change-Id: I8cb03ee832e77d2b21d47aa7a44579c283fb1054
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-06 11:35:37 +00:00
Andrew Yourtchenko
05f7ca110b make the output of "show api dump file <filename> compare-current" doxygen-friendly
The current output of the API diff requires some massaging
to appear like a table in the docs generated by doxygen.
This change eliminates this need.

Change-Id: Ic9269a0e5e232e4d01a0695561e4f90eee287327
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-05 22:50:54 +00:00
Florin Coras
c213089c2d quic: update app ns on connect
Change-Id: I0aa220b1f5a72d8bbc6d147830766790d7f6d9bf
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 22:50:15 +00:00
Filip Tehlar
72ac548e1a crypto: fix init dependency
Change-Id: Ie8dcd9fa0d0487b146eaa62113a5ee06bd3e7d3b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-05 18:54:29 +00:00
Benoît Ganne
dc195d6845 rdma: more batching, compile rdma-core in release mode
rx: add batching for WC processing and release
tx: improve batching for WC submission and processing
rdma-core: compile in release mode to remove assert()

Change-Id: I5fb8736db36b50f8b758cd688100477b67e72d80
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-05 18:46:38 +00:00
Florin Coras
fa7512e18d session: fix app name formatting
Change-Id: Iea88ce5f6628e131e507ba45a3dbb2de7e6c1498
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 18:35:42 +00:00
Jack Xu
f7537449e9 fix pcap_trace cli output issue
Change-Id: Ia2be56e198c960788430705b356170f8cc12c450
Signed-off-by: Jack Xu <jack.c.xu@ericsson.com>
2019-04-05 17:16:13 +00:00
Paul Vinciguerra
ccf65fbc0e Fix failing centos jobs due to yum replacing python34 with python36.
vppapigen is failing because the ply library is installed under
python34.

09:04:49 Dependencies Resolved
09:04:49
09:04:49 ================================================================================
09:04:49  Package                Arch           Version               Repository    Size
09:04:49 ================================================================================
09:04:49 Installing:
09:04:49  python36               x86_64         3.6.6-5.el7           epel          66 k
09:04:49      replacing  python34.x86_64 3.4.9-2.el7
09:04:49  python36-libs          x86_64         3.6.6-5.el7           epel         8.5 M
09:04:49      replacing  python34-libs.x86_64 3.4.9-2.el7

----
09:07:27 cd /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory && /w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen --includedir /w/workspace/vpp-verify-master-centos7/src --input /w/workspace/vpp-verify-master-centos7/src/vlibmemory/memclnt.api JSON --output /w/workspace/vpp-verify-master-centos7/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
09:07:27 Traceback (most recent call last):
09:07:27   File "/w/workspace/vpp-verify-master-centos7/src/tools/vppapigen/vppapigen", line 4, in <module>
09:07:27     import ply.lex as lex
09:07:27 ModuleNotFoundError: No module named 'ply'

Change-Id: Ica3b408991d26262418576cffc848fb2a8cb0224
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-05 16:13:30 +00:00
Andrew Yourtchenko
ae605b8903 vlib: fix "foo_msg" and "foo_msg_reply" in API message table triggering the "defininion changed" output
strncmp() succeeds if the i+1th message is "foo_reply",
because the comparison terminates early after "foo" -
which triggers the "definition changed" rather than
"only in ..." message.

Fix also the case where i+1th element does not exist.

Change-Id: I127136410491d9dd102e160fd831fcf6f0bd3a9f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-05 12:48:09 +00:00
Dave Wallace
f118ea2f38 QUIC: Build cleanup
- Remove redundant CMAKE variable definition.

Change-Id: I04992ec921cb5f175741c1bdd13613cfc291aeab
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-05 07:53:40 +00:00
Neale Ranns
b71fa75d48 IPSEC: punt reasons; SPI=0, no-tunnel
Change-Id: If76992e283a27fa193a6865257ab3aa764066e48
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-05 07:52:55 +00:00
Florin Coras
6416e6274d tcp: do not delete session on establish pop
Also:
- force reset if wait close pops in fin-wait-1 with unsent data
- adds more event logging.

Change-Id: I4ddada046214fa71e17514cdec57b3026f84a283
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-05 07:51:41 +00:00
Florin Coras
8509aa29e3 ldp: ignore TCP_CORK socket option
Change-Id: Iffc3d2fbb478d5cd228959f4f2653d0508887489
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 12:55:30 -07:00
Florin Coras
a154017cf5 session: fix http server rpc to main
Change-Id: I3e3820da5a9de97070bceecd3ea53b5351654319
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 19:08:17 +00:00
Florin Coras
282a3cb726 tcp: properly validate acks between snd_nxt and una_max
Change-Id: I37af3cb5fe3fe8556acbf8350f88663dca9ca8a9
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 14:40:16 +00:00
Damjan Marion
7c22ff72aa ipsec: trunc_size -> icv_size
Change-Id: Idb661261c2191adda963a7815822fd7a27a9e7a0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 12:49:39 +00:00
Damjan Marion
085637f5d5 crypto: pass multiple ops to handler
Change-Id: I438ef1f50d83560ecc608f898cfc61d7f51e1724
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 11:34:04 +00:00
Neale Ranns
1aa35576ec GBP: Counters per-contract
Change-Id: I28bb9e3d3ea3a99a9e24801ef5241a0099186108
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-04 10:27:26 +00:00
Florin Coras
070fd4b046 tcp: shorten wait in fin-wait-1 with fin rcvd
Change-Id: Ifddc32ab3da0e691ac3df74ff26e19f6fa00fef7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-04 10:01:52 +00:00
Damjan Marion
deb8af6eb7 Add crypto_ia32 plugin
Currently this plugin provies AES CBC optimized code. Encryption code
supports parallel encryption of 4 buffers with different size and key
which improves performance 4x compared to standard serialized aproach.

On Skylake Server measured performance is around 0.71 clocks/byte with
256 buffers with size in range between 7000 and 8000 bytes.
Measured performance includes overhead of processing crypto ops.

Change-Id: I5ec2afee708fcdf16a4234926534dd64ff1155c3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-04 09:25:51 +00:00
Mohsin Kazmi
8ea109e40a gbp: Add bd flags
Add flags for unknown unicast drop, multicast and broadcast
drop and arp unicast.

Change-Id: I1203137510b8bee0a20ecfe5f2efad8043d4bac6
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-04 07:29:34 +00:00
Thomas F Herbert
dc66aadb9a Fix problem building rdma-core.
Recent patches add rdma-core.
They are not building in Centos because of differences
in cmake. This patch fixes that problem by defining
CMAKE for all external builds.

Change-Id: I3eea869226385207500c5a1217bd7330140ca462
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-04-03 12:45:45 -04:00
Steven Luong
82c5dda455 lacp: passive mode support [VPP-1551]
By definition, passive mode means the node does not start sending lacp pdu until
it first hears from the partner or remote.

- Rename ptx machine's BEGIN state to NO_PERIODIC state.
- Put periodic machine in NO_PERIDOIC state when the interface is enabled for
lacp. ptx machine will transition out of NO_PERIODIC state when the local node
hears from the remote or when the local node is configured for active mode.
- Also add send and receive statistics for debugging.

Change-Id: I747953b9595ed31328b2f4f3e7a8d15d01e04d7f
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-04-03 16:32:37 +00:00
Neale Ranns
5ae793ac4e IPSEC: correctly size per-thread data
Change-Id: Idfc05cd0e09b50a26eaf747b7c49f720b009159a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 15:12:19 +00:00
Mohsin Kazmi
09a3bc50b5 virtio: Add support for multiqueue
Change-Id: Id71ffa77e977651f219ac09d1feef334851209e1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-03 14:42:37 +00:00
Mohsin Kazmi
692f9b1205 pci: Fix the crash on deleting the pci device
clib_file_index is 0 if it is not initialized result in
following assertion on deleteing the pci device.

vpp/src/vppinfra/file.h:122 (clib_file_del_by_index) assertion `! pool_is_free (um->file_pool, _e)' fails

This patch fixes the issue by initializing the clib_file_index to -1.

Change-Id: I51d23f18e7ccf3143a4765d05aafc1363a007737
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-03 14:42:37 +00:00
Benoît Ganne
211ef2eb24 rdma: tx: fix stats and add batching
Tx stats are no longer counted twice.
Submit tx packets as a single batch per vector instead of per-packet

Change-Id: I26820b21f23842b3a67ace0b939095f3550d3856
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-03 14:41:12 +00:00
Neale Ranns
b294f1099e IPSEC: show CLI improvements
Change-Id: I48a4b0a16f71cbab04dd0955d3ec4001074b57ed
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 14:40:52 +00:00
Neale Ranns
2b600184f3 GBP: iVXLAN reflection check
packets should not egress on an iVXLAN tunnel if they
arrived on one.

Change-Id: I9adca30252364b4878f99e254aebc73b70a5d4d6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-03 13:48:19 +00:00
Aloys Augustin
7cae003a68 QUIC: Build system update
Download a single tarball with the sources of quicly and its dependencies from github instead of cloning submodules.

Change-Id: Id9955565d46f595b3a14ba3408c24045d4acd296
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-04-03 13:27:31 +00:00
Florin Coras
02ad5bc0a8 session: allow more fifos in preallocated segments
Change-Id: I335c092a8965c5dbec58603e9f5063dc8e3fc3ed
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 08:19:53 +00:00
Florin Coras
509028ab5d session: fix cli for sessions in created state
Change-Id: Ie154afdc20000b905ff71e39823154db4d23eea4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 08:19:34 +00:00
Florin Coras
6575a9a5ac session: do not enable pre-input node with 0 workers
Change-Id: I5c9e27b664ff1a8a74a6c1388f98af63571db7a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-03 02:10:04 +00:00
Neale Ranns
fe269f3c6f stat-segment: scaling improvement
don't walk the entire list of entries each time a new one is added

approximate/indicative numbers recorded on a VM:
after:
  50000 tunnels in 1.124443 secs, 44466.45 tunnels/sec
before:
  50000 tunnels in 5.202779 secs, 9610.25 tunnels/sec

Change-Id: Ie1155416be76f55f2a0a88360ce53e15aeace785
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 21:15:29 +00:00
Florin Coras
096f2f83f6 session: remove session logic from io rx evt sender
Change-Id: I54fff6986ea6455aff25e0cf1b83117860859e10
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 21:13:07 +00:00
Florin Coras
69b68ef1a9 session: use app cb function wrappers
Change-Id: I77ad9eb4d4c7699397aa4be6a973ef37c60db4c5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 21:12:56 +00:00
Damjan Marion
f6adf1f8db vppinfra: add u32x4 min / max sse4.2 inlines
Change-Id: I38e0be777199654ece286fdd1a42931ed99bbe8a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-02 19:07:02 +02:00
Florin Coras
f65074e4df tcp: improve rcv process ack processing
- Avoid doing cc in closing states.
- Rest connections closed with unread data

Change-Id: I97d46b0459f03ea5439eeb0f233b6c17d3e06dfd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-02 16:48:39 +00:00
Filip Tehlar
c6c4394dbd lisp: use crypto lib instead of openssl directly
Change-Id: I9667ed16939dede55b24959045737742d1c7c449
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-02 15:55:24 +00:00
Neale Ranns
f05e732e4a IPSEC-GRE; tests
failing test disabled on ARM

Change-Id: I6b7535cd8f51fdaf9786ba77f9f61a7d8d049bbd
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 14:10:28 +00:00
Neale Ranns
2b5ba9501c IPSEC: tunnel scaling - don't stack the inbould SA
Change-Id: I0b47590400aebea09aa1b27de753be638e1ba870
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 14:10:10 +00:00
Neale Ranns
ea5bb7761d IPSEC: remove pointless feature ordering
Change-Id: Ic1b657794d23cb4d1664fc749ad2468339e376df
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-02 05:43:34 -07:00
Matthew Smith
72491e2a17 dpdk: fix build error when mlx support enabled
When building with environment variables set to enable mlx PMD
support in DPDK, an error occurs:

CMake Error at plugins/dpdk/CMakeLists.txt:104 (vpp_plugin_find_library):
  vpp_plugin_find_library Macro invoked with incorrect arguments for macro
  named: vpp_plugin_find_library

Update a call to vpp_plugin_find_library() to include the right
number of parameters.

Change-Id: Ia0d66f93c6f94fdf822e2c3c4fe3f0ad01a90d57
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-04-02 06:55:11 +00:00
Andrew Yourtchenko
d1a12ef820 vppinfra: fix sparse_vec_index() returning non-zero index for some nonexistent elements
If we are testing for an index whose membership bitmask happens to sit in LSB of uword,
and there is nothing else set in that uword in the member bitmask, the shortcut path
returning the valid index is taken even if the element with a given index doesn't
exist in the sparse vector. This happens because the count of leading zeroes on the
value of 0 is zero, which is equal to the value taken modulo bitsize uword.

Take care of that case.

Also add unittests showing the problem and verifying that sparse_vec_index2 does not
have the same issue.

Change-Id: I19117e13817c3e5de579b9250bb741de42491985
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-02 06:54:43 +00:00
Chenmin Sun
a4b10e5e86 dpdk 19.02: fixed speed capability error issue
Device speed capability should be specified based on different phy types
instead of a fixed value, this patch fix the issue.

Change-Id: Ia76231aefbcb0fe8370867b6e86a0d3bb9e169a0
Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
2019-04-02 02:01:31 +00:00
John Lo
f545caada9 Enhance vlib_buffer_clone to change headroom space for packet
Add function vlib_buffer_clone_at_offset() so that the cloned
packets' 1st buffer will have the original packet header copied
at the specified offset (instead of current_data). This can be
used to increase headroom in the cloned packet to allow large
header encaps in case the stdandard 128B predata is not enough.
The original vlib_buffer_clone() still works the same as before.

Change-Id: I3b50c8ad7e3952568bc141710567c99a3dacddce
Signed-off-by: John Lo <loj@cisco.com>
2019-04-01 11:30:07 -04:00
Dave Barach
ac3b113957 VPP-1576: fix a class of spurious warnings
Change-Id: I52198e97397bb6f3b5c0c30c44aac34c17650d4d
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-30 18:14:44 +00:00
Damjan Marion
65ec33bd00 vppinfra: add few more cpuid flags
Change-Id: Ic2a61c45face18b6dd23d5509d75367d3b2441e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-30 12:57:02 +01:00
Igor Mikhailov (imichail)
2d6fc6b082 SPAN: Add pending frame on current thread, not on main
Previously, all frames were put for next node on the main thread,
even if the execution was happening on a worker thread.

Also, refactor to use API function vnet_get_main()

Change-Id: Ibefb1b3871563a78aa30352a37b9216537e15bf7
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-03-29 19:25:15 -07:00
Dave Barach
19e540f73e Convince Coverity that s = format (0, ...) is OK
Change-Id: Ia88c7228a46e251b8a7815240da6ddbbcde08bc7
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 19:47:30 -04:00
Dave Barach
26dc58bfa7 Minor bug fixes
Drop the session reader lock across vlib_process_suspend(...) calls.
Fix the debug CLI command.

Change-Id: Ic0266dda1fdfa90971f2cb935248941317c01205
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 22:42:39 +00:00
Damjan Marion
d93638e128 revert quicly related build/external changes
We dont't want git pull there, there is simple way to grab tarball
from github for every single commit

Change-Id: I7a98cab7660750e48084279d8b9892cdf229bceb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 21:23:30 +01:00
Neale Ranns
e524d45eff IPSEC-GRE: fixes and API update to common types.
Change-Id: Icdcbac7453baa837a9c0c4a2401dff4a6aa6cba0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 19:57:39 +00:00
Paul Vinciguerra
95c0ca42f2 tests: test/vpp_l2.py fix missing name.
test/vpp_l2.py:213:26: F821 undefined name 'L2_VTR_OP'
        self.itf.set_vtr(L2_VTR_OP.L2_DISABLED)

Move L2_VTR_OP enum to vpp_sub_interface.py where the VTR code is found.

Change-Id: I9eb9a3a2c679813c221ce1d0c4fa8aac6076c443
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-29 19:33:33 +00:00
Florin Coras
63d3ac6789 vls: add pthread check on vls_attr
Change-Id: I455d108dfe52d45d040167fecb37b33e9d630c3c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 17:43:36 +00:00
Paul Vinciguerra
3593a9174a tests: refactor vpp_object.py
Move __str__ to super for all subclasses of VppObject
Implement __repr__ in VppObject
Implement __hash__ and __eq__

Change-Id: Ibd4ea37b84b17f499ab86630fb5b9ed9c8b4b1c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-29 16:02:27 +00:00
Nathan Skrzypczak
60f3e6547a Integrate first QUIC protocol implementation
Currently supports on single stream exposed through standard internal APIs
Based on libquicly & picotls by h2o

Change-Id: I7bc1ec0e399d1fb02bfd1da91aa7410076d08d14
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-03-29 15:57:30 +00:00
Neale Ranns
db4cae5d43 VOM: recurive route update fix
Change-Id: Iff61904804d8218c4e02897521368f696002343d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 15:17:11 +00:00
Neale Ranns
d2a4194dc7 BVI: coverity error fix
Change-Id: Idc1e1747035638777240b7ea9afcf675b22be7f1
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 13:53:12 +00:00
Dave Barach
efd0d29353 Update MAINTAINERS
Change-Id: I1b041edb6f20a9f9c867fb243922985398485054
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-29 08:17:49 -04:00
Damjan Marion
b4fff3a397 ipsec: esp-decrypt rework
Change-Id: Icf83c876d0880d1872b84e0a3d34be654b76149f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 12:04:35 +00:00
Neale Ranns
d7603d97e0 IPSEC: tunnel fragmentation
Change-Id: I63741a22bc82f5f861e1c0f26a93b5569cc52061
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-29 11:10:33 +00:00
Florin Coras
74b7437bd1 tcp: remove sent rcv wnd 0 flag
Change-Id: If6c672d1caa8884eb5d819311606a79a3de81200
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 09:31:48 +00:00
Matthew Smith
d4bdd93f07 dhcp: only register UDP ports that are needed
When configuring a DHCP client, both the UDP ports for DHCP client
and server are registered. Packets to the server port end up being
dropped unless you have also configured a DHCP proxy.

This breaks a common home/office gateway use case where the WAN
interface gets configured using a DHCP client and devices attached
to a LAN interface attempt to configure themselves using DHCP. If
you try to punt to an external DHCP daemon to handle the LAN client
requests, the packets never make it to the external daemon because
of the server port being registered.

Modify dhcp_maybe_register_udp_ports() to accept a parameter that
controls which ports get registered. For a DHCP client, only the
client port is registered. For a DHCP proxy, both client and server
ports are registered.

Change-Id: I2182d9827e4c7424b03ebb94952c3d2dc37abdb6
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-29 08:19:25 +00:00
Florin Coras
f20fd1ac90 tcp: improve updating of rcv wnd
Change-Id: I0b8a311979d3ccd15f3854e7ac44ca9951dc6ce4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-29 07:56:26 +00:00
Damjan Marion
96d4e53363 rdma: add option to specify inteface name
Change-Id: Ic6244511b88bdd42756f74e3163a70b8014e8547
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-29 00:23:57 +00:00
Damjan Marion
a03d182383 crypto: add vnet_crypto_op_init (...)
Change-Id: I2018d8367bb010e1ab30d9c7c23d9501fc38a2e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 23:29:22 +00:00
Damjan Marion
1e3aa5e213 ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN
Change-Id: Ib828ea5106f3ae280e4ce233f2462dee363580b7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 22:23:08 +00:00
Damjan Marion
9fd24793a4 cmake: add vpp_plugin_find_library macro
Change-Id: I0b996460e05c40e74766563fb2a94c62a65063ce
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 20:59:04 +00:00
Neale Ranns
76b5649d07 Punt Infra
A punt/exception path that provides:
 1) clients that use the infra
 2) clients can create punt reasons
 3) clients can register to recieve packets that are punted
    for a given reason to be sent to the desired node.
 4) nodes which punt packets fill in the {reason,protocol} of the
    buffere (in the meta-data) and send to the new node "punt-dispatch"
 5) punt-dispatch sends packets to the registered nodes or drops

Change-Id: Ia4f144337f1387cbe585b4f375d0842aefffcde5
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 20:51:32 +00:00
Damjan Marion
1f4e1cbf57 ipsec: anti-replay code cleanup
Change-Id: Ib73352d6be26d639a7f9d47ca0570a1248bff04a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 19:59:04 +00:00
Florin Coras
b38ee66425 session: remove unused tx context field
Change-Id: I4a119937842eb188f5e5a7706cbe70e91ae4def8
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 19:32:16 +00:00
Benoît Ganne
fe750c248b Add RDMA ibverb driver plugin
RDMA ibverb is a userspace API to efficiently rx/tx packets. This is an
initial, unoptimized driver targeting Mellanox cards.
Next steps should include batching, multiqueue and additional cards.

Change-Id: I0309c7a543f75f2f9317eaf63ca502ac7a093ef9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-28 19:31:59 +00:00
Florin Coras
6bc6fd0aeb session: cap max burst to a constant
Change-Id: I1919d3844936486f04f2bfde24dc7e0d9121927a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 17:01:33 +00:00
Damjan Marion
4d3aa07ba3 Avoid overwrite in clib_memcpy_le{32,64}
Change-Id: Id4a8b6a31fc3e88af2f075cb97c85d3f9b738d9e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-28 17:01:13 +00:00
Neale Ranns
0e967e0998 VXLAN-GBP: format flags in encap trace
Change-Id: I561fd187b4865345f3bff86b3d6e67b0f0e97557
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 17:01:06 +00:00
Florin Coras
51793f54fd tcp: remove unused buffer flags
Change-Id: I86e71f32dee3cc48f680e6432a96caef0a7f66a1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-28 08:39:01 -07:00
Neale Ranns
987aea8ec1 IPSEC: 4o6 and 6o4 for tunnel interfaces
Change-Id: I4d3ba18ab5205317219989de55b6e50d3b1d8a79
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 12:53:37 +00:00
Neale Ranns
45d8f85daa IPSEC: fix build breakage from ships in the night merges
Change-Id: Iec7da9adc970d005cd7d3d42839b5e51b0b5f5c3
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 08:59:17 +00:00
ezkexma
7d3161adb5 vat:ignore SIGWINCH signal
vpp/src/vat/main.c
When change the window size,the vat will get the SIGWINCH signal and then exit.
It is not a exit action,so we can ignore it.

Change-Id: If796762216910e23cace09406d413331f505d990
Signed-off-by: ezkexma <maqi.z.ke@ericsson.com>
2019-03-28 08:21:24 +00:00
Dave Barach
0729f6481d AppImage packaging
Disabled by default. To kick the the tires:

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
sudo mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy
sudo chmod +x linuxdeploy-x86_64.AppImage

Enable VPP_BUILD_APPIMAGE e.g. in ccmake
make build | make build-release

The vpp AppImage lands in .../install-xxx-native/VPP-x86_64.AppImage. To run it:

./VPP-x86_64.AppImage vpp unix interactive

To run it (as root) and inhale the usual startup.conf:

sudo ./VPP-x86_64.AppImage \${HERE}/bin/vpp -c \${HERE}/etc/vpp/startup.conf

To run vppctl, or any of the usual vpp binaries:

./VPP-x86_64.AppImage vppctl [etc]

Change-Id: Ide8cf4658cbb56f1d36a1ce7fc8f7338f8d38278
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-28 08:18:57 +00:00
Neale Ranns
25edf14369 IPSEC: run encrpyt as a feautre on the tunnel
Change-Id: I6527e3fd8bbbca2d5f728621fc66b3856b39d505
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-28 08:16:37 +00:00
Paul Vinciguerra
8feeaff56f Typos. A bunch of typos I've been collecting.
Change-Id: I53ab8d17914e6563110354e4052109ac02bf8f3b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-28 06:36:04 +00:00
Naveen Joy
64f7530fff make-test: fix ValueError raised by hook in python3
Without this patch, the hook module raises a ValueError
when tests are run using python3. This patch updates the
exception being caught by ipaddress to ValueError.

Change-Id: I5e11e292a05ddf350fc04ebaf19cfd7dad2bd9d0
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-27 23:53:49 +00:00
Neale Ranns
3b12aa97ca VOM: routes support multipath so set is_multipath in route update
Change-Id: Ib0249aec00c8a8306f2cf25394d39b4b7850d8f7
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 13:40:59 +00:00
Neale Ranns
4dd4cf4f9c GBP: fixes for l3-out routing
Change-Id: I4d73b712da911588d511a8401b73cdc3c66346fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 13:40:50 +00:00
Damjan Marion
d709cbcb1e ipsec: compress ipsec_sa_t so data used by dataplane code fits in cacheline
Change-Id: I81ecdf9fdcfcb017117b47dc031f93208e004d7c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-27 12:40:18 +00:00
Florin Coras
fbf278adc2 tcp: add cc algo lookup table
Change-Id: Ie7be0136c182cdc35193e47dd3249153c2f8d65e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-27 12:37:36 +00:00
Mohsin Kazmi
9c1f824366 vom: Add support for BVI interface
Change-Id: Ie93f3a2107df0452f7a7436b78c337f482904899
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-03-27 08:59:56 +00:00
Neale Ranns
8164a0382d FIB: do debug before remvoing last source
Change-Id: I4e1cde754eb4d6406cd6cd51f37d89552bdb6a53
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 17:05:56 +00:00
Neale Ranns
40ddc31998 GBP: missing L3-out type coversion
Change-Id: Ic6455a930fcb21b055bcf093359bc8328f88140a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 17:05:47 +00:00
Benoît Ganne
ec6e8d2641 Add missing OpenSUSE Leap 15.0 build deps
Fresh OpenSUSE Leap 15.0 containers are missing build dependencies.

Change-Id: I9b62f36c658862d8f32db5547d2176e6f56df4ea
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26 16:33:44 +00:00
Neale Ranns
4c3ba81709 ADJ: midchain delegate to performing stacking
this can be used by e.g. tunnels so it doesn't need to be
implemented for each tunnel type.

Change-Id: I0790f89aa49f83421612b35108cce67693285999
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 16:33:28 +00:00
Neale Ranns
af3f0783b0 IPSEC: more expressive API errors
Change-Id: I517a7bdae03abfea58451819e7854974397d77f8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 16:33:13 +00:00
Kingwel Xie
7ced7726d7 node: vector must be checked with vec_header
see register_node, node-name might be a vector

Change-Id: I883ec51c1fa9aa4da4ba6cba415a39bb6a4331e1
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-26 13:49:31 +00:00
Paul Vinciguerra
32ee2f1dca VPP-1508: Tests: Update version of syslog_rfc5424_parser.
Bump to version v0.3.1.
Fixes an issue with stdlib enum imports under python3.5.

Change-Id: I7d8cb9e8ae9321beb4cb2ba052b08e776590c75d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-26 12:38:11 +00:00
Filip Tehlar
1469d54fcf crypto: add set crypto handler CLI
Change-Id: I40124f8d6e529256b1ccc6eb78dda9c5119b8951
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-26 12:37:49 +00:00
Su Wang
7297f47088 perfmon: fix pmc hw indices out-dated when multiple pmc
When adding two or more events using a single "set pmc",
the pmc hardware indices might be out-dated due to kernel
reschdeduling the perf_event hardware counters.
E.g. set pmc cpu-cycles cache-misses

Solution:
Open and enable all the events first, then aquire the
indices from the kernel.

Change-Id: I6913a871ab169e3b2855ac6159f527a1fca343e9
Signed-off-by: Su Wang <su.z.wang@ericsson.com>
2019-03-26 11:44:43 +00:00
Kingwel Xie
cb36a1dbaf ip6-rewrite: bug fix buffer->error in dual loop
error should be recorded in buffer so that
process-error-punt can handle them correctly

Per Damjan's comments, move counter to under
else clause of last error0==NONE check. Both
v4 and v6 are changed.

Change-Id: I707c7877ccb12589337155173fc4a5200b42ee93
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-26 11:08:17 +00:00
Damjan Marion
c59b9a26ed ipsec: esp-encrypt rework
Change-Id: Ibe7f806b9d600994e83c9f1be526fdb0a1ef1833
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-26 10:31:01 +00:00
Benoît Ganne
8e22054209 Convert GRE nodes to new buffer APIs and multiarch
Change-Id: I3b3c8333287bb704ac7b0bbc81b3dbb059e8d2ac
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26 10:15:58 +00:00
Benoît Ganne
4af1a7f938 Simplify adjacency rewrite code
Using memcpy instead of complex specific copy logic. This simplify
the implementation and also improve perf slightly.
Also move adjacency data from tail to head of buffer, which improves
cache locality (header and data share the same cacheline)
Finally, fix VxLAN which used to workaround vnet_rewrite logic.

Change-Id: I770ddad9846f7ee505aa99ad417e6a61d5cbbefa
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26 10:06:57 +00:00
Neale Ranns
50d5069a80 IPSEC: improved policy delete
Change-Id: Icdf51b094c34725c079d2e4acbb955744434302d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-26 08:26:39 +00:00
Dave Wallace
03dd90adfe VCL: add TLS opt to socket_test.sh
- add TLS transport opt to socket_test.sh
- resolve clash in vcl_test* args with
  socket_test.sh opts

Change-Id: I952d5b64942664bc3af1098f67445e0f4b93ab32
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-03-25 19:34:50 -04:00
Florin Coras
ddd98f3483 tls: make first segment and fifo size configurable
Change-Id: I6169ebdd3ac2d5d77fd2e12068c8aab6d8072c03
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-25 20:04:23 +00:00
Neale Ranns
3833ffd6c6 IPSEC tests fnd fix or Extended Sequence Numbers
Change-Id: Iad6c4b867961ec8036110a4e15a829ddb93193ed
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-25 20:03:24 +00:00
Aloys Augustin
20ab31e8f6 UDP: Fix session registration in lookup table
This fixes a bug where packets could be sent but not received when opening an UDP connection.

Change-Id: I0993dd806b277374232d551167970ab13a62dbf9
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-03-25 15:07:22 +00:00
ezkexma
75f9fb6c16 add api trace print
/vpp/src/vlibapi/api_shared.c
after "set api-trace debug on",api trace will be print ontime when clients send msg to vpp.

Change-Id: Ib2e504afb9e674c5cdfa6dc5c522c7af0396d687
Signed-off-by: ezkexma <maqi.z.ke@ericsson.com>
2019-03-25 14:43:37 +00:00
Nathan Skrzypczak
ef71ef0ac3 Fix unformat proto UDPC / UDP conflict
Change-Id: I9161959536c37f6f730650c9c0058a41af8e7001
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-03-25 11:47:09 +00:00
Mohsin Kazmi
592c0b588c vxlan-gbp: Add api custom-dump
Change-Id: I1cb391c56463a770d874b2bfc8a0b7f6909ba55a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-03-25 09:29:48 +00:00
Florin Coras
537e85deab tcp: make default mtu configurable
Change-Id: I56d8d8d67d5590e24c1ddb54b0c63a2cb03798e1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-23 03:45:16 +00:00
Dave Barach
6c1f56f08c DOC-ONLY: improve multi-arch documentation
Document CLIB_MARCH_FN and CLIB_MARCH_FN_SELECT

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I661ba2af79db8205d70fa87203d40a2e31b795e4
2019-03-22 15:52:57 -04:00
Andrew Yourtchenko
8e843bbf40 acl-plugin: get rid of doubly-linked list fields in hash applied ACEs
With collision match vector, the doubly-linked list is not needed anymore.

Change-Id: Iaf667ebe6ce0bdd78306bec31d3949e6acb8d401
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Andrew Yourtchenko
9f3d3ceb01 acl-plugin: tuplemerge: fix a crash during soak test with split partition
Reload the hash-ready ACE vector pointer during the partition split
with each iteration, since the ACL# may change.

Change-Id: I1b001e06b52ff02ef59ca1d890f8462ca99e6634
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Andrew Yourtchenko
b5395729c7 acl-plugin: get rid of a separate "count" field in the linear acl struct
Long time ago, the linear array of rules in the ACL structure was not
a vector. Now it is, so get rid of the extraneous "count" member.
Do so in a manner that would ease potential the MP-safe manipulation of
ACL rules in the future.

Change-Id: Ib9c0731e4f21723c9ec4d7f00c3e5ead8e1e97bd
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 17:33:09 +00:00
Filip Tehlar
063dfa1587 crypto: implement rfc4231 test cases
Change-Id: I540241672a20f687d20bb70adbf2b33200f34167
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-22 17:32:25 +00:00
Damjan Marion
831d23866a ipv6: vectorized ext header check
Change-Id: I454bb01153d1d0536c4a6fe36103e7721aad8cd1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-22 17:31:15 +00:00
Neale Ranns
3e2e1907d4 ADJ: more thorough link up check
Change-Id: I04dbfb914706b25fcc3bd6ee0d19cfdc810234ae
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-22 17:30:58 +00:00
Florin Coras
4759683744 tcp: improve handling of snd_nxt
- avoid changing snd_nxt when doing fast retransmits
- use snd_una_max only to keep track of the max seq number sent
- simplify future ack testing

Change-Id: I3580ad3aefe30128486c3375d0ac3f3f62c04c5e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-22 17:30:29 +00:00
Florin Coras
881d13ede7 svm/atomics: add clib_atomic_swap_rel_n
Change-Id: Iea2c173000570043beafef58ca923463ce76d872
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-22 17:30:17 +00:00
Dave Barach
b757d1a7f5 add a "make test-gcov" target
add a line to "make help"

Change-Id: I94c9e54832e959f35ee28adc1b37091c1473f687
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-22 17:29:43 +00:00
Damjan Marion
af73eda080 ipsec: fix esn handling
Change-Id: I27f24095309082363ba0d0ba4bd69e2c0741dc1c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-22 14:53:33 +00:00
Neale Ranns
00a442068d IPSEC: test for packet drop on sequence number wrap
Change-Id: Id546c56a4904d13d4278055f3c5a5e4548e2efd0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-22 13:05:39 +00:00
Hyong Youb Kim
c39a93a83c dpdk: do not enable VLAN stripping on Cisco VIC adapters by default
With the following local patch, VIC adapters remove default vlan tags
from ingress packets. So, it is no longer necessary to enable VLAN
stripping by default. This change also allows VLAN sub interfaces to
work with VIC adapters.

patches/dpdk_19.02/0001-net-enic-untag-default-vlan-by-default.patch

Change-Id: I2e7d62c62120c351c27d827d90de4a8335efa044
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-22 13:04:39 +00:00
Hyong Youb Kim
a1c175a40d dpdk: add ENIC PMD patch to untag default vlan
The ingress vlan rewrite mode affects the vlan header of ingress
packet. The enic driver currently uses the 'passthrough' mode, which
leaves the vlan header intact. As all packets in UCS network are
tagged, this default mode leads to tagged ingress packets in the
following cases where VPP expects untagged packets.

1. Trunk-mode vNIC on UCS standalone server.
A remote device sends an untagged packet to the server. This packet is
ultimately tagged with vlan 0 as it reaches the driver, and VPP sees
an ingress packet tagged with vlan 0.

2. Access-mode vNIC on UCS blade or standalone server.
A remote device sends a packet on the vNIC's default vlan (e.g. 200)
to the server. This tag is untouched, and VPP sees an ingress packet
tagged with the default vlan (e.g. 200).

In both cases, VPP expects to see untagged packets. To work around the
issue, VPP currently enables vlan stripping on VIC interfaces, which
breaks vlan sub-interface features.

To avoid the current workaround, use the "untag default vlan" rewrite
mode. With this mode, the VIC adapter removes the vlan header if it
matches the default vlan. In the cases described above, VPP would see
untagged packets. Packets tagged with non-default vlan (e.g. non-0 for
case 1 and non-200 for case 2) are received with their tags intact, so
VPP sees tagged packets as expected.

The driver currently has no programmatic way to change the rewrite
mode after rte_eal_init. So use this patch to change the mode for the
time being.

Change-Id: Iff6408275363ed52d6016e7516d745214d6b30d4
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-03-22 12:59:49 +00:00
Andrew Yourtchenko
5c4b9f1efd vppapigen: allow for enum size other than u32
Change-Id: If20d2fbab9b854b7db276c81918fdff6abcb8385
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-22 12:53:01 +00:00
Paul Vinciguerra
f7f13347bc tests: update test_lb.py to use api call lb_conf.
Change-Id: I96a1d4b2b3ae22cf164c0acd6db9b323cd70f51a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-22 08:30:11 +00:00
Jon Loeliger
bdd6e6ac4e MAP: Crush Coverity Complaint
Change-Id: I965229f5bf8fcde9176357536a23ba8056542919
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-03-22 08:28:02 +00:00
Dave Barach
d1e17d00bb Ignore SIGTERM during the vpp boot sequence
Call setjmp and mark the setjmp context valid just prior to entering the
vpp main loop.

Change-Id: I26d5cd6a624cb2a497d81eb85a62365621b3b469
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-21 23:17:51 +00:00
Florin Coras
9e041b10ee vec: use memset in vec_resize_allocate_memory
Change-Id: I0ed28846060a774b1f6cdc1e4e5974a7e16f9f16
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-21 22:09:44 +00:00
Florin Coras
4b76112dc4 session/fifo: make event unset atomic
Ensures that fifo cursize loads cannot be speculated to before the event
unset.

Change-Id: Ia7c20c510d58f26a8e9b82d3982c6d4143a3a4d6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-21 13:56:02 -07:00
Neale Ranns
192b13f96d BVI Interface
a new dedicated BVI interface as opposed to [re]using a loopback.

benefits:
 - removes ambiguity over the purpose of a loopback interface
 - TX node dedicated to BVI only functions.

Change-Id: I749d6b38440d450ac5b909a28053c75ec9df946a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 20:33:30 +00:00
Steven Luong
1ea74b5df5 docs: break up long lines in vmxnet3.rst to avoid line wrap
Although it does not make a difference for the formatter with long lines, it
is easier to view and read the raw text with conventional editor when there no
line wrap. Just break up the long lines to 80 characters or less.

Change-Id: Ia916638e974abd19b8d19aee4dd72ff6a243ca48
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-21 18:19:38 +00:00
Neale Ranns
7227c39dc4 error-drop; print interface by name
Change-Id: I19736180c1e7e1d13dbb74bcd8f1dfae762b1d25
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 18:18:38 +00:00
Neale Ranns
2ac885c665 IPSEC: Mutli-tunnel tests
Change-Id: I46f1db6579835c6613fdbb2b726246cc62b135fe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-21 13:44:31 +00:00
ezkexma
bcee60d570 api trace: cli bug fix
vpp/src/vlibmemory/vlib_api_cli.c
Fixing the help string for the "set api-trace" command.

Change-Id: I70f85a4f55466d2cc01018c4ad8cbe8332dbb925
Signed-off-by: ezkexma <maqi.z.ke@ericsson.com>
2019-03-21 12:39:35 +00:00
Kingwel Xie
27431dde95 icmp: bug fix of buffer->error
Recent changes in icmp4/6 choose to free the original
buffer, and make a copy for sending icmp reply back.
However, buffer->error will be ignored when the buffer
is freed unconditionally.

A quick fix can be moving the counter increment code to icmp,
but I prefert to enqueue all buffers to 'error-drop' so that
they can be handled in a batch

rebase, using vlib_buffer_enqueue_to_single_next

Change-Id: I9f3028b55f1d5f634763e2410cd91e17f368195e
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-21 11:29:24 +00:00
Kingwel Xie
1ba5bc8d88 ipsec: add ipv6 support for ipsec tunnel interface
Change-Id: I6a76907dc7bed2a81282b63669bea2219d6903c9
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2019-03-21 07:42:09 +00:00
Florin Coras
a5efca30f5 vcl: mark app state as failed if attach fails
Change-Id: If6c3b9a9136390fb740e5c00fd270b7962a1c4ab
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 22:02:49 +00:00
Damjan Marion
8863123bad crypto: add hmac truncate option
This reverts commit 785368e559dbdf50676f74f43f13423c817abb52.

Change-Id: I782ac2be4e161790c73ccd4b08492e2188a6d79d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:24:31 +00:00
Damjan Marion
f2edfbd212 crypto_openssl: call EVP_EncryptFinal_ex only if needed
Change-Id: I4dc6749a67c0726bae20b8204a5171676308b909
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:23:59 +00:00
Neale Ranns
c80cc9ab84 IPSEC: Tunnel SA not deleted
p is overwritten by hash_unset so an incorrect value is passed to
ipsec_sa_del

Change-Id: I97300dd4421c62d7cfa47b8e7e9789becb2370e9
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-20 17:23:41 +00:00
Damjan Marion
b966e8bfdd ipsec: keep crypto data inside SA
Change-Id: Ie8986bd3652d25c4befe681cea77df95aba37ebc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 17:23:04 +00:00
Kingwel Xie
c372dc2190 ipsec: bug fix ipsec-init sequence
ipsec_tunnel_if_init might be called before ipsec_init
this memset in ipsec-init therefore zero the memory
allocated by ipsec_tunnel_if_init

Change-Id: Ie889f1bf624c76842ef77e5a51ed1d41fed4758d
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-20 16:36:18 +00:00
Florin Coras
5fc939eea9 cpu: fix rtype for fn selected by CLIB_MARCH_FN
Change-Id: I79f65d7bd19af035442dca48b7be6c94de20c167
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 16:12:02 +00:00
Florin Coras
e5c57d763b tcp: disable cc elog debugging
Change-Id: Iffed748a15b9f01b985f9a6a9574a7bc42ab55aa
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 15:22:40 +00:00
Damjan Marion
47d165e4c1 perfmon: python to C parser for intel CPUs
EXAMPLE:
src/plugins/perfmon/intel_json_to_c.py \
  -i skylakex_core_v1.12.json \
  -o src/plugins/perfmon/perfmon_intel_skx.c \
  -m 0x55,0 \
  -m 0x55,1 \
  -m 0x55,2 \
  -m 0x55,3

Change-Id: I16ce059e231d340ecfcb6f6638e29c5b46304683
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-20 03:06:52 -07:00
Florin Coras
d89411ef5f ldp: force exit if constructor init fails
Change-Id: I0c4659b9e413cf7291ec9e3b5a67de8ad8028cd3
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-20 09:27:32 +00:00
Lijian.Zhang
e6a47cf557 Re-enable aarch64 neon instruction in vlib_buffer_free_inline
int vaddvq_u8 (uint8x16_t __a) is not appropriate to implement xxx_is_all_zero,
as there may be overflow causing incorrect return value.

Here's an example.
u8x16 x = {0 <repeats 12 times>, 1, 255, 0, 0};

Change-Id: Ia6a10bdf8da360dec12db902d028751a1a77e9a4
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
2019-03-20 09:27:20 +00:00
Filip Tehlar
e225f71766 tests: implement crypto tests per RFC2202
Change-Id: I18b30d5ee8aa60c34d52b7716b5feb7225cb0d59
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-20 00:56:41 -07:00
Paul Vinciguerra
76ef6094cb tests: cdp plugin. Replace cdp enable cli command with API call.
Change-Id: Ic2d21b535a58c1c618ec9e652d30858ad45a7d43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:47:36 +00:00
Paul Vinciguerra
b8daa257bd vpp_papi: Expose the list of field attributes to the client.
Change-Id: I7aba1760f68798fc5bea1244ce798e4b528a4df4
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:44:20 +00:00
Paul Vinciguerra
ec850a8044 tests: replace CLI command with API for flowprobe params.
Change-Id: If446a0d111b89f0a761db41696e0d6ca912312f0
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-20 07:44:18 +00:00
Paul Vinciguerra
3d04e3303a vpp_papi: specify encoding for .encode()/.decode()
py2 defaults to 'ascii', py3 defaults to 'utf-8'.

Change-Id: Ib76d0ec56f24535e4bafd397cc6fb5e85967d508
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-19 17:36:32 -07:00
Jon Loeliger
4dc5c7b905 MAP: Add optional user-supplied 'tag' field in MAPs.
Like other entities, allow an arbitrray user-supplied 'tag'
field to be place on created MAP domains.  It is also later
returned with the MAP details.  You might be thinking "User
assigned MAP name" here.

As the MAP domain structure was at the limit of a cacheline size,
introduce a parallel "extra data" vector with non-essential domain
information in it.

Change-Id: Icc12b64cc4cb3e040c9a475908b19f6abaf4c293
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-03-19 20:44:34 +00:00
Neale Ranns
2e2c91f925 Revert "tests: Deprecate the use of CLI commands in tests."
This reverts commit e2e8f02165f27ae04e6d20ce0c628e29271a8db6.

Change-Id: Ie23dcb8a5b3e96f77e0d117a6887c43064c79669
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 17:56:54 +00:00
Damjan Marion
91f17dc7c4 crypto: introduce crypto infra
Change-Id: Ibf320b3e7b054b686f3af9a55afd5d5bda9b1048
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-19 16:29:43 +00:00
Michal Cmarada
5daf0c55c0 add default NONE flag for bd_flags
Change-Id: I316bcc3d0244cf89bd1e2fc8a08cfac6aad0b22c
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-03-19 16:22:48 +00:00
Neale Ranns
231c469687 IPSEC: remove byte swap operations in DP during SPD classify
Change-Id: I4bfde738f9585b045cb5ba62cf51b141d639b1b2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 14:53:26 +00:00
Neale Ranns
9f231d4f14 IPSEC: tidy the policy types
Change-Id: I5e981f12ff44243623cfd18d5e0ae06a7dfd1eb8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-19 11:26:14 +00:00
Steven Luong
ee94ffa35d docs: Update vmxnet3 usecase
Update vmxnet3 usecase to reflect the current supported features.

Change-Id: I4558eb422d5b2641b3acfc7c0a3734bf31a8fb0f
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-19 07:39:51 +00:00
Florin Coras
d5c604d687 session: add session flags
- use flag instead of enqueue_epoch for enqueueing rx events.
- use flag for proxy sessions

Change-Id: Iec3eee55a68d02536ece6329348a3369c7c7412e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-18 22:07:37 +00:00
Damjan Marion
1ee346a0a6 Fix build with newer linux headers
Change-Id: Ibfdcec60567ec357205fa137257f2d8cba44b01c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-18 17:13:10 +00:00
Neale Ranns
5cbf7c7a88 VOM: GBP: L3-out subnets need only the sclass not an EPG
Change-Id: Ic600233ea69216aeee707a103bf840fbeec5c205
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-18 15:27:20 +00:00
Paul Vinciguerra
c0692a4496 tests: Speedup tests by 30%.
Baseline:
  2598325153 function calls (2598296959 primitive calls) in 2257.698 seconds

Post-changeset:
 1495427 function calls (1467233 primitive calls) in 1572.080 seconds

Change-Id: I191b68b29c9e0f19964bf0b8879ddf357c9cbd5c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-18 14:08:34 +00:00
Paul Vinciguerra
b5f15bddc5 Tests: Trivial. Define constants once.
Change-Id: Iaf106962598d04708e8740e016d5c55ff35432c9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-18 14:06:38 +00:00
Paul Vinciguerra
e2e8f02165 tests: Deprecate the use of CLI commands in tests.
Since the stated policy regarding CLI commands is:
  "Note that the debug CLI is a developer's tool
   - no warranty express or implied - and that
   we may choose not to fix debug CLI bugs.",

this change emits a deprecation warning whenever a test case calls a CLI command.

Change-Id: I91b30e86ae1b2fca36732837f36cdda762cdf458
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-18 14:06:12 +00:00
Steven Luong
ee8ba6877e vmxnet3: auto bind support
For creating the vmxnet3 interface, add the bind option to automatically bind
the pci to vfio-pci module which removes the need for manual bind. Manual bind
still works, should people prefer to go that route.

Change-Id: Ife75926f8755d754a08dd0ecff0f1de326ad5ba1
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-18 11:11:50 +00:00
Andrew Yourtchenko
a990a2e493 vnet: disable the expansion of the heap allocated for classifier tables
Classifier data structures assume the contiguous chunk of memory
within the heap. Default heap flags for dlmalloc allow for heap growth.
When that happens, the memory becomes discontiguous. This results
in symptoms that are more cryptic than necessary.

Disabling the expand makes the session allocation behavior
of the classifier the same for dlmalloc as for the legacy allocator.

Change-Id: I2f725b5f78a31a8eaa5f5a20dfdd7e1129662f6a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-18 10:49:56 +01:00
Tom Seidenberg
97f8ae923a Fix bihash bucket double unlock.
Change-Id: Icc9bef32d1bb2b8f277598c50c69343c81f22cd2
Signed-off-by: Tom Seidenberg <tseidenb@cisco.com>
2019-03-15 20:15:24 +00:00
Ole Troan
e4a6d69faa PAPI: Build python3 package for vpp_papi
Change-Id: Iae53fe88a69b53b75a7439d159ae0f9d18545908
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-15 19:01:59 +00:00
Ole Trøan
3b0d7e42f6 Revert "API: Cleanup APIs interface.api"
This reverts commit e63325e3ca03c847963863446345e6c80a2c0cfd.

Allow time for CSIT to accommodate.

Change-Id: I59435e4ab5e05e36a2796c3bf44889b5d4823cc2
Signed-off-by: ot@cisco.com
2019-03-15 17:34:06 +00:00
Dave Barach
3fef8f811a DOC ONLY: fix g2 build documentation
Removed a broken paragraph, replaced it with a link.

Some nuisance white-space cleanups courtesy of emacs:
(add-hook 'before-save-hook 'delete-trailing-whitespace)

Change-Id: Ib348107c2dc0df8249461591015347d7b4f6fa4a
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-15 11:29:45 -04:00
Florin Coras
5e06257cb8 vcl: cleanup debug messages
Change-Id: Ida3ecffc9a4d7a080ad63cd48fd4b5330b732ffb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-15 14:08:10 +00:00
Jakub Grajciar
e63325e3ca API: Cleanup APIs interface.api
Use of consistent API types for interface.api

Change-Id: Ieb54cebb4ac96b432a3f0b41596718aa2f34885b
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-03-15 10:24:22 +00:00
Paul Vinciguerra
4ba4edd150 Add @deprecated decorator.
import deprecation

@deprecation.deprecated(deprecated_in="1.0", removed_in="2.0",
                        current_version=__version__,
                        details="Use the bar function instead")
def foo():
    """Do some stuff"""
    return 1

Change-Id: Ib2ec5dd90445c9967eb39dbf6543cafd48b7f866
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-15 10:03:12 +00:00
Paul Vinciguerra
e3a0e6e8bf Tests: test/test_flowprobe.py Fix TypeError.
TypeError: not all arguments converted during string formatting

Change-Id: I0b4b27e37ba47e737aeb639c9787f8bc08a92dce
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-14 21:26:07 +00:00
Neale Ranns
6f0fb0bd82 GBP: coverity legit bug
Change-Id: Ia7d98842669c605052371c2bf6a016e4b4f7dc8f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 21:25:30 +00:00
Florin Coras
37db43093c tcp: drop anything but fins in TIME_WAIT
Change-Id: I8414c2ed8bda59504330aad5f1a80dfe08dd85de
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-14 20:23:49 +00:00
Paul Vinciguerra
bb2c7b580e Update documentation for src/vnet/interface.api sw_interface_dump
Change-Id: Idcb15632ffe45ec269f2482be2ada967f41f19be
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-14 20:09:20 +00:00
Neale Ranns
6233111b0e GBP: update semantics for subnets
Change-Id: I895c03b365619e6c66613242f4a97c79ce579879
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 18:14:35 +00:00
Neale Ranns
8b4712b49e IGMP: typo and doc fix (no behaviour change)
Change-Id: I1c870f90a8e0d14b972593e72242b430c13d3bf2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 09:51:23 -07:00
Andrew Yourtchenko
e5468b320a acl-plugin: fix the l2l3 unittest to actually verify the pcap
Thanks to Paul Vinciguerra for spotting it.

Change-Id: I1f776c3c21865dbc52c4d659c62cbfa4967e15e9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-03-14 15:15:49 +00:00
ChenminSun
53ba544d78 dpdk: Add E810 family support
Change-Id: Id5b30d7a394551844a79b3d222d2d26194d033df
Signed-off-by: ChenminSun <chenmin.sun@intel.com>
2019-03-14 13:25:12 +00:00
Neale Ranns
2331e48ff9 GBP: Endpoint flags
Change-Id: I4d70985ad078e84ec23ce704c8b76e2ac7809419
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 13:05:46 +00:00
Neale Ranns
6348074be4 TEST: link-state up/down notifications on FIB forwarding
Change-Id: I478c4e5feb9603b7443efdf2967f98f9bde7ea0f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 13:04:00 +00:00
Florin Coras
fff68f7a5b vcl: fix coverity warning
Change-Id: I048276fd26e6e079ce31b9aeb1265f5d929f8540
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-14 12:27:04 +00:00
Neale Ranns
4c2bff06d6 GBP: get source address from ARP packets for LPM classification
Change-Id: I1370c1882f8ba9b709e54e62356d2c57d47d20fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-14 03:00:32 -07:00
zhanglimao
a04ebb88e5 session rule cli add udp session fail
current session rule cli can not add session rule of proto is udp.
because vnet_session_rule_add_del function's paramter does not include transport_proto element in args struct,
but session rule type on the basis of input args's transport_proto when create session rule with vnet_session_rule_add_del function,
so just add transport_proto element to vnet_session_rule_add_del function's args that to solve this problem

Change-Id: If1a5942b4a0b006d73376e0cb01b97e84c593493
Signed-off-by: zhanglimao <zhanglimao0017@gmail.com>
2019-03-13 22:52:55 +00:00
Dave Barach
a5160d7d1f VPP-1576: fix a set of coverity warnings
Change-Id: Ifd34aed8692d5acaa370d4976d974ac573e43705
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-13 15:29:59 -04:00
Damjan Marion
3e94c419e3 buffers: don't use clib_memcpy for copying buffer indices
Should be faster this way if n_indices is not constant value

Change-Id: I6c34fd313daa2392199f3b9bd20d0cd6cf9ae21b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-13 16:44:13 +00:00
Steven Luong
7e5735d312 vhost-user: restart vpp may cause vhost to crash
Fix a typo in vhost_user_rx_discard_packet which may cause
txvq->last_avail_idx to go wild.

Change-Id: Ifaeb58835dff9b7ea82c061442722f1dcaa5d9a4
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 39382976701926c1f34191c1311829c15a53cb01)
2019-03-13 14:11:53 +00:00
Neale Ranns
22e1f1d136 Move the punt/drop nodes into vlib
The core VLIB library now has a means to dispoe of buffers.

the vlib punt/drop node counts node errors.
the vnet punt/drop node counts interface errors.

speed up both nodes with the usual reciepe.

before:
  error-drop   8.33e1

after:
  drop   4.51e1
  error-drop  6.81e0

Change-Id: If2e919458a3f2e9d71dbf9c6f1352dafb186a05b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-13 14:00:30 +00:00
Filip Tehlar
aee73648cf deprecate VLIB_DEVICE_TX_FUNCTION_MULTIARCH
Change-Id: I8819bcb9e228e7a432f4a7b67b6107f984927cd4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-13 05:50:59 -07:00
Jay Lubomirski
69becfcd5e Add the SRIOV variant PCI Device ID of the Cisco VIC
Change-Id: I572cbba817275d85c200a4b09a63f4650075f638
Signed-off-by: Jay Lubomirski <jlubomir@cisco.com>
2019-03-13 11:55:38 +00:00
Paul Vinciguerra
22364e49cb Tests: post-merge review comments for https://gerrit.fd.io/r/#/c/18081/
Change-Id: I2195b3264b5db34d869facf669f3e71a04fe3ff9
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-13 11:54:45 +00:00
Damjan Marion
0e209242d0 buffers: fix ref_count mask in vlib_buffer_free_inline
Credits to: Lollita Liu <lollita.liu@ericsson.com>

Change-Id: I40f7ad9cc5220db7ac4571cb14feaf22fc02aa2e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-13 12:04:39 +01:00
Filip Tehlar
c3a0e8d2d2 deprecate VLIB_NODE_FUNCTION_MULTIARCH
Change-Id: I403173846bc5b1bbbe2a2c41225b0f666f851cb9
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-13 10:59:48 +00:00
Florin Coras
47a9c651e2 tcp: fix entering closing state while in fast recovery
Change-Id: I30470e8a1404632b0350056769338dc69a94c105
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-13 08:23:55 +00:00
Florin Coras
fd2474430e tcp: avoid computing flags in push hdr inline
Change-Id: I579eef6d70b94b20e22b7b116ac63b2d7af49b22
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-13 08:23:55 +00:00
Stephen Hemminger
485710e0b7 vmbus: not having uio_hv_generic is not an error
If uio_hv_generic is not loaded, then the startup code will
fallback to the older failsafe/tap method of initialization
in DPDK.  Therefore don't put out scary message in the log.

Also, reorder startup to avoid manipulating lower device until/unless
uio is going to work.

Change-Id: Ie1cc77b4b5359c04f00a93d01a772eccf3bbab37
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-03-13 08:22:02 +00:00
Paul Vinciguerra
c599c6f001 Tests: Raise exception, don't raise string.
This was deprecated ~ python 2.4, and causes a TypeError as sideEffect.

>>> raise "foo"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: exceptions must derive from BaseException

Change-Id: I4117b6d60ae896eaa1ef2a73a323d8d241f8c3a7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12 17:48:49 -07:00
Damjan Marion
6459315569 Use AVX2 as default even on AVX512 systems
Use of scalar AVX512 instructions impacts the maximum CPU frequency
as they require CPU to request level 1 power license.

So sparse use of AVX512 like we do, typically causes more harm than
improvement.

This patch makes AVX2 higher priority than AVX512, but still there
is option to change it on per-node basis:

vpp# set node function ethernet-input avx512

Change-Id: I42e03510a6efc1756e22fbb70e8c76d7f74f59d7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-12 19:57:26 +00:00
Florin Coras
176bcb28d8 svm mq: add unit test
Change-Id: I2f1fa15a99163b9c105707484503dc9502265c52
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-12 19:29:36 +00:00
Florin Coras
0147c0fefa tcp: print congestion control algorithm in cli
And shuffle some of the other connection variables.

Change-Id: Ib5361d0a45537a3bd2421b8e4145ea0f0e525d91
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-12 19:29:00 +00:00
Stephen Hemminger
890fab2c82 dpdk: pass log-level configuration to EAL
The log-level dpdk config value should be transparently
forwarded to DPDK via EAL argument.  Since DPDK now supports
naming log-levels, VPP no longer needs to parse and call
rte_set_loglevel().

This was the other part of the DPDK log-level change.
It must have got missed during my initial checkin.
Without it passing dynamic log-level values like are silently
ignored.

Fixes: 6ca6ac6c887e ("dpdk: support passing log-level")
Change-Id: I732cec5f638c9924e3ffb04c4753f957e3633d64
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-03-12 19:10:30 +00:00
Dave Barach
80965f599a Perf tune handoff queue polling
Change-Id: I5cfa0f6eee67156bf87907fcf8a39f16d68a0905
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-12 19:09:47 +00:00
Filip Tehlar
26ea14eead ip: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Id55ec87724e421d5b722314f9302c6ade7545306
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12 19:08:33 +00:00
Filip Tehlar
44f0f71b6b l2: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I8370c06150ce4499475e9d6dc6b3ab8be2016202
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12 19:07:42 +00:00
Dave Barach
c4be9850f2 DOC ONLY: add packet handoff doc
Change-Id: I2e8076bb4f697819780e61ff761defdc74bf4f09
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-12 18:41:06 +00:00
Filip Tehlar
24b77d1be0 VPP-1585: fix dns test cli
Change-Id: Iac105e09bb88434fe55365fc1546d769f034e0e2
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-12 18:40:30 +00:00
Neale Ranns
36abbf1004 GBP: L3 out fixes
Change-Id: I0562d597fd45c7ddcb6db42cf17d3ffb569eb140
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 16:50:23 +00:00
Neale Ranns
7bd343509f GBP: custom-dump functions
Change-Id: I719882acb59bd069fd88b10989f11085a0c41ae6
Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-03-12 16:34:45 +00:00
Neale Ranns
f726f53918 FIB: path parsing, table-id not fib-index (VPP-1586)
Change-Id: Ib27952935393163eaabf005c69b1cbc2feca2b98
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 16:02:07 +00:00
Neale Ranns
fa0ac2c566 GBP: contracts API fixed length of allowed ethertypes
VAPI does not handle two VLAs in one struct.

Change-Id: I259c998bef4398ead2bbb9e788350d50c2f05694
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 15:45:25 +00:00
Ole Troan
da7f7b6164 ICMP46 error: Clone first buffer instead of "truncating" original buffer
Previous code was walked buffer chain, effectively trying to "truncate" the chain, reset the
length of first buffer and reused that as the ICMP error message. That could have issues in cases
there were other users of the buffer chain. Update to clone the first buffer in chain, and
use that for the ICMP error message instead.

Change-Id: Ibc1a0bf2d854dae41874808c8297028ed93dd69d
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-12 15:30:20 +00:00
Paul Vinciguerra
5995482d31 VPP-1486: Unittest for stat segment file descriptor leak.
Verifies: https://gerrit.fd.io/r/#/c/18167/

Before patch:

    ==============================================================================
    Test Stats Client
    ==============================================================================
    Test file descriptor count - VPP-1486                                    FAIL [ temp dir used by test case: /tmp/vpp-unittest-StatsClientTestCase-EAp0e7 ]

    ==============================================================================
    FAIL: Test file descriptor count - VPP-1486
    ------------------------------------------------------------------------------
    Traceback (most recent call last):
      File "/vpp/test/test_stats_client.py", line 39, in test_client_fd_leak
        initial_fds, ending_fds))
    AssertionError: initial client side file descriptor count: 20 is not equal to ending client side file descriptor count: 120

    04:55:38,038 Symlink to failed testcase directory: /tmp/vpp-failed-unittests/vpp-unittest-StatsClientTestCase-EAp0e7-FAILED -> vpp-unittest-StatsClientTestCase-EAp0e7

    ==============================================================================
    TEST RESULTS:
         Scheduled tests: 1
          Executed tests: 1
            Passed tests: 0
                Failures: 1
    FAILURES AND ERRORS IN TESTS:
      Testcase name: Test Stats Client
        FAILURE: Test file descriptor count - VPP-1486 [test_stats_client.StatsClientTestCase.test_client_fd_leak]
    =============================================================================

After patch:

    ==============================================================================
    Test Stats Client
    ==============================================================================
    Test file descriptor count - VPP-1486                                    OK

    ==============================================================================
    TEST RESULTS:
         Scheduled tests: 1
          Executed tests: 1
            Passed tests: 1
    ==============================================================================

    Test run was successful

Change-Id: I055e473ecf0566ebfbfbadd58ec6eaf11fc77d68
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-12 05:26:04 +00:00
Neale Ranns
38fb88973f FIB: crash when deleting default route
when adding a recursive path the table is locked
so that it can be removed when the last recursive path
is removed. however, not all RR source'd prefixs use
a recursive path. so flushing the table of all RR source'd
entries is not correct.

Change-Id: Id4010774011046e66ddc443ac83cb8e9245313dd
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-12 01:35:31 +00:00
Klement Sekera
88aec650c5 bfd: register udp ports only when enabled
Change-Id: Iffb4b314be3ded0d9c6acb77ec1c6f22778f301d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-03-12 01:34:53 +00:00
Ole Troan
a5b2eec053 vpp_papi_provider: Remove more wrapper functions.
Split this work up into pieces.
Please don't add new wrappers to vpp_papi_provider.py.

Change-Id: I0f8f2afc4cd2bba07ea70ddecea2d7319f7b2e10
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11 21:57:19 +00:00
Florin Coras
2d9b427a5b ldp: fix worker alloc when using eventfds
Change-Id: Icfba7ae9cbf504a8966923eac06c9eb0e11899d2
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11 10:14:37 -07:00
Filip Tehlar
f3a5a9327b disable multiarch for error-drop
this is a workaround that avoids building/linking other archs for error-node.
Combination error-node + avx512 arch triggers a crash in pg during
test run.

Change-Id: I6ed39fdf0a58f82d951082b1cf91ab2a57d8108c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11 05:57:26 -07:00
Ole Troan
0c656748ad VPP-1533: Deleting a non-existent pre-resolved MAP next-hop causes VPP core dump
Change-Id: I6f0830b786ac46c69c867f73b044aab174e6210b
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11 09:41:13 +00:00
Paul Vinciguerra
22ab6f7cbb VPP-1508: Tests: Fix vpp_api struct.error under py3.
Fix struct.error: expected bytes object got <class 'str'>

Change-Id: I837ae6e97e44c789a9372677151b157956525334
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 09:20:04 +00:00
Filip Tehlar
eb9a27f247 dpo: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I3043112c3e7584f61e64dc6d20d57604ebceb76a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11 09:16:10 +00:00
Filip Tehlar
79c27ebe0f mfib: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I7114cd55ce1fc320d17b36cab731546fe4c58a72
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-11 09:15:28 +00:00
Florin Coras
bf7ce2cd3c tls: fixes and improvements
- disconnect sessions through session layer apis instead of directly
notifying the app worker.
- improve cli
- increase fifo sizes for tls app

Change-Id: I8a7d2865b3b00724e2a9da29fa4a906ea867da9b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11 09:15:01 +00:00
Florin Coras
9f1a5432b3 session: fix ct that match global table entries
Change-Id: I42addcd413094a8b6e9b2858ba2a292bd295ec82
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-11 09:14:50 +00:00
Ole Troan
8ae3a53c7a VPP-1486: stat segment file descriptor leak
Close the mmap file descriptor at first opportunity.

Change-Id: If8faa1de0a57dc7d8abb3eed97861813b841bd92
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-11 09:08:39 +00:00
Paul Vinciguerra
a7427ec6f8 VPP-1508: Use scapy.compat to manage packet level library differences.
Change-Id: Icdf6abc9e53d33b26fd1d531c7dda6be0bb9cb55
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:11:16 +00:00
Paul Vinciguerra
0f6602cb24 Tests: fix time.sleep(0) # yield. Reduce sleep related log messages.
Reduce the incidence of:
20:04:23,606 unexpected time.sleep() result - slept for 2.187967e-03s instead of ~6.837845e-04s!

Change-Id: Ic576fda7f75e571c9019111588a6a936ee2cf5c2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:10:34 +00:00
Paul Vinciguerra
d3a9be2ca0 Tests: remote_test.py. Private member test catching dunder names.
Private member check also catches __iter__, since it starts with '_'.

Fixes:
  Captured traceback:
  ~~~~~~~~~~~~~~~~~~
      b'Traceback (most recent call last):'
      b'  File "/vpp/test/test_memif.py", line 47, in tearDown'
      b'    remove_all_memif_vpp_config(self.remote_test)'
      b'  File "/vpp/test/vpp_memif.py", line 36, in remove_all_memif_vpp_config'
      b'    for d in dump:'
      b"TypeError: 'SerializableClassCopy' object is not iterable"
      b''

Change-Id: I6a3f3e0f2b1b2d0a2b97faa23bf542ff8f92de43
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:09:58 +00:00
Paul Vinciguerra
9a6dafd569 Tests: use self.assertNotIn().
Many tests use self.assertEqual(error.find("failed"), -1)
Use self.assertNotIn("failed", error) to provide more meaningful errors such as
AssertionError: 'Failed' not found in '' instead of 0 != -1.

Change-Id: I670acdc977b788b2cedf94cfeafc12097781463f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 08:09:23 +00:00
Paul Vinciguerra
f70cead5eb Tests: 'Fix' __del__ in test/remote_test.py.
This is not a fix as much as supressing a warning.
__del__ is not a destructor.

test/remote_test.py:385:13: F821 undefined name 'cls'
            cls.vpp.poll()
            ^
test/remote_test.py:386:16: F821 undefined name 'cls'
            if cls.vpp.returncode is None:
               ^
test/remote_test.py:387:17: F821 undefined name 'cls'
                cls.vpp.terminate()
                ^
test/remote_test.py:388:17: F821 undefined name 'cls'
                cls.vpp.communicate()

Change-Id: I6f0ecf3ae5dee7f279a4e25994cc1c49470bca26
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 01:14:53 +00:00
Paul Vinciguerra
a1bfb3a4d2 Test: Fix hook.py: AttributeError
File "/vpp/test/hook.py", line 84, in on_crash
    self.testcase.vpp_bin, core_path)
AttributeError: 'PollHook' object has no attribute 'testcase'

Change-Id: I84d9d86a5c6a5769a43a91cf23ce8a1141f7cd12
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-11 01:09:32 +00:00
Dave Barach
593eedf256 Perf tune get_frame_size_info
It turns out that for scalar sizes 0..24, frames are always the same
size. That range includes all current use-cases - and then some - so
get rid of the hash table. Old code preserved under #ifdef
VLIB_SUPPORTS_ARBITRARY_SCALAR_SIZES.

Change-Id: Ic005c7143c9639f77d1a0fadd2fc0e90dccb68c1
Signed-off-by: Dave Barach <dbarach@cisco.com>
2019-03-10 23:16:43 +00:00
wuzhouhui
c7886c5d50 vcl: update buf if whole buf cannot be done at once
Change-Id: I0d56d2cee012b46da848362f322d6f246f8bf4c2
Signed-off-by: wuzhouhui <wuzhouhui14@mails.ucas.ac.cn>
2019-03-10 11:35:46 +08:00
Neale Ranns
738b299a8e SVS: cleanup default route on SVS disable
Change-Id: Ie0680330dd619cfdcb72ae8fb7e2463f732cff8c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-09 00:00:05 +00:00
Florin Coras
679b78f715 tcp: fix rcv_wnd computation
Change-Id: I3cecffae2e30233d4725bd3eaf5ff4a8ff194fae
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08 20:03:54 +00:00
Florin Coras
14ed6df900 session/tcp/vcl: fixes and optimizations
Change-Id: Idc7dfe743399dd8dee0f6b3ec83f194f3fca580b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08 20:03:31 +00:00
Florin Coras
7e74bf39ec tcp: fix window probes in fin-wait-1
Change-Id: Idf060f385f4d9b2f42fdab6a1d372727beb8b19e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08 20:03:22 +00:00
Florin Coras
11e2cf5f1a session: reorganize session fields
Change-Id: I7f3b015ea6750c9773e4285bb63b0d44fa2177b9
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-08 20:03:10 +00:00
Neale Ranns
5d704aea53 updates now that flags are supported on the API
Change-Id: I9c45f390a6454c114f12f9c46c3a93fcecffa73f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-08 12:28:52 +00:00
Dave Barach
035ea679d5 parse ethernet header in ct6_in2out
fix a debug CLI scripting bug: cp_ip6_address_add_del_command_function
ate any subsequent commands, yielding indigestion.

Change-Id: Iaca7bed5687759da36ae91dc658e758549b71796
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07 22:41:39 +00:00
Paul Vinciguerra
eaea421e1f Tests: Refactor payload_to_info()
All callers of payload_to_info were required to wrap payload with str().
Refactor to call scapy's payload.load for raw payloads or specify the
specific fieldname.

Change-Id: I1c80599d4df8dc129dbb8274733afaad406d5bcf
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:29:44 +00:00
Paul Vinciguerra
ea2450fa2d VPP-1508: Python3 tests. Explicitly specify string formatting.
.format() doesn't understand what to do with binary values by default.
Specify that we expect coersion to string.

Change-Id: Ic4b697f70852124dc85ab231f76b7934d0d71f4d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:29:00 +00:00
Paul Vinciguerra
4a4cea02ef VPP-1508: test_acl_plugin vapi changes for Python3.
Change-Id: I0863cefa523a6d7c11e48649b03f058130e5a4ee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:28:29 +00:00
Paul Vinciguerra
42bdba80f7 vpp_papi: Adjust aenum import for python3.
The stdlib introduced IntEnum in python 3.4 and IntFlag in python 3.6.

Change-Id: I3ac278a9d5a97eefa9fc4f1491f0cd030e40c3b2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-07 22:19:48 +00:00
Naveen Joy
2cbf2fb05e make-test: Python pep8 compliance for sequences
For sequences, (strings, lists, tuples), use the fact that
empty sequences are false. A tiny change towards getting
full pep8 compliance, which will look good.
Yes: if not seq:
     if seq:
No:  if len(seq):
     if not len(seq):
(https://www.python.org/dev/peps/pep-0008/)

Change-Id: I6b565bef424f81afc66aba3b0041a5029a9f8954
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-03-07 19:40:04 +00:00
Dave Barach
974931f162 Honor vnet_rewrite_data_t data_bytes == 0
Avoid the cache miss consequences of spraying [functionally harmless]
junk into un-prefetched rewrite space. As things stand, several tunnel
encap rewrites set rewrite data_bytes = 0, and take a performance hit
due to unwanted speculative copying.

Should be performance-neutral in speed-path cases, which won't execute
the added check.

Change-Id: Id83c0325e58c0f31631b4bae5a06457dfc7ed567
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07 19:39:28 +00:00
Dave Barach
f7c1a70ba5 Fix typo in feature arc constraint
Also, increase ip6 address field width in "show ip6 conn verbose"
output

Change-Id: If7d1bcd439d94a22d1f1c6c1298cb30aba13d0a2
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-07 15:43:10 +00:00
Joe Zhou
715f94ed94 assign flood_class to vnet_sw_interface_t template in subif api handle function
Change-Id: I352f4a4adcf8771c21530657efcaecb532416612
Signed-off-by: Joe Zhou <zhouyoucn@qq.com>
2019-03-07 14:29:41 +00:00
Ole Troan
e098e78964 Remove local REPLY_MACRO so that socket transport works.
memif, lacp, nsh and cdp used local REPLY_MACROs.
Remove and use those in api_helper.h

Change-Id: Ib01d6ae5cff0b6f1cef90996a54b3177f0c53463
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-07 14:29:13 +00:00
Kingwel Xie
d3d1205087 ipsec: cli bug fixes
1. fix wrong assignemnt of lik/rik
2. keys initialized to 0, to avoid using random data
   in stack. could cause memory overlapped then crash
3. show sa->id in hex format

Change-Id: Id0430aa49bb55c27cee4f97f8c0e4ec87515dcd2
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-07 13:31:39 +00:00
Ole Troan
48ae19e909 API: Add python2.7 support for enum flags via aenum
Change-Id: I77a43bfb37d827727c331cd65eee77536cc15953
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-07 11:36:35 +00:00
Neale Ranns
9b309b61d2 BIER: trace then drop. MPLS: trace the drops
Change-Id: I952e6aec6487270a79c4d92cfe828cc55d42d536
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-07 10:53:03 +00:00
Kingwel Xie
3543908a89 gdb-helper: add gdb_show_traces
gdb_show_traces() dumps buffer traces.

Ease gdb debugging when vpp crashed...

Change-Id: Ib24314832386ee4defc2d31cbb4c05d293fb3338
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-07 10:52:46 +00:00
Filip Tehlar
e8cb521074 classify: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I01730ec9eb8033074c8710daf0848c3573293aeb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-07 10:27:20 +00:00
Filip Tehlar
30d93489d2 policer: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I88d2632fa451dbafbc212dd142a67fe5ec4cd610
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-07 10:27:01 +00:00
Steven Luong
8905347d81 vlibmemory: coverity woes
Coverity complains about resource leak after open when fd gets 0 with below
warning.

off_by_one: Testing whether handle tfd is strictly greater than zero is
suspicious. tfd leaks when it is zero.

It is right. 0 is a valid fd. -1 is not.

Change-Id: I22c2eb75b99bb6209921b9f874190cbbdf10e6ce
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-07 10:26:12 +00:00
Hongjun Ni
313f1b9e5b Add VAT support for LB
Change-Id: I61d8c35f48a059968909fc8523bd313fc4799389
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-03-07 10:25:26 +00:00
Florin Coras
f8d2e86099 session/tls: remove unused t_app_index field
Change-Id: Idbf7f3a57dc399798b8dba9463daeb7d66470ab1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-07 10:17:24 +00:00
Kingwel Xie
00bff193e7 ipsec: ipsec-if optimizations & bug fixes
1. changed to vlib_buffer_enqueue_to_next
2. error counter fixes; stats added to last_sw_if_index
   when interface changed
3. udp-encap support

Change-Id: I70b0814aa37181fea4d70fa3c96c608adb5afe49
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-07 01:33:52 -05:00
Florin Coras
f940f8a40f session: use transport custom tx for app transports
Change-Id: I675f7090fa6b2ffdfb4ee748df858bfb7e39ce5a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-07 00:47:42 +00:00
Florin Coras
fe97da3203 session: cleanup instances of deprecated io evts
Change-Id: Iad119e05ae5e570fbfcf66747c95822cee647c99
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-07 00:47:23 +00:00
Dave Wallace
7a6fac1965 19.01.1 Release Notes
Change-Id: Id71e0ce821e84634d24a550188d0ed5ed7164849
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit cbd68cb711e496539c494ab64837995c126da69b)
2019-03-06 22:47:24 +00:00
Ole Troan
9a475373ed test framework: vpp_papi_provider.py - further cleanup
Part of further cleanups of this file.
Removed most wrappers that don't have conflicting signature with
message API.

Change-Id: I6acd93d20291feb7731eb35ab2eb8c9f22f4632c
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-06 21:13:05 +01:00
Sirshak das
fb6c75293c sctp chunk_len fix
total_length_not_including_first_buffer should only be used when
VLIB_BUFFER_TOTAL_LENGTH_VALID is set, if not it uses stale data
from previous session_chain_tail calculation to set data/chunk len.

Change-Id: I9802341e522cf9b18d0aef817f0047b76945782e
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
2019-03-06 18:57:23 +00:00
Florin Coras
c0737e962c session: use session index instead of fifo for evt
Avoids derefrencing fifo pointers whose segments could have been
unmapped.

Change-Id: Ifb0b7399e424f145f3f94b769391a6f4e31bb4e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-06 18:41:28 +00:00
Filip Tehlar
2c49ffeb25 udp: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I2b324c77df2685a0bdfb617fb484022daf017d0b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 18:13:44 +00:00
Florin Coras
653e43f06a session: use vpp to switch io events for ct sessions
Instead of allocating pairs of message queues per cut-thru session and
having the applications map them, this uses vpp as an io event message
switch.

Change-Id: I51db1c7564df479a7d1a3288342394251fd188bb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-06 17:53:39 +00:00
Dave Barach
a55df10817 ipv6 connection tracking plugin
A security feature: drop unsolicited global unicast traffic.

Change-Id: I421da7d52e08b7acf40c62a1f6e2a6caac349e7e
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-06 17:19:22 +00:00
Filip Tehlar
e275bed64d tcp: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Ifd9fa30eed343e2c5d40582b3e3aa589b070637d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 17:19:01 +00:00
Damjan Marion
c98275f327 ipsec: esp-encrypt and esp-decrypt cleanup
Change-Id: I1e431aa36a282ca7565c6618a940d591674b8cd2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-06 17:08:23 +01:00
Neale Ranns
4ba67723d7 GBP: use sclass in the DP for policy
Change-Id: I154e18f22ec7708127b8ade98e80546ab1dcd05b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 12:15:10 +00:00
Paul Vinciguerra
6955595a57 Tests: Example duplicate code refactoring.
Refactor of duplicate methods in test/test_reassembly.py.

Change-Id: I46f880da6a0ced2acae1fa33c6892d0148b26139
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-06 11:43:24 +00:00
Filip Tehlar
6266877b01 interface: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Ib92e338d0becbfbc38e6b9f34f262df76b63eead
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:42:11 +00:00
Filip Tehlar
1fc33b3d41 cop: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Ic0c9c50376ceb0ff4e2d5e52e13b6506e68adf4b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:41:30 +00:00
Filip Tehlar
e1714d3ba2 vxlan*: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Ide23bb3d82024118214902850821a8184fe65dfc
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:40:53 +00:00
Matthew Smith
f6266b56ec vmbus: fix bug that breaks multiple netvsc vdevs
VPP supports two DPDK drivers for managing netvsc devices on
Azure/Hyper-V. The new netvsc PMD looks a lot like other PCI-based
PMDs but it requires recently added kernel support (>=4.17). The
older vdev_netvsc is an abstraction that manages the mlx4 VF
and tap device underlying the netvsc interface using the failsafe PMD.
Distros with older kernels (e.g. RHEL/CentOS 7.x) have to use vdev_netvsc.

At startup, netvsc devices are processed and an attempt is made to
initialize them for management by the netvsc PMD. If that fails, then
vlib_vmbus_bind_to_uio() returns early and the device can be initialized
for management by vdev_netvsc.

The operation that is supposed to fail if the netvsc PMD cannot be used
is registration of the netvsc device type ID with the uio_hv_generic
driver. This operation is attempted exactly once so it does not fail
for netvsc devices processed after the first one and they end up in a
state where they cannot be initialized for use by vdev_netvsc.

Only unset uio_new_id_needed if uio_hv_generic registration succeeds.

Change-Id: I6be925d422b87ed24e0f4611304cc3a6b07a34fd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-06 11:40:21 +00:00
Filip Tehlar
a79271fad1 span: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I5c671d8af8d528eae625001d4755db8ef61f00b2
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:39:16 +00:00
Filip Tehlar
55333d76c6 geneve: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Ie7b201b2742e0051b249acc011f609905bc178c8
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:38:54 +00:00
Filip Tehlar
7a542f4ce9 ipip: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I9c05225b71b60dc2b419a96daeb71d89757aef98
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:38:22 +00:00
Filip Tehlar
a5a458f380 sctp: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I7248a94977fe11bbe58db53d7ca8ae8c582e7305
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-06 11:37:57 +00:00
Matthew Smith
4ed003958f rpm: set exec bits on plugins
Install plugin shared libraries with permissions set to 0755
instead of 0644 during RPM builds.

When building with rpmbuild, if a compiled file is not executable,
it's source files and symbols are not included in the vpp-debuginfo RPM.
This makes debugging problems with DPDK (and other plugins probably)
difficult unless you are running on the machine where the build
was generated.

Change-Id: I9cc92af855a66366ec3b81a87b82bfd9994bc180
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-06 11:36:34 +00:00
Steven Luong
99ae31d5ac ip: coverity woes
coverity complains about logically dead code for the statement if (error) because
error was assigned to 0 prior to the check. I believe error was meant to get the
return status of the call vnet_punt_socket_add.

Change-Id: I794167493f63cb898d3618c2c28817823f46b765
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-06 11:35:30 +00:00
Steven Luong
951551081b vlib: coverity woes
Remove logically dead code to keep coverity from complaining

Change-Id: If27d6684d19ab3c8886732a67922c86e5f0b3554
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-06 11:35:00 +00:00
Neale Ranns
77eb28f4d3 IPSEC: tunnel encap/decap dual loop speedups
baseline:
 ipsec0-tx 1.27e1
 ipsec-if-input 8.19e1

this change:
 ipsec0-tx 6.17e0
 ipsec-if-input 6.39e1

this also fixes the double tunnel TX counts by removing the duplicate
from the TX node.

Change-Id: Ie4608acda08dc653b6fb9e2c85185d83625efd40
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 11:33:51 +00:00
Neale Ranns
0f5a3b2540 GBP: format EPG retention policy
Change-Id: I17826cfa9a27dc241e07988bf0bbaf9eca9ae525
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 10:47:00 +00:00
Neale Ranns
8da9fc659b GBP: learn from ARP and L2 packets
Change-Id: I8af7bca566ec7c9bd2b72529d49e04c6e649b44a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-06 10:31:38 +00:00
Neale Ranns
dc8d93b029 VOM: GBP show allowed ethertypes in contracts
Change-Id: I8314f51d519966b1d9aef96318f6836ace944c9a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 23:59:15 -08:00
Steven Luong
35ac601e25 punt.c -- coverity woes
Coverity complains about identical code is executed for if and else branch.
Clean them up by removing the useless code.

Change-Id: Ie53f1dff055440ab2c3c3d2ea91edb1e50204b38
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-03-06 07:13:47 +00:00
Kingwel Xie
561d1caad7 ipsec: cleanup, remove unnecessary code,
ipsec_proto_main moved to ipsec.c
fix missing '\0' of backend name

Change-Id: I90760b3045973a46792c2f098d9b0b1b3d209ad0
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-03-05 22:56:17 -05:00
Neale Ranns
665581a5de VXLAN-GBP: decap checks src,dst&VNI for unicast, then checks only dst&VNI for multicast
Change-Id: I17caf3c5a2060de497c44655b66a15a2007f716b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 19:58:00 +00:00
Neale Ranns
d7f872e8d8 GBP: format include EPG index
Change-Id: I1789a4ea44cfc6a11ad8750074ffcf14c4ab8712
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 08:50:18 -08:00
Paul Vinciguerra
7ab99702a3 Test: vpp_papi_provider. __getattr__
Replace custom __getattr__ with custom __getattribute__.

Change-Id: Ib96176abc07eefedba305ed874621001a810eb0d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-05 15:44:44 +00:00
Filip Tehlar
a01e032f06 bier: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I561591c7d31ec66dfa0a1d7ef66bcf1d0c70f07c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-05 14:35:54 +00:00
Filip Tehlar
0bddf7e9f9 qos: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I4dc77979594de0b6a21644ea0a982085c6386010
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-05 14:12:54 +00:00
Filip Tehlar
17fcd989f4 mpls: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I8c5f7cda655e3343d50a96d714796ea4255588b6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-05 14:08:26 +00:00
Neale Ranns
32f6d8e0ca GBP: per-group EP retention policy
Change-Id: I3ed4e2e92f74f15b07fcd3e7fbc3fa8718d5249d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 13:51:32 +00:00
Filip Tehlar
0fce11f23d gre: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I0f6b9f306f2323216ba64b694e8fdfa116e6cc9c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-05 08:01:59 +00:00
Neale Ranns
d2bb61417f L2: ARP term - learn but don't send response to GARPs
Change-Id: I766767d27f37493dc9f2bde1297c1b620cd1e321
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-05 03:54:52 +00:00
Ole Troan
e1ade684eb test framework: Fix wrapper functions to match API message names.
In preparation to remove the wrappers in vpp_papi_provider.py, ensure
names used in tests match the actual API message names.

Change-Id: I230ca4eb75aa727ff68d702e085a2edbbc6b6d19
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-04 23:55:43 +01:00
Neale Ranns
fd06084a9e IPSEC: script to bounce IPSEC traffic through a pipe to test encrypt and decrpyt
Change-Id: I262a9412951b5df616920a8fad16c61eae96d0cc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-04 15:32:08 +00:00
Dave Barach
c919982a0f Fix 2x overconsumption of debug cli input bugs
Change-Id: I658489dc9cf437ff43d9c69a896c9fe4e01ec38e
Signed-off-by: Dave Barach <dave@barachs.net>
2019-03-04 14:56:42 +00:00
Ole Troan
f159f58dbf test framework: add factory function and default parameters
This is the first step to be able to remove all the API message
wrappers in vpp_papi_provider.py. This allows to remove all
functions that do not override parameters (different from zero),
and a separate dictionary for messages requiring different defaults.

The general requirement is that all new tests should use named
arguments directly. Not positional arguments through the wrapper.

Note when removing functions, the calls in vpp_papi_provider
wrappers do not necessarily follow message order.

Change-Id: If64916c07f8622c138db3a9d7c4a98b93a058e68
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-04 14:31:08 +00:00
Jakub Grajciar
84b83776d3 libmemif: Connection request APIs
Add APIs that allow changing reconnect timer and request connection.
First connection request is automatically sent once slave interface is created.

Change-Id: Ie3558b7b94a780b046755f7f0ac6c3dcf07633e4
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-03-04 14:06:37 +00:00
Filip Tehlar
608996d2bd devices: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I911fb3f1c6351b37580c5dbde6939a549431a92d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-04 14:06:18 +00:00
Neale Ranns
7693ca5249 GBP: return appropriate error code if tranport mode subnet has no interface
Change-Id: Ic230b332a01c36454c11d0b6515ec256bd0fd5c6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-04 13:50:11 +00:00
Neale Ranns
4f89a804d5 GBP: Global config for EP retention
Change-Id: I9508c67b494b5edecb2bc393a53e7d47c2574978
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-04 12:37:58 +00:00
Filip Tehlar
0b2c15dbb0 adj: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Iac92a6d15e1feef4d97b8db09fc60901dc9f7880
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-04 12:33:34 +00:00
Damjan Marion
b592d1b641 buffers: support cases where numa node memory is not available
Change-Id: I550ef893e41d86310d4e5af16d6100b8e557b68a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-03-04 12:22:56 +00:00
Vijayabhaskar Katamreddy
470a3704e3 Hash and handoff reassembly fragments
in the following two scenarios
    1. When fragments arrive in multiple interfaces and endup in different threads
    2. When fragments arrive in same interafce but in different queues due to interface RSS doesnt have the ability to place fragments in the right queues

Change-Id: I9f9a8a4085692055ef6823d634c8e19ff3daea05
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
2019-03-04 11:24:15 +00:00
Filip Tehlar
b806d0e1d7 stats: fix crash on early init
Change-Id: I911b5070f544c3556ad1ca584d42689c00cc38f3
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-04 11:17:15 +00:00
Neale Ranns
4689da0c61 GBP: fix and print GBP BD flags
Change-Id: If3fe2752c9339049123ff4674e3a29449b520374
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-04 11:16:23 +00:00
Florin Coras
19223e03fe session: remove svm_segment_index from session struct
Change-Id: I42ef9ee38f93600a0d6f2699b1b2a0a201fcec9c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-04 11:16:09 +00:00
Florin Coras
f8bdc6ef49 svm: avoid heap push/pop on fifo free
Change-Id: Id6a7698da0c7b43313554d736c4df60b820beb80
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-04 11:15:59 +00:00
Florin Coras
d8402aee29 session: eventfd for mq only for bapi socket transport
Change-Id: I9badb376aa31fc2c7c452a16cc4dc997a8a66d97
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-04 11:15:50 +00:00
Florin Coras
ac626264ec vcl: remove unused fields and structures
Change-Id: I49a95c4e2eb17e5a6ab514dde2505294a4c01353
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-04 11:15:41 +00:00
Neale Ranns
f90bcee094 GBP: fix UT after multi-arch change
Change-Id: I09c400d71b3c973341fd79fe9b6709592d96822c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-04 01:37:43 -08:00
Filip Tehlar
6fa5dac5fe gbp: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I3b10caa447b796172f787df8fcbb92f2b4dd2803
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-04 07:49:25 +00:00
Florin Coras
6442401c21 session: remove deprecated binary apis
Change-Id: Ia1a628498fa3b639b6b1508f65c6aea1806f73ec
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-02 15:44:50 -08:00
Florin Coras
a0dbf9e028 session: notify app of segment removal
Change-Id: I3774f7ffd14be73e9bbbf4cdd6d3b22f24fee730
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-02 23:40:53 +00:00
Florin Coras
92311f63de session: fix unlisten with invalid handles
Change-Id: I6fbfa06e3df9988254561bf1a770084028117005
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-02 23:40:15 +00:00
Florin Coras
31c9955a4e session: cleanup/rename functions
- remove unused functions
- rename old "stream" functions

Change-Id: Icbb03daa9f9f1c58b5be5c38aa8a9cbcf9159b47
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-02 23:40:04 +00:00
Florin Coras
f6c4313b6a session: cleanup session event types
Change-Id: I87bdf705341dd760f0be907a663aa64140977d39
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-02 23:39:51 +00:00
Florin Coras
5fd3210be3 tcp: allow future acks if in window
Change-Id: I84ad1830b8db43f6031cf2876cd94f6a71216b83
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-01 23:26:08 +00:00
Paul Vinciguerra
beded852d7 Tests: Trivial fox use of 'is'.
'is' evaluates diffently depending on the value.

  >>> x=-10
  >>> x is -10
  False

  >>> x=10
  >>> x is 10
  True
  >>>

Change-Id: If72ec7c47e3e95180a4d08a773984253c80154d6
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-01 20:50:25 +00:00
Neale Ranns
fe480f6830 IPSEC: tunnel-input; don't load the HW interface struct
also fix the stats to include all the data in the tunnel.
And don't load the SA.

Change-Id: I7cd2e8d879f19683175fd0de78a606a2836e6da2
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-01 20:28:19 +00:00
Filip Tehlar
2a745c13c5 nsh: fix load failure
Change-Id: I687ddba41bc80e2fbb39ebc30449ced7254e45f8
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-01 20:27:40 +00:00
Filip Tehlar
0333121d83 gtpu: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Id6e82910f8d991e355d3f26222eea4ac3ab091b1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-01 20:27:11 +00:00
Matthew Smith
84caa17a9d dpdk: update mlx[45] linking options
Upstream DPDK changed the names of the options to use dlopen()
with libibverbs and libmlx[45] from RTE_LIBRTE_MLX[45]_DLOPEN_DEPS
to RTE_IBVERBS_LINK_DLOPEN (handles both mlx4 and mlx5).

VPP's build option to enable this configuration when building DPDK
no longer worked starting when VPP moved to DPDK 19.02. Update VPP's
build options to enable the correct option name.

Change-Id: I8e34e1d3fc4ee8aac4fd6f2a7d27177f2b0dea50
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-03-01 20:26:47 +00:00
Filip Tehlar
b896094289 ioam: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: Icb919a053b35ef62f958c60c725d3aae4c32358f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-01 20:26:13 +00:00
Filip Tehlar
01f5c90259 pppoe: migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I0af8104f6d35820aa39d22cd23d4f9211d61faa0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-03-01 20:25:39 +00:00
Neale Ranns
bbe2de1fbf VOM: mprefix and mpath encode fixes
Change-Id: Id3c281e680683c7267c9db66cc806fed58c8cfcb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-01 07:16:40 -08:00
Florin Coras
2b81e3cba7 session: refactor local connects
- Switches local connects to cut-thru transport
- Removes local sessions as a separate session type

Change-Id: I997c6355d8c8e4f2110678f785b0f5d96bba47f7
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-03-01 11:51:53 +00:00
Neale Ranns
038243064b VOM: vxlan-tunnel mcast interface fix
Change-Id: Ica6a0b4133ccc1997ef0547274982d0cc9761724
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-03-01 11:39:20 +00:00
Paul Vinciguerra
a279d9cf61 Tests: Remove all wildcard imports.
They mask dependencies and confuse third party tools.

Change-Id: I24ee16bfa0d746a8e8cb99891ba8b20523048b69
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-01 09:28:09 +00:00
Paul Vinciguerra
e8fece85e2 Tests: Refactor duplicated code.
Naveen suggested earlier today that we should refactor duplicate code.
This commit kicks off the effort.

Change-Id: I855b0f40d41d1f3a2e673f3b254b76b596409656
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-01 09:25:08 +00:00
Dave Barach
9e52ef6024 Save signum and faulting address in static variables
Comes in handy when looking at core files from optimized images.

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I45c8400d15614d5a04a3dcfb9b7daccab47ab446
2019-03-01 09:24:09 +00:00
Igor Mikhailov (imichail)
6d8233c9a5 Fix API return code in case of error.
Change-Id: I22f866bacbc9c6e3abb0405f5c5a205910cec17b
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-03-01 09:22:59 +00:00
Ole Troan
1be5206814 stats: Add node names in /sys/nodes/names
Change-Id: I9c92d51cc0e9dccf3c3726c4de8d7f15537778c9
Signed-off-by: Ole Troan <ot@cisco.com>
2019-03-01 09:19:10 +00:00
Paul Vinciguerra
2885b38993 MAINTAINERS: Add Paul Vinciguerra to test/
Change-Id: Id8a48299eb26f62561b54aa4d240d312f47a952d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-03-01 08:33:55 +00:00
Paul Vinciguerra
5fced04ba5 vpp_papi.py: Change VppEnum from explicit metaclass to metaclass wrapper/decorator.
Change-Id: Iab41bb972e3c7ec005a1a13d5a25f654ae8c3932
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-28 23:09:17 +00:00
Paul Vinciguerra
5ad273adec test/vpp_ip_route.py: Trivial. Remove duplicate key.
Change-Id: I2c347daeecd5441b8fe3e3f7527a8e21844668d0
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-28 19:03:02 +00:00
Naveen Joy
05e18829d9 Remove unused imports from hooks
Change-Id: I087b057da526c18f8cce1902dcb594dd5ce0a4b8
Signed-off-by: Naveen Joy <najoy@cisco.com>
2019-02-28 08:46:41 -08:00
Ole Troan
703908aaf4 stats: Add interface name to sw_if_index as /if/names
Expose interface name to sw_if_index table as a directory node in the stats segment.

Change-Id: Ie50e4af01997d141880f02e3a8496bfeb91b9944
Signed-off-by: Ole Troan <ot@cisco.com>
2019-02-28 13:25:22 +00:00
Neale Ranns
8b409635b4 VOM: child accessors on GBP route domain
Change-Id: I7b74b0b98b2c427bf29bb1d2932044d9924588cb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-28 09:33:46 +00:00
Filip Tehlar
b9625cbdb1 l2e: Migrate old MULTIARCH macros to VLIB_NODE_FN
Change-Id: I55f45d84212e2293e3798dff6850d86d75414d02
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-02-28 09:17:37 +00:00
Neale Ranns
901cbb9e4d MPLS: tunnel delete crash
Change-Id: I4adf713f4a1d596b9c8a78b79b5df2c7eb0c56f0
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-28 07:59:34 +00:00
Neale Ranns
53f526b680 TEST: IPSEC NAT-T with UDP header
Change-Id: I5ef8b3f4be40a7a0b0f1cb90dc0e15a4711e8664
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-28 07:59:03 +00:00
Florin Coras
d4295e61a0 session: refactor local/cut-through listens
Introduce a cut-through transport as replacement to local sessions. This
first patch removes the per app local listener pools and switches local
listeners to sessions with cut-through transport.

Change-Id: I98b20c25bc5df5f4110bf66f76c650a973032618
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-27 21:05:11 +00:00
jdenisco
e869269121 Fix centos build and build documentation
Change-Id: I326204d26b613254e39c6a0ffe9f9491981ba3c3
Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-27 21:03:06 +00:00
Dave Barach
a2aefef1fd VPP-1576: fix Coverity issues
Change-Id: I8b59b2e1c0525abf4b0492e50a7af57df4cd3ce2
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-27 20:55:46 +00:00
Dave Barach
b93452b531 DOC ONLY: update bug report section
More detail on why it's important to supply .debs or .rpms which
precisely match core files. Probably won't help, but we can try...

Change-Id: I7842eaea0ef921b934e84b7f18f6a333b1381292
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-27 20:32:52 +00:00
Steven Luong
69818c6964 string_test: The dark side of coverity
Me: "Mr Coverity, I thought I fixed the dead code warning just few days ago in
this file. Why are you still complaining about the same stuff to me?"

Mr. Coverity: "Duh! But you are supposed to fix all occurences in the same file."

Me: "Mr. Coverity, I didn't see you flag the warning in the other places last
time?"

Mr. Coverity: "Shh! That is the secret of my dark side!"

Change-Id: I565eccd90bf1bb39c9881664d361f83396ca8bcc
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-27 08:31:58 -08:00
Neale Ranns
c28cbd4071 IKEv2 plugin export fixes
Change-Id: If6b0edb0dd242e0ef6953c8f4c1826eb80b9e1cc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-27 14:36:22 +00:00
Matus Fabian
34931eb471 NAT44: active-passive HA (VPP-1571)
session synchronization so that we can build a plain active-passive HA NAT pair

Change-Id: I21db200491081ca46b7af3e82afc677c1985abf4
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2019-02-27 00:56:32 -08:00
Damjan Marion
8343ee5665 Fix crash in barrier sync when vlib_worker_threads is zero
Change-Id: I6819dd9dbfc15c17740bdb98b51bdd639ef8c4d2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-27 08:24:46 +00:00
Steven Luong
854559d154 vmxnet3: RSS support
Configurable up to 16 RX queues per interface. Default is 1.

Change-Id: If9e2beffeb7e7dc8c2264b4db902132b2fea02c1
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-26 16:47:11 -08:00
Dave Barach
1bb981d898 VPP-1574: minimize RPC barrier sync calls
Grab the thread barrier across a set of RPCs, to greatly increase
efficiency. Avoids running afoul of the barrier sync holddown
timer.

Change-Id: I782dfdb1bed398b290169c83266681c9edd57a3f
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-26 17:12:29 -05:00
Filip Tehlar
4ba19b8a75 nsh: migrate old MUTIARCH macros to VLIB_NODE_FN
Change-Id: Iafe8b3a38f2a7d7571e60db91608d8130bb07cb3
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-02-26 20:18:46 +00:00
Ole Troan
849cbe225e stats: buffer gauge callbacks use index instead of name.
Change-Id: I500b8e72d7e021b9564dad0ffc087cb0e1ceb96f
Signed-off-by: Ole Troan <ot@cisco.com>
2019-02-26 20:17:30 +00:00
Ole Troan
ca80dccb1e vppapigen: Expose "option version" in generated JSON file.
Change-Id: Iaa78ee181589584885b0f377eafb89e603718bd4
Signed-off-by: Ole Troan <ot@cisco.com>
2019-02-26 18:03:45 +01:00
Florin Coras
70c35f3028 session: fix local binds
Change-Id: I1d92bec29c718de7a517bbbb335d09c68c221c71
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-26 15:28:26 +00:00
Paul Vinciguerra
3bce8ebfdf VPP-1508 Python3 abstract classes
Update the syntax to support abstract classes in python 2 and python 3.

Depends on: new style classes -- https://gerrit.fd.io/r/16166

Change-Id: Iad2c1240149f38b3faca1b37ab95d3d210e1daee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-26 11:31:42 +00:00
Steven Luong
dd3737284d vmxnet3: lro/tso and rx checksum
Add lro/tso and rx checksum support. lro/tso is configured via startup.conf
   vmxnet3 { lro }
It is disable by default due to not all versions of ESXi supports it.

Change-Id: Icf224ff528884ecd9e655b4fcf4481194e8c5a63
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-26 11:30:42 +00:00
Dave Barach
5ecd5a5d15 Move pcap rx/tx trace code out of the dpdk plugin
Moved code to the ethernet input node, and the interface output
path(s). Since we no longer skip ethernet-input, there's no reason
for device drivers to know anything about pcap rx tracing, etc.

Change-Id: I08d32fb1b90cbee1bd4f609837d533e047b36fa4
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-26 11:30:29 +00:00
Artem Belov
f6defa113e Fix vpp crashing when attempting to run in kubernetes Pod
mmap does not fail but writing to mapped memory is causing sigbus.

Change-Id: I5135f32eede67fccb4aaa07a501cd262d254ed8d
Signed-off-by: Artem Belov <artem.belov@xored.com>
2019-02-26 11:26:03 +00:00
Paul Vinciguerra
d73dbd2d3a make test: Stop downloading pip.
Use the installed version of pip.  If a newer version of pip is needed,
it can be specified in requirements.txt.  This is to improve idempotence
by providing some control over upstream changes.

Change-Id: I07b7651f8ddba6005bf85d11fef9e3343ee2dcd2
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-26 11:06:03 +00:00
Paul Vinciguerra
38a4ec7342 make test: Add exception handling around subprocess.
This cleans up exception catching to identify oserrors.  By raising the
specific exception closer to the offending call, we get additional stack history
and can add clearer error logging to assist in troubleshooting.

Change-Id: I592e4d46844b822a816485bf54910f8daed92088
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-26 09:39:00 +00:00
Jon Loeliger
2bbbea0f88 DSLITE: Fix dslite_get_b4_addr_reply message type.
Fix what appears to be a cut-n-past error.

Change-Id: I71ee32c1b0d2dc38ed3df4bd24ec4248005a6008
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-02-26 09:38:24 +00:00
Paul Vinciguerra
1e18eb20c3 VPP-1508 python tests: unicode
Change unicode references to use text_type

Change-Id: Ia71c16e3235bc509abd3b1c651ae125f892ab108
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-26 09:38:12 +00:00
Jon Loeliger
9338fc644d Remove fake MAP domain 0 entry.
Problematic:
    - It didn't have its counters initialized, so vpp crashed
      during a "show map stat"
    - Not all the tests for "are there any domains" actually
      accounted for the fake entry at pool slot 0.
    - Dump details happily returned its bogus entry.

Change-Id: I57aaa9f63917686334fd4a9fa7bc80044bf1718c
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2019-02-26 09:29:45 +00:00
Paul Vinciguerra
49ff6d1e16 vpp-papi: Only install enum34 for python<=3.4.
Change-Id: I20d7c8c1a59b3a9aa016bec860289b7aef4ce06b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-26 09:16:50 +00:00
Dave Barach
d7e7c2b880 Fix broken ASSERT
Fix "make TEST=test_vcl test-debug" ASSERT failures.

Change-Id: I58a67b12806660973c8def0e598ef0c5b296eec5
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-25 16:49:27 -05:00
Neale Ranns
d7d6e97d3c VOM: GBP table IDs in GBP route-domain create
Change-Id: I606b28dfb820f8f19e338c7642bfe0e4c116ca58
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-25 19:40:05 +00:00
Jakub Grajciar
0b1f8a7e69 Remote Test: fix serialization (dict, Enum)
Change-Id: Ia3f8616cbf424c7f2d29d16cf7a457be6cd1b33a
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-02-25 19:38:38 +00:00
Neale Ranns
7c44d78ef2 IKEv2 to plugin
for easy integration with ptoducts running their own Ike stack.
Without the VPP IKE plugin loaded, the product is free to handle
IKE packets as it pleases.

Change-Id: Id0839f4d58b797f4c2da0382eb499fc08b05f66f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-25 19:37:09 +00:00
Klement Sekera
f883f6a113 buffer chain linearization
Rewrite vlib_buffer_chain_linearize function so that it works as intended.
Linearize buffer chains coming out of reassembly to work around some
dpdk-tx issues. Note that this is not a complete workaround
as a sufficiently large packet will still cause the resulting chain to
be too long.

Drop features from reassembly code which relies on knowing which and how
many buffers were freed during linearization, buffer counts and tracing
capabilities for these cases.

Change-Id: Ic65de53ecb5c78cd96b178033f6a576ab4060ed1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-25 19:30:18 +00:00
Steven Luong
b0789106cb vhoat: potential crash in map_guest_mem using debug image
map_guest_mem may be called from worker-thread/dataplane. It has a call
to vlib_log and may crash inside vlib_log's ASSERT statement

  /* make sure we are running on the main thread to avoid use in dataplane
     code, for dataplane logging consider use of event-logger */
  ASSERT (vlib_get_thread_index () == 0);

The fix is to convert the vlib_log call in map_guest_map to event logger

Change-Id: Iaaf6d86782aa8a18d25e0209f22dc31f04668d56
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-23 12:43:44 +00:00
jdenisco
2cefb06404 Add support for 19.01
Change-Id: I8583f6f6432d8d7c449f43d62d8707a1718f3240
Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-23 09:42:48 +00:00
Florin Coras
ba7d8f5a3d session: separate local session logic
Move local session to separate header and source files. First step to
refactoring local sessions.

Change-Id: I280fdfef20ba8a0977d15c1c8ce030ea2fb72dde
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-23 09:41:17 +00:00
Florin Coras
b691f768a1 tcp: keep snd sack block free list
Instead of constantly reallocating the new sack block list, keep the old
one as a reusable free list.

Change-Id: Iad79a72204f97b96352c1c6eea66c2839a35cfe6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22 20:45:19 +00:00
Steven Luong
18be9b90a1 Makefile: fix missing help instruction
make pkg-deb-debug and make vom-pkg-deb-debug were missing in the help
instruction

Change-Id: Ic49a7c29b3394ee9fc259bd40ecf0611470125c6
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-22 20:45:01 +00:00
Filip Tehlar
d2bbdef694 stats: add buffer gauges
Change-Id: I7f7a459f25d64ea5fa36e30d7dccc667bc19c5a9
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-02-22 20:44:21 +00:00
Neale Ranns
2a3f6d1588 VOM: GBP use singular instance if shared-ptr is set
Change-Id: I845e0aa0b657b7a4745c158c4c510f604f4502bb
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 19:35:28 +00:00
Neale Ranns
918c1615fe IPSEC: header exports
Change-Id: I7d48a4e236c6e7b11b0c9750a30fb68e829d64a5
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 18:17:45 +00:00
Neale Ranns
8f215b4a03 Callback functions must have the correct signature
Change-Id: I642823bdc3c7006a0b719ec1e3a9cd75b2b37253
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 18:17:20 +00:00
Marco Varlese
a68d07a239 Maintainers list update
Change-Id: I133ad79bac79c50caefed01c638f26ec9b3cd6c3
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2019-02-22 18:16:09 +00:00
Damjan Marion
b1bfda2074 avf: fix eat own tail issue on tx
Change-Id: Ie14ca18bab47ac6765ff0799475d0c2a4d936f90
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-22 17:15:38 +00:00
Neale Ranns
0e3eb60f35 VOM: mroute dump debug level fix
Change-Id: Ice8c3e76857ee35c079d72d6697e6a3fbc99b7aa
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 15:48:17 +00:00
Neale Ranns
5637e65364 VOM: De-template the ACL code.
there's something going wrong with the dependency ordering.
i have added hacks in the past, but these are not reliable
across compiler versions.

Change-Id: I34b4aae4c7ed7beaa424cd692ff34cba21ba802a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 15:41:51 +00:00
Neale Ranns
ba94462c42 GBP: include sclass in format EPG
Change-Id: I6cbc7dafcc59aa67d79c718d88f67d71ee97b4b6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 14:50:19 +00:00
Neale Ranns
5332200583 VOM: fix tests and namespacify l2_vtr
Change-Id: Ie59220a622c3a5195485cd6857b45f57d6eeaf95
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 13:45:38 +00:00
Neale Ranns
fb2e07d89a GBP: remove testing asserts
Change-Id: I27ba13b3501debd4dcbda5df05afdcfc497f608f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22 13:21:27 +00:00
Florin Coras
e5b17918e7 tcp: send enough dupacks to cover all sack holes
Make sure we send enough dupacks to cover all the holes created in the
last frame received. Also make sure we send all the blocks, not just the
first.

Change-Id: I9597a34ac14473d1cc3ad07d65bc37043e3d0582
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22 10:55:27 +00:00
Florin Coras
78b5fa6398 session/vcl: fix coverity warnings
Change-Id: I9b0e6d65255e516cf5bf18757d4769176ef76e92
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22 10:55:08 +00:00
Steven Luong
4a310d2b50 tapv2: coverity strikes back
while https://gerrit.fd.io/r/#/c/16590/ fixed the leaked fd which coverity
reported at that time, new coverity run reports simailar leaked fd in a
different goto punt path. It would be nice if coverity reported both of them
at the same time. Or perhaps it did and I just missed it. Anyway, the new fix
is to put the close (fd) statement prior to the return of tap_create_if routine
which should catch all goto's.

Change-Id: I0a51ed3710e32d5d74c9cd9b5066a667153e2f9d
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-22 01:25:49 +00:00
Damjan Marion
296988d358 Add no-append flag to vlib_frame_t
Change-Id: I01c4f5755d579282773ac227b0bc24f8ddbb2bd1
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-22 01:25:08 +00:00
Steven Luong
67f935ec6e vhost: VPP stalls with vhost performing control plane actions
Symptom
-------
With NDR traffic blasting at VPP, bringing up a new VM with vhost
connection to VPP causes packet drops. I am able to recreate this
problem easily using a simple setup like this.

TREX-------------- switch ---- VPP
    |---------------|  |-------|

Cause
-----
The reason for the packet drops is due to vhost holding onto the worker
barrier lock for too long in vhost_user_socket_read(). There are quite a
few of system calls inside the routine. At the end of the routine, it
unconditionally calls vhost_user_update_iface_state() for all message
types. vhost_user_update_iface_state() also unconditionally calls
vhost_user_rx_thread_placement() and vhost_user_tx_thread_placement().
vhost_user_rx_thread_placement scraps out all existing cpu/queue mappings
for the interface and creates brand new cpu/queue mappings for the
interface. This process is very disruptive and very expensive. In my
opinion, this area of code needs a makeover.

Fixes
-----
* vhost_user_socket_read() is rewritten that it should not hold
  onto the worker barrier lock for system calls, or at least minimize the
  need for doing it.
* Remove the call to vhost_user_update_iface_state as a default route at
  the end of vhost_user_socket_read(). There is only a couple of message
  types which really need to call vhost_user_update_iface_state(). We put
  the call to those message types which need it.
* Remove vhost_user_rx_thread_placement() and
  vhost_user_tx_thread_placement from vhost_user_update_iface_state().
  There is no need to repetatively change the cpu/queue mappings.
* vhost_user_rx_thread_placement() is actually quite expensive. It should
  be called only once per queue for the interface. There is no need to
  scrap the existing cpu/queue mappings and create new cpu/queue mappings
  when the additional queues becomes active/enable.
* Change to create the cpu/queue mappings for the first RX when the
  interface is created. Dont remove the cpu/queue mapping when the
  interface is disconnected. Remove the cpu/queue mapping only when the
  interface is deleted.

The create vhost user interface CLI also has some very expensive system
calls if the command is entered with the optional keyword "server"

As a bonus, This patch makes the create vhost user interface binary-api and
CLI thread safe. Do the protection for the small amount of code which is
thread unsafe.

Change-Id: I4a19cbf7e9cc37ea01286169882e5603e6d7eb77
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-21 22:03:40 +00:00
Steven Luong
3be3cd60bc string_test: Coverity woe
Coverity complains about dead code as shown below and it is right.
The fix is to simply remove the dead code.

503  if (v_indicator != indicator)

CID 190173 (#3 of 3): Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: return -1;.
504    return -1;

Change-Id: Ibca9e10451a4459db099bef5ecc6939474bdb903
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-21 12:01:10 -08:00
Peter Mikus
5d0d5494db Revert "bond: problem switching from l2 to l3"
During CSIT testing we discovered that LACP tests were failing and
producing coredumps. Reverting this patch fix the problem with VPP
crashing.

This reverts commit f23890138e02d4218c828c427f687f8ecdb0e165.

Change-Id: Icf97053ce1473350add885cbebe591f7f3efcbea
Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-02-21 18:53:55 +00:00
Damjan Marion
5a6c8096cb physmem: keep physmem VA in 39-bit address space on x86_64
Some x86 CPUs have IOMMU capable dealing only with 39-bit address space
This patch also adds option to specify physmem base address from
startup.conf

Change-Id: I9e8abd26efb60e9c4ad54c035fb1751a4a61f4dc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-21 17:35:35 +00:00
Neale Ranns
30307af145 API: client does not set root permissions on shm segment
Change-Id: I4ba099832b646392c1b6fa34236ca3377c9f786c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-21 14:41:50 +00:00
Neale Ranns
0503aceeb5 GBP: BD index not BD ID
Change-Id: I6da1ea25d688011b7aead1f639dd6a234ca4f20a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-21 14:25:11 +00:00
Florin Coras
dfae9f938f vcl/session: send unlisten over message queue
Change-Id: I68cd6c0e6be3e8088792df3885ae190bb00462b0
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-21 12:27:11 +00:00
Florin Coras
565115edf0 tcp: drop outstanding data when entering closing state
Change-Id: I92a009b9630b0d882ea3c5c99aad88ed6f5109a0
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-21 12:27:03 +00:00
Florin Coras
0964985cdd svm: fix mem ordering for enqueue nocopy
Change-Id: Ibc852f88747125a895415570349975d3b379a6f4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-21 12:26:51 +00:00
Paul Vinciguerra
eb414435a1 TESTS: refactor framework send_and_expect.
Create a common pg_send method for cases when results are just discarded.

Change-Id: I786960d2d7bbb96dcb407f6e59aa96951b7b19e7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20 19:05:46 +00:00
Kingwel Xie
a052b78da5 pg: fix payload hex-string bug
Change-Id: I0ea98bf9c203398d9cf85d22994a10217bb511d2
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-20 17:56:55 +00:00
Benoît Ganne
58ec0f0420 Remove autotools leftovers from gitignore
Some tracked files were ignored due to gitignore rules that date back to
autotools based buildsystem. Update gitignore accordingly.

~# git ls-files -i --exclude-standard
Makefile
build-root/Makefile
build/external/Makefile
build/external/deb/debian/dkms/Makefile
doxygen/Makefile
extras/rpm/Makefile
src/vnet/config.h
test/Makefile
test/doc/Makefile
test/ext/Makefile

Change-Id: I3326c932cd174434211b744bf5e26bc4da450339
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-20 17:54:13 +00:00
Damjan Marion
65cbcfe83a pg: fix tracing when device-input feature arc is used
Change-Id: I82240b43d3a5f3f33ac9ab2de106b3ec0ea31780
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20 16:30:06 +00:00
Damjan Marion
2768cdc098 pg: fix crash when multiple streams are enqueuing to the same next
Only with debug image and when next node is not ethernet-input...

Change-Id: Iaa404b5d35d5c04996ff48cd16877858092b78d7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20 16:29:45 +00:00
Damjan Marion
3b77f67cf4 pg: remove no-recycle option
Change-Id: Ic47bde2d08b2719b5c6c87cb2e9a8af0d2160e6e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20 16:29:35 +00:00
Dave Barach
a4324a996f calculate per-thread time offset
The main thread squirrels away vlib_time_now (&vlib_global_main),
worker threads use it to calculate an offset in f64 seconds from their
own vlib_time_now(vm) value. We use that offset until the next barrier
sync.

Thanks to Damjan for the suggestion.

Change-Id: If56cdfe68e5ad8ac3b0d0fc885dc3ba556cd1215
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-20 16:27:47 +00:00
Florin Coras
51a423dc2b session: fix local sessions disconnects
Change-Id: Ib4ca472aa2413ced7f82d87e4fee65ca86ab1f2b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-20 16:26:46 +00:00
Mohsin Kazmi
84442eed6d vom: Fix the versioning issue [vpp-1555]
vom library was missing version apended to libvom.so
This patch fixes this issue.

Change-Id: I99a6c282d651e1882574af999f04610d7a2c4d44
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-20 13:11:48 +01:00
Paul Vinciguerra
0be7451ddb docs: use python3 for make docs.
Change-Id: If62b5ef563523b400fb5160d0343210407905094
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20 09:35:10 +00:00
Paul Vinciguerra
2cc29a5264 make test-doc: Clean up import errors.
Mock additional 3rd party modules and replace wildcard imports that
were confusing sphinx.

Change-Id: Ia9e599901a2a3fad854d3631dd0991183ae6d715
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20 09:35:00 +00:00
Florin Coras
8a140616a5 tls: add vcl test
Change-Id: If4c7efaf6506a827e7a95a56c2f6b6060df03fa1
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-20 09:34:30 +00:00
Neale Ranns
8c2dd1bf54 IPSEC: API coverity error of unitialised stat_index value
Change-Id: If884a3840f34090e33ce7808d38e50f919290d9f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-20 09:05:34 +00:00
Neale Ranns
558d872231 IPSEC-GRE: no clib_warning in the DP
Change-Id: If30c7334de55d32e57554cf1601c529cd807b834
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-20 09:05:24 +00:00
Ed Kern
fd9d04d820 Makefile: correct opensuse 15.0 dep naming
This covers both naming option for opensuse leap15
dep package naming

Change-Id: I2ade004e44e75c08afde0f3af42b33cd97ce0ebc
Signed-off-by: Ed Kern <ejk@cisco.com>
2019-02-19 11:27:06 -07:00
Haggai Eran
46ae2ef0f9 ldp: return byte count from a successful recvfrom
Unless there's an error, recvfrom should return the number of bytes
received. The current code returns zero on success due to
ldp_copy_ep_to_sockaddr returning zero.

Change-Id: Ib843b99a08c44b5ee2d16efe9edab0cf5df65170
Signed-off-by: Haggai Eran <haggai.eran@gmail.com>
2019-02-19 17:14:24 +00:00
Klement Sekera
f1b4e52a6e reassembly: handle ip6 atomic fragments
Change-Id: Ide3425f144fb17201dcde7ba89f39e460048100d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-19 17:08:51 +00:00
Damjan Marion
d2f50b2e33 avf: fix feature arc, take two
Change-Id: Ic191850739da82de32d87bbf17947b55cf962f2d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-19 16:21:28 +00:00
Klement Sekera
cae98b72c9 reassembly: fix buffer usage counter
Change-Id: I713904f8eb2f724cb08dba494c160c14cc8b24a1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-19 15:26:55 +00:00
Michal Cmarada
4e633e1043 VPP-1504: Remove JVPP
As part of JVPP migration this removes JVPP completely from VPP.

Change-Id: I6b74e7961aa474ae471e63fe43a624cd9fc3659b
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-02-19 15:14:02 +00:00
Hyong Youb Kim
aed6180194 dpdk: update Cisco VIC port type
Recent VIC models can support 25, 50, and 100Gbps links. Use the
helper (port_type_from_link_speed) to set the port type as it supports
all possible link speeds.

Change-Id: I748d8ac716a6393d116a9db8a599151c70a9000a
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-02-19 14:21:59 +00:00
Hyong Youb Kim
30a83d9f16 dpdk: do not shift PKT_RX_FDIR
PKT_RX_FDIR is a bit flag, not a bit position.

Change-Id: Ib31ec9257e906b045522fa7c2b515b7b0c13bb32
Signed-off-by: Hyong Youb Kim <hyonkim@cisco.com>
2019-02-19 14:14:07 +00:00
Andrew Yourtchenko
eecba6cec4 acl-plugin: split the dataplane function into two, save 10sec in compile time
Change-Id: I00618f12dfd5ab4a2baf6c8ec1f53b4c7179aed7
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-02-19 14:12:32 +00:00
mu.duojiao
11232e5d17 VPP-1568:when entry src cover change, recursive-loop fib still can not work.
Change-Id: I90762b59f94175f278380c95776471a30bc94d34
Signed-off-by: mu.duojiao <mu.duojiao@zte.com.cn>
2019-02-19 13:32:32 +00:00
Andrew Yourtchenko
6a7cff7ec2 tap gso: experimental support
This commit adds a "gso" parameter to existing "create tap..." CLI,
and a "no-gso" parameter for the compatibility with the future,
when/if defaults change.

It makes use of the lowest bit of the "tap_flags" field in the API call
in order to allow creation of GSO interfaces via API as well.

It does the necessary syscalls to enable the GSO
and checksum offload support on the kernel side and sets two flags
on the interface: virtio-specific virtio_if_t.gso_enabled,
and vnet_hw_interface_t.flags & VNET_HW_INTERFACE_FLAG_SUPPORTS_GSO.

The first one, if enabled, triggers the marking of the GSO-encapsulated
packets on ingress with VNET_BUFFER_F_GSO flag, and
setting vnet_buffer2(b)->gso_size to the desired L4 payload size.

VNET_HW_INTERFACE_FLAG_SUPPORTS_GSO determines the egress packet
processing in interface-output for such packets:

When the flag is set, they are sent out almost as usual (just taking
care to set the vnet header for virtio).

When the flag is not enabled (the case for most interfaces),
the egress path performs the re-segmentation such that
the L4 payload of the transmitted packets equals gso_size.

The operations in the datapath are enabled only when there is at least
one GSO-compatible interface in the system - this is done by tracking
the count in interface_main.gso_interface_count. This way the impact
of conditional checks for the setups that do not use GSO is minimized.

"show tap" CLI shows the state of the GSO flag on the interface, and
the total count of GSO-enabled interfaces (which is used to enable
the GSO-related processing in the packet path).

This commit lacks IPv6 extension header traversal support of any kind -
the L4 payload is assumed to follow the IPv6 header. Also it performs
the offloads only for TCP (TSO - TCP segmentation offload).
The UDP fragmentation offload (UFO) is not part of it.

For debug purposes it also adds the debug CLI:

 "set tap gso {<interface> | sw_if_index <sw_idx>} <enable|disable>"

Change-Id: Ifd562db89adcc2208094b3d1032cee8c307aaef9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-02-19 12:47:40 +00:00
Klement Sekera
be30fea370 VPP-1573 fix crash in ip6 reassembly
Change-Id: I3a3076c7d87446b5ec2a02e70d3b6d05f1875875
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-19 11:50:24 +00:00
Damjan Marion
34e823ff9d ip6-local: fix uninitialized variable error
Change-Id: I245a8cc8f237242efadcf10d47b76222a6497e89
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-19 10:58:10 +00:00
Neale Ranns
7752cb6f0d VOM: no assert on interface mac set
Change-Id: I0210b18dc37e1a425c75c95a2fb98c6a48d8ea7a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-19 10:36:13 +00:00
Damjan Marion
cffbfc52b0 avf: fix feature arc
Change-Id: Ib7d8e8e2e4663daa1307e676c53f7ef8b91e60e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-19 10:08:08 +00:00
Florin Coras
df57ea0a3e tls: fix openssl/mbedtls use of app_wrk index
Change-Id: I7ccc948357d815a1bd4279a7079cf4db2949183c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-18 20:43:29 -08:00
Florin Coras
a27a46eaeb session: move fifo allocation logic to app worker
Change-Id: I1662ec4b5503cb64a8a86a2441842311d959b3a6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-18 19:06:39 -08:00
Neale Ranns
25cfb775e3 NAT: fix: multiple definition of nat64_cleaner_process_event_e
Change-Id: Idcff6108f4f965344afce9ff614018239819dc95
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-18 22:32:00 +00:00
Paul Vinciguerra
f4647ed885 Resolve vppapigen DeprecationWarning.
/vpp/src/tools/vppapigen/vppapigen:823: DeprecationWarning:
the imp module is deprecated in favour of importlib;
see the module's documentation for alternative uses

Change-Id: If7729778374e9193f6381c8bd2ed34c875db3f1e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-18 21:56:06 +00:00
Florin Coras
222e1f4160 tcp: harden for high scale scenarios
- Better handle buffer starvation scenarios
- Handle case when both peers enter recovery due to packet loss.
- Fix passive open establish cleanup

Change-Id: I2f28baa2ff0383bb8f5f6d2452b49aa38ce69bce
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-18 20:43:33 +00:00
Neale Ranns
a333795d1c DHCP: trace flags copied from old to new not vice-versa
Change-Id: I6c13af7e97753da013cdd5b212302d008cbd616d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-18 17:52:27 +00:00
Filip Varga
e69e423743 NAT: VPP-1552 code migration from old multiarch scheme
Change-Id: I88f3df8aaa521e7707ef3335acdbf1ab41e7ee28
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-02-18 16:46:50 +00:00
Benoît Ganne
7dcb80a202 Explicit dual-loop in ip6-local
Makes ip6-local node dual-loop explicit. This is only a style change.

Change-Id: Ic8e7cecb3f51e98b8a069b501f5c338156934a6d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-18 16:38:12 +00:00
Neale Ranns
eba31ecebe IPSEC: move SA counters into the stats segment
1) stats are accessed via the stat segment which is more condusive to
   monitoring
2) stats are accurate in the presence of multiple threads. There's no
   guarantee that an SA is access from only one worker.

Change-Id: Id5e217ea253ddfc9480aaedb0d008dea031b1148
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-18 13:05:17 +00:00
Matus Fabian
684586786e NAT44: fix snat_get_worker_out2in_cb (VPP-1536)
Change-Id: I9c562f8e3407ca60a4412a162015fa505b7590b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2019-02-18 01:56:18 -08:00
Florin Coras
830fe7370a tcp: fix handling of retransmitted syns
Change-Id: I88fdeb0ca56d3a5d9c0f36def13c6de8142f59f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-18 07:03:06 +00:00
Benoît Ganne
26a101976d Optimize ip6-local
Optimize IPv6 ip6-local node by rewriting the dual/single loop with
prefetch and simpler unrolling.
My local, unrepresentative tests for GRE4 termination over IPv6 show a
performance improvement of ~40% for ip6-local node alone and ~5%
globally.

Change-Id: I11e1e86d3838dd3c081aa6be5e25dae16ed6e2d8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-15 20:22:13 +00:00
Nathan Skrzypczak
bb65ba10fd Fix connexion segfault in session api affecting tcp_echo
Change-Id: If6d45f7f6e6dab70eecd6ec7241126968a34ad6b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-02-15 15:38:10 +00:00
Kingwel Xie
3b3464eef5 dpdk-ipsec: store buffer index into crypto-op private
don't have to convert from mbuf to vlib_buffer then buffer index
save a few clock cycles in crypto-input

plus, a bit improvements of CLI
1. show more information, resource placement & qp stats
2. clear dpdk qp statistics

cleanup cli as sugguested by Sergio Gonzalez Monroy

Change-Id: Ic4fd65bfa9a6b05b344a9a40c554990dde072d19
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-15 14:58:33 +00:00
Andrew Yourtchenko
f620f665ad 19.01 Release Notes
Change-Id: I43fd3aac9039c6d551fac8607374a0ebfdc6f74a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 67d9475ae3586e69356f939b36aefe8d6a6f0009)
2019-02-15 10:52:42 +00:00
Neale Ranns
58085f2f67 FIB: pass a copy the walk context
since it can realloc when new ctx are added. If
not we can get some nasty memory corruption.

Change-Id: I617709c3013acbcb8aee07dc147894f0de896555
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-15 08:14:42 +00:00
Klement Sekera
593635d4fa make test: make test-ext working again
Change-Id: Ib30d0c6b8794488119f258f7617fce494aa28f1f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-14 17:23:21 +00:00
Mohsin Kazmi
752f5b4302 deb-pkg: Add libvom package support
Change-Id: I370a5198ea5b768d8c505679662a19797bd2740d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-14 17:21:59 +00:00
Kingwel Xie
364b1cad18 ipsec: memory leak fixup
Change-Id: Ib2ad196bec1005d6678589d5b5c199b8a541c720
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-14 17:19:18 +00:00
Benoît Ganne
47727c02df Add -fno-common compile option
-fno-common makes sure we do not have multiple declarations of the same
global symbol across compilation units. It helps debug nasty linkage
bugs by guaranteeing that all reference to a global symbol use the same
underlying object.
It also helps avoiding benign mistakes such as declaring enum as global
objects instead of types in headers (hence the minor fixes scattered
across the source).

Change-Id: I55c16406dc54ff8a6860238b90ca990fa6b179f1
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-14 17:18:36 +00:00
Lollita Liu
8f6c1dda35 buffer: bug fix vlib_buffer_free_inline
buffer_pool_index, in case of buffer_pool_index change,
should free buffers in queue before setting buffer_pool_index again

Change-Id: I846ead947a7b2d940c8fc747976239d608597391
Signed-off-by: Lollita Liu <lollita.liu@ericsson.com>
2019-02-14 17:16:03 +00:00
Paul Vinciguerra
cec202c417 make install-ext-deps broken.
make install-ext-deps broken due to nasm site being offline for days.
curl: (7) Failed to connect to www.nasm.us port 443: Connection refused

curl: (7) Failed to connect to www.nasm.us port 80: Connection refused

Pointing url to mirror at Oregon State University for the time being.
https://ftp.osuosl.org/pub/blfs/conglomeration/nasm/$(nasm_tarball)

Change-Id: I6310337ae6946fbcd5fd653dcd3780ec7e97fe9a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-14 16:57:18 +00:00
Damjan Marion
381735028c ip6: convert code to new multiarch
Change-Id: Idd09b5d0597336e4f2028113cae76c94fd1c5427
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-13 19:30:09 +01:00
Mohsin Kazmi
d3125833d5 vom: Add support for vtr in xconnect
Change-Id: Ib168a1d20c4609e4e64f472f75e9463161638e3e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-13 04:52:36 -08:00
Neale Ranns
b4cfd55f25 IPSEC: restack SAs on backend change
Change-Id: I5852ca02d684fa9d59e1690efcaca06371c5faff
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-13 02:08:06 -08:00
Neale Ranns
6fef74ad30 VOM: neighbour API flags
Change-Id: Ia664cd4c77f1c5b4bc46c5e191bb57704b3ccc46
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-13 09:06:44 +00:00
Dave Barach
22ad815d65 fix assert failure
Change-Id: I9a2e8ea2bf334dd8dabf3d25abbcc91087a43882
Signed-off-by: Dave Barach <dbarach@cisco.com>
2019-02-12 14:55:11 +00:00
Kingwel Xie
72b3bce0b6 ipsec: cli bug fix
1. unformat_ip46_address must have ip-type specified
2. cannot unformat ip46_address_t with unformat_ip4_address

Change-Id: I5f1eecfe71a808302428afb39f910ebf0c7cef71
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-12 06:45:08 -05:00
Neale Ranns
7ba8fe2097 IPSEC-tun: The tunnel DB uses the network order SPI to save the byte swap in the DP
Change-Id: I78a1c39682d5afd356a3cfe70097fc682e8cb938
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-11 16:07:38 +00:00
Florin Coras
b4c1491f74 session: add config for evt qs segment size
Change-Id: I286d0d53a9ef2d6e28cd301eae25fc119d491f22
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-11 16:06:37 +00:00
Florin Coras
c1a4265b4b session: cleanup application interface
Change-Id: I89d240753b3f3c5e984aa303a7c8fa35fa59bf7f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-11 16:05:37 +00:00
Kingwel Xie
c69ac31208 ipsec: multi-arch, next-node-index cleanup
1. specify ipsec_xxx_node.c in MULTIARCH_SOURCES
2. cleanup foreach_ipsec_output_next & foreach_ipsec_input_next,
   as next-nodes are actually added by ipsec_register_xx_backend dynamically
   thus, ipsec4-input-feature will point to ah4/esp4-encrypt, instead of
   pointing to ah6/esp6-encrypt
3. remove an unused count and add counter IPSEC_INPUT_ERROR_RX_MATCH_PKTS
   in ipsec-input

Change-Id: Ifcf167812d2cc18187c2cea84b657a52b67e17d4
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-11 03:12:01 -08:00
Damjan Marion
8934a04596 buffers: fix typo
Change-Id: I4e836244409c98739a13092ee252542a2c5fe259
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-09 23:29:26 +01:00
Florin Coras
54a51fd586 tls: move test certificates to separate header file
Change-Id: I543cb78e268d7a4a7fba590d305351ec79f4e4da
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-09 16:17:32 +00:00
Florin Coras
c9940fc20b session: refactor listen logic
Make app-listener the handle for app listens. Consequently transport and
local listen sessions are now associated to the app-listener.

Change-Id: I9397a26d42cccb100970b6b4794c15bac2e11465
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-09 16:17:32 +00:00
Florin Coras
6164e97e0f tcp: fix fib_index for v6 ll packets
Change-Id: Ie69bdb9860d61f2c599c0c80b0ea80dfdfe178bd
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-07 22:28:53 +00:00
Neale Ranns
3c282c7af9 IPSEC: remove unused members of main struct
Change-Id: Ib55deb620f4f58cac07da7cb69418a3a30ff3136
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-07 19:13:50 +00:00
Neale Ranns
8d7c502002 IPSEC: no second lookup after tunnel encap
in the same maaner as with other tunnel tyeps we use
the FIB to cache and track the destination used to reach
the tunnel endpoint. Post encap we can then ship the packet
straight to this adjacency and thus elide the costly second
lookup.

- SA add and del function so they can be used both directly
  from the API and for tunnels.
- API change for the SA dump to use the SA type
- ipsec_key_t type for convenience (copying, [un]formating)
- no matching tunnel counters in ipsec-if-input

Change-Id: I9d144a59667f7bf96442f4ca66bef5c1d3c7f1ea
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-07 19:13:32 +00:00
Benoît Ganne
3d0ef26a02 Fix parsing overflow in unformat_mac_address_t()
'%x' unformat specifier expects a pointer to a 4-byte object and will
overflow when using a pointer to a 1-byte object. Use '%X' instead which
allows to pass the size of the object alongside its pointer.

The bug was exposed with the following commands:
~# make run
DBGvpp# loop create
loop0
DBGvpp# set ip6 neigh loop0 3001::2 a🅰️a🅰️a:a
DBGvpp# show ip6 neigh
Time     Address  Flags  Link layer         Interface
35.7743  ::2      D      0a:0a:0a:0a:0a:0a  loop0
         ^^^
  wrong address: should be 3001::2
Note that the bug impact depends from the parsing order and memory
layout.

Change-Id: I29ba2eb53ba5a2daf4517215602d027508e2cb9f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-07 19:11:22 +00:00
Florin Coras
d4c49be5e2 tcp: fix reset sending in syn-sent
Change-Id: I468b1015bca5f95b162fb49e904aa4e4d38db75e
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-07 00:16:30 -08:00
Damjan Marion
5de3fec531 buffers: make buffer data size configurable from startup config
Example:

buffers {
	default data-size 1536
}

Change-Id: I5b4436850ca18025c9fdcfc7ed648c2c2732d660
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-06 18:00:17 +00:00
Damjan Marion
672ab69018 buffers: improve buffer init performance
Change-Id: Ib59a3c32af754a898ade17c42e60a88f48b797ff
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-06 17:58:32 +00:00
Mohsin Kazmi
b74fe32d54 virtio: enable msix interrupt mode
Change-Id: Idd560f3afde1dd03bc3d6fbb2070096146865f50
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-06 17:27:44 +00:00
Mohsin Kazmi
80659b4624 virtio: Use new buffer optimization
Change-Id: Ifc98373371b967c49a75989eac415ddda1dcf15f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-06 17:27:44 +00:00
Sergio Gonzalez Monroy
ef20f0eff7 dpdp-crypto: fix cryptodev segfault with dpdk 19.02
DPDK 19.02 adds two new fields to struct rte_cryptodev_qp_conf,
which the current code was not initializing properly.

Also session mempools are now required to have specific private data.
For that just use the new API to create symmetric session pools.

Change-Id: Ie732d4e10b908aeaea322717d6011113e3e7172c
Signed-off-by: Sergio Gonzalez Monroy <sgmonroy@gmail.com>
2019-02-06 17:25:29 +00:00
Florin Coras
1ee7830e9e transport: cleanup
- move transport specific types to transport_types
- add transport wrapper functions for interaction with transport
protocol vfts

Change-Id: I93f70d884585fc2f41c4a605e310c80e8a8972f2
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-06 16:56:39 +00:00
Andrew Yourtchenko
696d760865 Update to doxygen documentation for release 19.01
Change-Id: Id19cefc24d391f0437a0355f5328505ec21aa58a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 44f14358cfe37a750f4541e5919b0c7877b6d46e)
2019-02-06 04:16:11 +00:00
Yichen Wang
00cbd57ac9 Fix borken install-dep on RHEL
Change-Id: I247cca88e33f782e1acb72eb2c0e1515faf2f030
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2019-02-06 04:14:59 +00:00
Tomasz Kulasek
97dcf5bd26 sock api: allow to start client with no rx_thread
Change-Id: Ia30ff1e62304e65f27497ce05f8e40631c06d69e
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
2019-02-05 21:56:19 +00:00
Florin Coras
4edc37eb90 session: cleanup part 3
Aggregate session specific types, getters and setters under
session_types.h

Change-Id: Ib205337502654969d60c72d1800c90247e1a9068
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-05 19:35:55 +00:00
Neale Ranns
2ff5b8decf VOM: vxlan_tunnel equals operator
Change-Id: I0e524b5d7c02a099b6ce84e6a0c116b19200879d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-05 16:44:49 +00:00
Kingwel Xie
b8999b1070 crypto-input: fix broken buffer trace issue
dpdk_crypto_input_trace was called before vlib_buffer_enqueue_to_next
then VLIB_FRAME_TRACE of next_frame->flag will be overwritten by
vlib_next_frame_change_ownership(), leading to a broken trace.

now it is working:

Packet 1

00:00:15:654983: dpdk-crypto-input
  dev_id 0 next-index 1
  00:00:15:654999: ip4-lookup
  fib 0 dpo-idx 0 flow hash: 0x00000000
  IPSEC_ESP: 18.1.0.71 -> 18.1.0.241
      tos 0x00, ttl 254, length 168, checksum 0x96ea
......

Change-Id: I73d77c06c11db8911866adb6240b2565b690f469
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-05 15:02:53 +00:00
Florin Coras
623eb56766 session: cleanup part 2
Move app worker logic to app_worker.c

Change-Id: Ic5e5735b2884f006c064d023f491aa6888114810
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-05 15:01:08 +00:00
Neale Ranns
a09c1ff5b6 IPSEC: SPD counters in the stats sgement
- return the stats_index of each SPD in the create API call
- no ip_any in the API as this creates 2 SPD entries. client must add both v4 and v6 explicitly
- only one pool of SPD entries (rhter than one per-SPD) to support this
- no packets/bytes in the dump API. Polling the stats segment is much more efficient
  (if the SA lifetime is based on packet/bytes)
- emit the policy index in the packet trace and CLI commands.

Change-Id: I7eaf52c9d0495fa24450facf55229941279b8569
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-05 14:59:44 +00:00
Dave Barach
3117ad8aa5 g2-only: add (min,max) stats to the anomaly detector
Shows up on the status line.

Change-Id: I14635f7406069a4a868bdb7c8b85da941c49dbba
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-04 17:50:22 -05:00
Florin Coras
288eaab596 session: cleanup part 1
Rename core data structures. This will break compatibility for out of
tree builtin apps.

- stream_session_t to session_t
- server_rx/tx_fifo to rx/tx_fifo
- stream_session.h to session_types.h
- update copyright

Change-Id: I414097c6e28bcbea866fbf13b8773c7db3f49325
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-04 22:00:54 +00:00
Paul Vinciguerra
8d991d923b VTL Cleanup: Fix missing calls to setUpClass/tearDownClass, fix numerous TypeErrors.
* TypeError: assertIsNotNone() got an unexpected keyword argument 'msg'

* Correct missing calls to setUpClass/tearDownClass.
    If you want the setUpClass and tearDownClass on base classes called then you must call up to them yourself.
    The implementations in TestCase are empty.
    https://docs.python.org/2/library/unittest.html#setupclass-and-teardownclass

Cleans up issues in parallel test mode:
-------------
FAILURES AND ERRORS IN TESTS:
  Testcase name: VCL Thru Host Stack Bidir Nsock
    FAILURE: test_vcl.VCLThruHostStackBidirNsock.test_vcl_thru_host_stack_bi_dir_nsock [test_vcl.VCLThruHostStackBidirNsock.test_vcl_thru_host_stack_bi_dir_nsock]
  Testcase name: Bidirectional Forwarding Detection (BFD) (changing auth)
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_change_key_delayed [test_bfd.BFDAuthOnOffTestCase.test_auth_change_key_delayed]
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_change_key_immediate [test_bfd.BFDAuthOnOffTestCase.test_auth_change_key_immediate]
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_off_delayed [test_bfd.BFDAuthOnOffTestCase.test_auth_off_delayed]
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_off_immediate [test_bfd.BFDAuthOnOffTestCase.test_auth_off_immediate]
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_on_delayed [test_bfd.BFDAuthOnOffTestCase.test_auth_on_delayed]
      ERROR: test_bfd.BFDAuthOnOffTestCase.test_auth_on_immediate [test_bfd.BFDAuthOnOffTestCase.test_auth_on_immediate]
  Testcase name: Punt Socket for IPv4
      ERROR: test_punt.TestIP4PuntSocket.test_punt_socket_dump [test_punt.TestIP4PuntSocket.test_punt_socket_dump]
      ERROR: test_punt.TestIP4PuntSocket.test_punt_socket_traffic_multi_port_multi_sockets [test_punt.TestIP4PuntSocket.test_punt_socket_traffic_multi_port_multi_sockets]
      ERROR: test_punt.TestIP4PuntSocket.test_punt_socket_traffic_multi_ports_single_socket [test_punt.TestIP4PuntSocket.test_punt_socket_traffic_multi_ports_single_socket]
      ERROR: test_punt.TestIP4PuntSocket.test_punt_socket_traffic_single_port_single_socket [test_punt.TestIP4PuntSocket.test_punt_socket_traffic_single_port_single_socket]
  Testcase name: Bidirectional Forwarding Detection (BFD) (IPv6)
      ERROR: test_bfd.BFD6TestCase.test_echo [test_bfd.BFD6TestCase.test_echo]
      ERROR: test_bfd.BFD6TestCase.test_echo_looped_back [test_bfd.BFD6TestCase.test_echo_looped_back]
      ERROR: test_bfd.BFD6TestCase.test_intf_deleted [test_bfd.BFD6TestCase.test_intf_deleted]
      ERROR: test_bfd.BFD6TestCase.test_session_up [test_bfd.BFD6TestCase.test_session_up]
      ERROR: test_bfd.BFD6TestCase.test_session_up_by_ip [test_bfd.BFD6TestCase.test_session_up_by_ip]
  Testcase name: Bidirectional Forwarding Detection (BFD) (CLI)
      ERROR: test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp [test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp]
      ERROR: test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp6 [test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp6]
      ERROR: test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp6_auth [test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp6_auth]
      ERROR: test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp_auth [test_bfd.BFDCLITestCase.test_add_mod_del_bfd_udp_auth]
      ERROR: test_bfd.BFDCLITestCase.test_admin_up_down [test_bfd.BFDCLITestCase.test_admin_up_down]
      ERROR: test_bfd.BFDCLITestCase.test_auth_on_off [test_bfd.BFDCLITestCase.test_auth_on_off]
      ERROR: test_bfd.BFDCLITestCase.test_auth_on_off_delayed [test_bfd.BFDCLITestCase.test_auth_on_off_delayed]
      ERROR: test_bfd.BFDCLITestCase.test_set_del_meticulous_sha1_key [test_bfd.BFDCLITestCase.test_set_del_meticulous_sha1_key]
      ERROR: test_bfd.BFDCLITestCase.test_set_del_sha1_key [test_bfd.BFDCLITestCase.test_set_del_sha1_key]
      ERROR: test_bfd.BFDCLITestCase.test_set_del_udp_echo_source [test_bfd.BFDCLITestCase.test_set_del_udp_echo_source]
      ERROR: test_bfd.BFDCLITestCase.test_show [test_bfd.BFDCLITestCase.test_show]
  Testcase name: VAPI test
      ERROR: test_vapi.VAPITestCase.test_vapi_c [test_vapi.VAPITestCase.test_vapi_c]
  Testcase name: Container integration extended testcases
      ERROR: test_container.ContainerIntegrationTestCase.test_0010_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0010_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0011_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0011_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0050_loopback_prepare_test [test_container.ContainerIntegrationTestCase.test_0050_loopback_prepare_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0110_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0110_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0111_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0111_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0200_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0200_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0210_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0210_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0211_basic_conn_test [test_container.ContainerIntegrationTestCase.test_0211_basic_conn_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0300_unconfigure_commands [test_container.ContainerIntegrationTestCase.test_0300_unconfigure_commands]
      ERROR: test_container.ContainerIntegrationTestCase.test_0410_spoof_test [test_container.ContainerIntegrationTestCase.test_0410_spoof_test]
      ERROR: test_container.ContainerIntegrationTestCase.test_0411_spoof_test [test_container.ContainerIntegrationTestCase.test_0411_spoof_test]
  Testcase name: Re-enable IPFIX
      ERROR: test_flowprobe.ReenableIPFIX.test_0011 [test_flowprobe.ReenableIPFIX.test_0011]
  Testcase name: VXLAN over IPv6 Test Case
      ERROR: setUpClass [setUpClass (test_vxlan6.TestVxlan6)]
  Testcase name: JVPP Core Test Case
      ERROR: test_jvpp.TestJVpp.test_vpp_acl_callback_api [test_jvpp.TestJVpp.test_vpp_acl_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_acl_future_api [test_jvpp.TestJVpp.test_vpp_acl_future_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_core_callback_api [test_jvpp.TestJVpp.test_vpp_core_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_core_future_api [test_jvpp.TestJVpp.test_vpp_core_future_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioamexport_callback_api [test_jvpp.TestJVpp.test_vpp_ioamexport_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioamexport_future_api [test_jvpp.TestJVpp.test_vpp_ioamexport_future_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioampot_callback_api [test_jvpp.TestJVpp.test_vpp_ioampot_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioampot_future_api [test_jvpp.TestJVpp.test_vpp_ioampot_future_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioamtrace_callback_api [test_jvpp.TestJVpp.test_vpp_ioamtrace_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_ioamtrace_future_api [test_jvpp.TestJVpp.test_vpp_ioamtrace_future_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_snat_callback_api [test_jvpp.TestJVpp.test_vpp_snat_callback_api]
      ERROR: test_jvpp.TestJVpp.test_vpp_snat_future_api [test_jvpp.TestJVpp.test_vpp_snat_future_api]
  Testcase name: LDP Cut Thru Tests
    FAILURE: test_vcl.LDPCutThruTestCase.test_ldp_cut_thru_iperf3 [test_vcl.LDPCutThruTestCase.test_ldp_cut_thru_iperf3]
  Testcase name: ACL plugin connection-oriented extended testcases
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0000_conn_prepare_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0000_conn_prepare_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0001_basic_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0001_basic_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0002_basic_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0002_basic_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0005_clear_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0005_clear_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0006_clear_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0006_clear_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0011_active_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0011_active_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_0012_active_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_0012_active_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1001_basic_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1001_basic_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1002_basic_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1002_basic_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1005_clear_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1005_clear_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1006_clear_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1006_clear_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1011_active_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1011_active_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_1012_active_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_1012_active_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2000_prepare_for_tcp_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2000_prepare_for_tcp_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2001_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2001_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2002_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2002_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2003_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2003_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2004_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2004_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2005_tcp_transient_teardown_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2005_tcp_transient_teardown_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_2006_tcp_transient_teardown_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_2006_tcp_transient_teardown_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3001_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3001_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3002_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3002_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3003_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3003_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3004_tcp_transient_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3004_tcp_transient_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3005_tcp_transient_teardown_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3005_tcp_transient_teardown_conn_test]
      ERROR: test_acl_plugin_conns.ACLPluginConnTestCase.test_3006_tcp_transient_teardown_conn_test [test_acl_plugin_conns.ACLPluginConnTestCase.test_3006_tcp_transient_teardown_conn_test]
  Testcase name: LDP Thru Host Stack Echo
    FAILURE: test_vcl.LDPThruHostStackEcho.test_ldp_thru_host_stack_echo [test_vcl.LDPThruHostStackEcho.test_ldp_thru_host_stack_echo]
  Testcase name: Bidirectional Forwarding Detection (BFD) - API
      ERROR: test_bfd.BFDAPITestCase.test_activate_auth [test_bfd.BFDAPITestCase.test_activate_auth]
      ERROR: test_bfd.BFDAPITestCase.test_add_auth_nonexistent_key [test_bfd.BFDAPITestCase.test_add_auth_nonexistent_key]
      ERROR: test_bfd.BFDAPITestCase.test_add_bfd [test_bfd.BFDAPITestCase.test_add_bfd]
      ERROR: test_bfd.BFDAPITestCase.test_add_bfd6 [test_bfd.BFDAPITestCase.test_add_bfd6]
      ERROR: test_bfd.BFDAPITestCase.test_add_bfd_sha1 [test_bfd.BFDAPITestCase.test_add_bfd_sha1]
      ERROR: test_bfd.BFDAPITestCase.test_add_sha1_keys [test_bfd.BFDAPITestCase.test_add_sha1_keys]
      ERROR: test_bfd.BFDAPITestCase.test_change_key [test_bfd.BFDAPITestCase.test_change_key]
      ERROR: test_bfd.BFDAPITestCase.test_deactivate_auth [test_bfd.BFDAPITestCase.test_deactivate_auth]
      ERROR: test_bfd.BFDAPITestCase.test_double_add [test_bfd.BFDAPITestCase.test_double_add]
      ERROR: test_bfd.BFDAPITestCase.test_double_add_sha1 [test_bfd.BFDAPITestCase.test_double_add_sha1]
      ERROR: test_bfd.BFDAPITestCase.test_mod_bfd [test_bfd.BFDAPITestCase.test_mod_bfd]
      ERROR: test_bfd.BFDAPITestCase.test_set_del_udp_echo_source [test_bfd.BFDAPITestCase.test_set_del_udp_echo_source]
      ERROR: test_bfd.BFDAPITestCase.test_shared_sha1_key [test_bfd.BFDAPITestCase.test_shared_sha1_key]
  Testcase name: LDP Thru Host Stack Iperf
    FAILURE: test_vcl.LDPThruHostStackIperf.test_ldp_thru_host_stack_iperf3 [test_vcl.LDPThruHostStackIperf.test_ldp_thru_host_stack_iperf3]
  Testcase name: Bidirectional Forwarding Detection (BFD) (SHA1 auth)
      ERROR: test_bfd.BFDSHA1TestCase.test_session_up [test_bfd.BFDSHA1TestCase.test_session_up]
  Testcase name: Punt Socket for IPv6
      ERROR: test_punt.TestIP6PuntSocket.test_punt_socket_dump [test_punt.TestIP6PuntSocket.test_punt_socket_dump]
      ERROR: test_punt.TestIP6PuntSocket.test_punt_socket_traffic_multi_port_multi_sockets [test_punt.TestIP6PuntSocket.test_punt_socket_traffic_multi_port_multi_sockets]
      ERROR: test_punt.TestIP6PuntSocket.test_punt_socket_traffic_multi_ports_single_socket [test_punt.TestIP6PuntSocket.test_punt_socket_traffic_multi_ports_single_socket]
      ERROR: test_punt.TestIP6PuntSocket.test_punt_socket_traffic_single_port_single_socket [test_punt.TestIP6PuntSocket.test_punt_socket_traffic_single_port_single_socket]
  Testcase name: Disable Flowprobe feature
      ERROR: test_flowprobe.DisableFP.test_0001 [test_flowprobe.DisableFP.test_0001]
  Testcase name: Disable IPFIX
      ERROR: test_flowprobe.DisableIPFIX.test_0001 [test_flowprobe.DisableIPFIX.test_0001]
  Testcase name: VPP Object Model Test
      ERROR: test_vom.VOMTestCase.test_vom_cpp [test_vom.VOMTestCase.test_vom_cpp]
  Testcase name: BFD-FIB interactions (IPv6)
      ERROR: test_bfd.BFDFIBTestCase.test_session_with_fib [test_bfd.BFDFIBTestCase.test_session_with_fib]
  Testcase name: Bidirectional Forwarding Detection (BFD)
      ERROR: test_bfd.BFD4TestCase.test_echo [test_bfd.BFD4TestCase.test_echo]
      ERROR: test_bfd.BFD4TestCase.test_echo_looped_back [test_bfd.BFD4TestCase.test_echo_looped_back]
      ERROR: test_bfd.BFD4TestCase.test_intf_deleted [test_bfd.BFD4TestCase.test_intf_deleted]
      ERROR: test_bfd.BFD4TestCase.test_session_down [test_bfd.BFD4TestCase.test_session_down]
      ERROR: test_bfd.BFD4TestCase.test_session_up [test_bfd.BFD4TestCase.test_session_up]
      ERROR: test_bfd.BFD4TestCase.test_session_up_by_ip [test_bfd.BFD4TestCase.test_session_up_by_ip]
  Testcase name: VXLAN-GPE Test Case
      ERROR: test_vxlan_gpe.TestVxlanGpe.test_decap [test_vxlan_gpe.TestVxlanGpe.test_decap]
      ERROR: test_vxlan_gpe.TestVxlanGpe.test_encap [test_vxlan_gpe.TestVxlanGpe.test_encap]
      ERROR: test_vxlan_gpe.TestVxlanGpe.test_ucast_flood [test_vxlan_gpe.TestVxlanGpe.test_ucast_flood]
  Testcase name: Re-enable Flowprobe feature
      ERROR: test_flowprobe.ReenableFP.test_0001 [test_flowprobe.ReenableFP.test_0001]
  Testcase name: LDP IPv6 Cut Thru Tests
    FAILURE: test_vcl.LDPIpv6CutThruTestCase.test_ldp_ipv6_cut_thru_echo [test_vcl.LDPIpv6CutThruTestCase.test_ldp_ipv6_cut_thru_echo]
TESTCASES WHERE NO TESTS WERE SUCCESSFULLY EXECUTED:
  VXLAN over IPv6 Test Case
==============================================================================

0 attempt(s) left.

Change-Id: Id202ed6ee7f57670f34ec87380244c568b509416
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-04 15:39:24 +00:00
Paul Vinciguerra
895e2f8506 Fix inheritance problem in test/hook.py.
Subclasses cannot modify the signature of their constructors.

     def __init__(self, test):
-        super(PollHook, self).__init__(test.logger)
+        super(PollHook, self).__init__(test)

Change-Id: I764df8871128f9198a03fac4ec2f45528547467a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-04 15:37:38 +00:00
Kingwel Xie
2baf9422cf ipsec: cli 'create ipsec tunnel' more options
use-esp use-anti-replay

Change-Id: I977b65eee926adaded0cb923e14feb0ee90fc32c
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-04 02:07:06 -08:00
Dave Barach
9c8cfd3d57 Automated anomaly detection
Compute per-track mean, variance, and n*stddev stats for the first u32
datum in each instance of the supplied event.

Search for the next instance of the indicated event which has a datum
larger than mean + n*stddev.

This turns out to be a very effective "Nixon Gap" finder when the
selected event datum is the instantaneous vector size. Such traces can
be easily captured from production vpp images.

Change-Id: I876843cb2ece22f902720704ce4568d4e1173e01
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-03 17:24:18 +00:00
Dave Barach
9793de0218 Disable hqos part deux
Change-Id: Ieab56e0a20696b8cc97f783f08f10a94a83644eb
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-02 14:33:38 -05:00
Damjan Marion
1a6ece3435 dpdk: bump to dpdk 19.02
HQoS requires fixes to work with dpdk 19.02 so code is disabled and
pending deprecation unless active maintainer is found.

Change-Id: I3569c4287b6dfdd2c29e02375eb53bf01fa6ae84
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-02 16:31:07 +00:00
Steven Luong
773291163a vmxnet3: multiple TX queues support
Add num-tx-queues to the vmxnet3 create CLI/API. Default is 1. Max is
min (8, the number of cores assigned to VPP).

Change-Id: I7e0a659a82d01c719665c228dd8a71e3288a2895
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-02 15:31:22 +00:00
Dave Barach
900cbadde9 CLI control of graph dispatch elogs
Change-Id: I195c8eabc0ee67880f1e85fc7594b00be6b563e3
Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-02 15:30:58 +00:00
Florin Coras
3389dd2aaa session: improve show session cli
Change-Id: If30cea80058752cedcc6ecc38e90bef8732c83d3
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-02 08:51:12 +00:00
Paul Vinciguerra
7e0c48e3a9 Python3: Move vppapigen to python3.
Change-Id: I26846d0c12211a29ccfca7c269b9094f6fdbd95c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-02 07:33:35 +00:00
Damjan Marion
652d2e1394 Deprecate old mutliarch code, phase 1
It is causing compilation sloness with gcc-7 so removing it
before it was originally planned.

So far macros are left in the tree so we can know which nodes to
convert to new multiarch code.

Change-Id: Idb14622ca61fdce1eba59723b20d98715b7971e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-02 00:45:09 +00:00
Ole Troan
9bb20b3102 VPP-1543: show map stats crash when not configured.
Change-Id: I4c8bc3fb057d57339ce282a31b0bb70ad16dd03e
Signed-off-by: Ole Troan <ot@cisco.com>
2019-02-02 00:29:02 +00:00
Florin Coras
bdf7fd62a0 tcp: remove internal buffer cache
Change-Id: I3051d49aa9b9c38dcd8069ea1748f74ab20ac0f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-02 00:25:55 +00:00
Florin Coras
2068fd4df9 session: remove local buffer cache
Change-Id: I71ccb39c56962fe0160d3f4c83453e72d2dd3030
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-02 00:25:55 +00:00
Neale Ranns
999c8ee6d6 IPSEC: minor refactor
No function change. Only breaking the monster ipsec.[hc]
into smaller constituent parts

Change-Id: I3fd4d2d041673db5865d46a4002f6bd383f378af
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-01 23:39:13 +00:00
Damjan Marion
e7ada526ac Remove -z now from LDFLAGS
It significantly increases link time, and slows down VPP startup.

Change-Id: I200448212a3254b1292d4e52d2751214240e2bc4
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-01 14:59:39 +01:00
Damjan Marion
791b7ace17 memif: fix buffer prefetch
Change-Id: If514366be7385c64cafc03329f66b44380556daa
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-01 09:09:25 +00:00
Paul Vinciguerra
9e315958d6 VTL: Fix issue with ipaddress library use under python2.
If you pass in a non-unicode 4-byte ipv6 address to ip_address,
ipaddress interprets this as an IPv4Address.

Under python2, ip_address  interprets 'a7::' as a packed ipv4:
 97.55.58.58

You can test with:
---
import ipaddress
try:
    text_type = unicode
except NameError:
    text_type = str

addr = ipaddress.ip_address('a7::')
print(addr)
---

Change-Id: I06c561e0ab7315869cc89d0bb08c05e743a90982
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-01 08:51:59 +00:00
Damjan Marion
f646d74392 buffers: vallidate that buffer is allocated during buffer pool put
Change-Id: I8044b34a37fe1994a8dfa1ca89929f3642c72e8d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 22:25:44 +00:00
Klement Sekera
0ede47aa45 make test: fix logging
Change-Id: I3867d50746f0f424c8e94929171363e5b2e4d470
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-31 22:10:01 +00:00
Benoît Ganne
362456a9bd Add 'show vlib graphviz' command
Add a new command to dump vlib graph as graphviz/dot file

Change-Id: I43fc072cff8153ac500e5fbc6641a3705c2e995e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-01-31 22:08:54 +00:00
Sergio Gonzalez Monroy
35467f112a dpdk-ipsec: use single queue pair per crypto resource
Change-Id: I2c796583087c70fbc5cf09e8afd0f2a1f389d346
Signed-off-by: Sergio Gonzalez Monroy <sgmonroy@gmail.com>
2019-01-31 22:07:10 +00:00
Damjan Marion
6f70e913c5 dpdk: populate mempool mem_list
Mellanox driver needs it

Change-Id: I28423805f977089d18d32e85cf08e9e7e1fcf5b2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 22:13:57 +01:00
Damjan Marion
31392ac150 dpdk: store buffer poool index in mempool pool_id
Change-Id: I2c225a4932dcf326e10fe93de3ee4fdaef4dd3d0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 22:13:57 +01:00
Neale Ranns
17dcec0b94 IPSEC: API modernisation
- use enums to enumerate the algoritms and protocols that are supported
- use address_t types to simplify encode/deocde
- use typedefs of entry objects to get consistency between add/del API and dump

Change-Id: I7e7c58c06a150e2439633ba9dca58bc1049677ee
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-31 20:44:22 +00:00
Florin Coras
6d0106e44e vcl: improve handling of close on rw
Change-Id: Ie01a37612d7e3e0d0bad0f0aa9583b3ed411f46f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-31 20:00:58 +00:00
jdenisco
f5de036c91 docs: Instructions for using vmxnet3 on mac
Change-Id: Ie6770e3a3801a23a6eb64cf1699ef0018eab6445
Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-01-31 19:56:13 +00:00
Andrew Yourtchenko
3a18f7b2bd Update version (19.01) for API changes script
Change-Id: I9c39b5076d366b3455a875df32765b2cb8f3eca2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 02da3a792ce1a7b4cdc3f0c9aa3434aadc726d06)
2019-01-31 19:25:05 +00:00
Paul Vinciguerra
64abeecadd VTL: Makefile: Don't install pip twice.
Pip is installed via virtualenv. No need to reinstall it again.

Change-Id: I45bea1f9db841ca4309b763ab852623180937727
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-31 19:24:42 +00:00
Damjan Marion
f4901f3d1d extras: vfctl script - bind VF to vfio-pci after VF is created
Change-Id: If6ed71a5f7217363d8e1b2f7a7f20fe4cfdb58af
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 19:44:14 +01:00
Klement Sekera
e82c73a96e assert on double-free in debug build
The assert allows easier debugging in gdb by aborting instead of exiting
cleanly. Also a core is generated so a stack trace can be obtained.

Change-Id: I2d05488c4522f4d4570fdfe0283130eb4c853d2a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-31 16:27:37 +00:00
Mohsin Kazmi
a402b83643 pci: get the number of interrupts
Change-Id: I2cfb81b3c8809d027a3ee5f5f570668e60be08ef
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-31 13:12:33 +00:00
Damjan Marion
24dcbe4520 buffers: reinitialize metadata, add additional validation
- DPDK overwrites metadata as part of rte_pktmbuf_init(...) so we need
  reinitialize it

- additional checks added to ensure ref_count is never < 1

Change-Id: Ida336f81c4723e8f2e0ad4a70cb7b1ecfff978a0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-31 12:33:16 +01:00
Neale Ranns
f6e9b014cb DHCP-test: more robust sleep check
Change-Id: I48c382797239dc305e01cc35124140d6ce16149a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-31 09:19:52 +00:00
Damjan Marion
94519aaed6 buffers: add missing ref_count = 1 in drivers
Change-Id: I6aa030429c1740f7376e95daf82fce49efa6716b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-30 22:16:19 +01:00
Mohsin Kazmi
0e2bc63ba9 virtio: fix the device order (legacy or modern)
Change-Id: I60f88d50f062b004e6dea487bd627d303d0a5e75
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-30 19:49:30 +00:00
Neale Ranns
37029305c6 Use IP and MAC API types for neighbors
use address_t and mac_address_t for IPv6 and ARP entries
and all other API calls in ip.api aprat from the route ones,
that will follow in a separate commit

Change-Id: I67161737c2184d3f8fc1e79ebd2b55121c5b0191
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-30 19:47:53 +00:00
Neale Ranns
13b2ba2ad5 MPLS tunnel; fix crash when deleting non-existant path
in the case the tunnel is the only user of the shared path list
then removing its dependency removes the path list. hence lock the list

Change-Id: I18318441698ceac16715b1826266a7d19dcd76e1
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-30 19:47:36 +00:00
Damjan Marion
910d3694e8 buffers: major cleanup and improvements
This patch introduces following changes:
- deprecated free lists which are not used and not compatible
  with external buffer managers (i.e. DPDK)
- introduces native support for per-numa buffer pools
- significantly improves performance of buffer alloc and free

Change-Id: I4a8e723ae47056717afd6cac0efe87cb731b5be7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-30 16:19:22 +00:00
Klement Sekera
4fd5a9d3e6 ipsec: fix check support functions
Change-Id: If94c57fbb07a7376a9f2873e1489c00b28152620
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-30 12:50:48 +01:00
Florin Coras
2d675d72d3 vls: support passive listeners
If an application worker calls listen on a session, vpp registers the
worker to the listener's work load balance group and, as new connections
are accepted, it may potentially push accept notifications to it.

There are however applications, like nginx, that on some workers may
never accept new connections on a session they've started listening on.
To avoid accumulating accept events on such workers, this patch adds
support for passive listeners. That is, workers that have started
listening on a session but then never call accept or epoll/select on
that listener.

Change-Id: I007e6dcb54fc88a0e3aab3c6e2a3d1ef135cbd58
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-30 09:08:11 +00:00
Florin Coras
822f5a498b lisp: set reachable flag in map-register
Change-Id: I9faaa321113e435844931247f23dbc1d190cc9da
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-30 09:06:56 +00:00
Florin Coras
4dee8cdb4e ldp: initialize clib time
Change-Id: Ie598443f024a677a9c6938b3f3634960fd712b09
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-30 09:06:30 +00:00
Ed Kern
653cd2dc46 test_syslog.py: pep8 overtab
nit tab fix for pep8

Change-Id: I81f62bf5f547497c9aabfb3180ef24f50b7c3283
Signed-off-by: Ed Kern <ejk@cisco.com>
2019-01-30 08:45:00 +00:00
Paul Vinciguerra
776e46d77c VTL: Fix pep8 test/test_syslog.py
Change-Id: I8894a7a8f2be117a4c1cec9ce5134a1572da7ec7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-29 21:10:17 +00:00
Mohsin Kazmi
22c0ece25c virtio: Support legacy and transitional virtio devices
Change-Id: Ib1316482dd7b1ae3c27c7eeb55839ed8af9ca162
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-29 16:37:36 +00:00
Florin Coras
0ef8ef2b47 vls: multi-process and multi-threaded apps improvements
- More fine tuning for multi-process applications.
- Experimental support for multi-thread apps. This is meant for app
  whose threads are not vcl workers and the sessions are shared between
  them.

Change-Id: Ie07651da5f2cdcf39f5dead5431f50ad39cf3f74
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-29 16:36:06 +00:00
Dmitry Vakhrushev
cac8cfaba9 Fix error while compiling using 'vlib/vlib.h' dependencie.
This variable without any needed 'define' becoming unused.

Change-Id: I661a75a78dba03abb861ed918ad1e634a8ecd0af
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2019-01-29 16:35:46 +00:00
Klement Sekera
bf613955ca make test: remove generic imports
Change-Id: I55b89f0d9fb082c7763b64b09ab14573468c6704
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-29 11:39:57 +01:00
Damjan Marion
6077c97a60 cmake: fix out-of-git-tree build
Change-Id: Ib94637ec09799c23f3179599b54a2be6e2768425
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-29 07:47:01 +00:00
Ping Yu
7da100bd04 update openssl TLS async to align with openssl master branch
Need to align with 3.0.0 version

Change-Id: I4e8aec1f1226ce09963a9bbb3a9170d1863059ec
Signed-off-by: Ping Yu <ping.yu@intel.com>
2019-01-28 17:49:05 +00:00
Dmitry Vakhrushev
ee3fb62bc8 Fix issues with order of NAT commands before set VRF table on an interface
Outside FIB index doesn't change in this case. We register
callback for changing of outside FIB if table binding is changed
on an interface.

Change-Id: I1ebbd7c3c547fc999089db07abd2019734395a6e
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2019-01-28 15:23:03 +00:00
Ping Yu
31dd6090e8 Add Ipsec IKE support to openssl 3.0.0 master branch
Change-Id: I7bd43f57d23b1ecf031530c4a7508f949ddf616f
Signed-off-by: Ping Yu <ping.yu@intel.com>
2019-01-28 15:21:11 +00:00
Damjan Marion
29c0b33401 Less intrusive way to capture numa_node and cpu_id changes
Change-Id: I3a33fb81f31ed473811e9e7a6197b81135913865
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-28 13:44:37 +01:00
Damjan Marion
ee721412eb Fix issue with cpu_id and numa_code captured too early
Change-Id: I79b213b34c6071d14acf1922f89037a4a5a36c45
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-27 20:23:17 +00:00
Florin Coras
87c657036a session: properly initialize accepted/connected msgs
Change-Id: I36b3ae56e6ca160081c892367fd6a979751fe717
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-27 16:56:27 +00:00
Dave Barach
53fe4a7926 perfmon: collect data on selected thread(s)
Add missing pre-input node runtime fork and refork code.
unix-epoll-input runs on all threads; each instance needs its own
runtime stats.

Change-Id: I16b02e42d0c95f863161176c4bb9f9917bef809d
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-27 03:01:59 +00:00
Damjan Marion
f23a885b89 cmake: parse DPDK config without compilation
Previous scheme was not cross-compile friendly...

Change-Id: Ib103b136231673157a02b8750312aa6073052c7e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-26 20:32:00 +00:00
Burt Silverman
e529732607 Run vpp-configure on change to cmake config files.
Modify the dirs assignment in configure_check_timestamp to
add the build-data/platforms/$(PLATFORM).mk file, all the CMakeLists.txt
files in the $(PACKAGE_SOURCE) tree, and the $(PACKAGE_SOURCE)/cmake
directory.
(For example, for package vpp, $(PACKAGE_SOURCE) is <Top of Tree>/src).
Note that in an earlier era there was no build-data/platforms directory and
no CMakeLists.txt files.
Also, we tacitly assume that $(SOURCE_PATH_BUILD_DATA_DIRS) is only one
directory whereas ebuild has been used in environments where there are two
treetops.

Change-Id: I761219adbdb4c7e675bb12b3e7f052db68f0294c
Signed-off-by: Burt Silverman <burtms@gmail.com>
2019-01-26 18:31:17 +00:00
Florin Coras
e0982e56f0 vcl: add api to expose worker message queues epfd
This only works if vcl is configured to do eventd based message queue
notifications, instead of condvars. For that, add "use-mq-eventfd" to
vcl startup conf.

Change-Id: Id0f0288a40ec7d3daef7370f8b88420425867ab6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-26 14:51:55 +00:00
Damjan Marion
ff42693005 cmake: add support for linking with DPDK shared libs
Change-Id: I3423191c53ab6100ee9ecc4e24b06506ff1b25c8
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-26 14:12:25 +01:00
Damjan Marion
1aaf0e343b deprecate tapcli
Change-Id: I82dceaa27a7b0c96de077cf283e4f64aa426f271
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-25 20:51:37 +00:00
Neale Ranns
514e59dfea MPLS-tunnel: show output to display the tunnel name correctly
Change-Id: I1554d9a4d6e4a4007cda9d0f83b03feb8fdbe853
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-25 19:55:21 +00:00
Neale Ranns
311124e21b IPSEC: tests use opbject registry
this means we test the dumps - to some extent

Change-Id: I8d90745701012012b41a7b3aaf9be97b4dd2bdf8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-25 19:54:49 +00:00
Florin Coras
9e47ac54c9 tcp_echo: support all ctrl msgs and io cleanup
Change-Id: I74d69b8d686ad2395267eaee38cf3a7efc76d127
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-25 15:31:28 +00:00
Kingwel Xie
8eb102c28a pg: bugfix for pg paylod hdr-size
it was specified to 0 after https://gerrit.fd.io/r/16909
causes unformat_pg_ip4_header to wrongly set ip header len.

do more check when assigning e->lsb_bit_offset to avoid
negative value

Change-Id: Ib772c7135cdeb355f0d60f1ee11602f6b5a0ff21
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-01-25 15:30:56 +00:00
Neale Ranns
5c1f559b1b IP6 FIB: walk table for dump (VPP-1553)
Change-Id: Iaa57ace6df96bfacd1235c80ec7bb08e5f335530
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-25 14:32:53 +00:00
Damjan Marion
a2e29e7705 cmake: execute git from src directory
Thanks Eliot....

Change-Id: I19c9557bf827d4a5b2af344f6f4eedf25cda86d7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-25 11:22:58 +01:00
Damjan Marion
69a1d6452f perfmon: enable pmc event before reading rdpmc index
Change-Id: I9b0a101e5d78c10257e3c5d8f5573c3eb29bfdef
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-24 22:43:20 +00:00
Florin Coras
5f45e01f5c session/vcl: support worker ownership change for listeners
Change-Id: I2ad54b20b96f10b009c3e651b2a2f885577ca5b6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-24 21:23:42 +00:00
Dave Barach
8704097b9b move misc-drop-errors to vnet
thanks, Eliot...

Change-Id: I8d8fee09bf1fe24933e6ef4e126dba8e22fe62b1
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-24 15:14:15 -05:00
Neale Ranns
8e4a89bf42 IPSEC Tests: to per-test setup and tearDown
don't do the setup and teardown in class methods so that with
each test the config is added and deleted. that way we test that
delete actually removes state.
more helpful error codes from VPP for existing IPSEC state.

Change-Id: I5de1578f73b935b420d4cdd85aa98d5fdcc682f6
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-24 19:51:37 +00:00
Lollita Liu
e18b45caeb add "Mtrie mheap usage" in "show ip fib memory"
Adding "Mtrie mheap usage" in output of "show ip fib memory" command, for displaying the total Mtrie Mheap usage together with memery usage of each node and each table

Change-Id: I2bcc570924e44a2b406f69cfc2f2f8d5abb61a39
Signed-off-by: Lollita Liu <lollita.liu@ericsson.com>
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-24 16:54:37 +00:00
Dave Barach
ec595ef026 perfmon plugin: 2-way parallel stat collection
As a FUD reduction measure, this patch implements 2-way parallel
counter collection. Synthetic stat component counter pairs run at the
same time. Running two counters (of any kind) at the same time
naturally reduces the aggregate time required by an approximate
factor-of-2, depending on whether an even or odd number of stats have
been requested.

I don't completely buy the argument that computing synthetic stats
such as instructions-per-clock will be inaccurate if component counter
values are collected sequentially. Given uniform traffic pattern, it
must make no difference.

As the collection interval increases, the difference between serial
and parallel component counter collection will approach zero, see also
the Central Limit theorem.

Change-Id: I36ebdcf125e8882cca8a1929ec58f17fba1ad8f1
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-24 16:19:04 +00:00
Damjan Marion
22f23ae802 buffers: fix vector types
Change-Id: I9df96264e30806ac3daf7121f314f34f06232413
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2019-01-24 15:36:57 +01:00
Damjan Marion
478839b9ec avf: fix queue enable issue
It is actually a bitmap....

Change-Id: Ie359e085df3f371512f773600f8d7460b2232b3e
Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2019-01-24 14:30:51 +00:00
Mohsin Kazmi
ddd2183868 virtio: Minor fixes and header cleanup
Change-Id: I2e5fd45abcd07e9eda6184587889bdcd9613a159
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-24 09:46:48 +00:00
Steven
e43278f75f bond: packet drops on VPP bond interface [VPP-1544]
We register callback for VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION and
VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION to add and remove the slave
interface from the bond interface accordingly. For static bonding without
lacp, one would think that it is good enough to put the slave interface into
the ective slave set as soon as it is configured. Wrong, sometimes the slave
interface is configured to be part of the bonding without ever bringing up the
hardware carrier or setting the admin state to up. In that case, we send
traffic to the "dead" slave interface.

The fix is to make sure both the carrier and admin state are up before we put
the slave into the active set for forwarding traffic.

Change-Id: I93b1c36d5481ca76cc8b87e8ca1b375ca3bd453b
Signed-off-by: Steven <sluong@cisco.com>
2019-01-23 21:06:29 +00:00
Damjan Marion
9a8a12a06e buffers: wrap vlib_buffer_t to union and expose vector types
Change-Id: I1c12e2941cae198ededbb65eb5be51a4eabe2c1b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-23 19:57:42 +00:00
Kingwel Xie
4222347a87 pg: cli improvement
1. show packet-generator verbose, display all edit-groups and hdr-size
2. unformat_pg_payload, always mark payload hdr-size as 0
3. packet-generator now can change rate/limit/size at runtime
4. validate_stream checks buffer min-size/max-size against all edit
   groups' header size
5. remove incorrect max packet size limit check in validate_stream(...)

Change-Id: Ic45e4f2b98bc0fd7330e0b480dd677fa3c69a677
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-23 17:53:30 +00:00
Damjan Marion
72de626da7 cmake: fix debian preinst script
Change-Id: I312beccb1bb6c02d6356bc9b8247178f11b8feb0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-23 15:58:53 +01:00
Brian Nesbitt
194212c005 Initialize gc_mark_timestamp to zero to avoid garbage values.
Change-Id: Ib3f030e906da9828fdad27e19b9efb0c349b0734
Signed-off-by: Brian Nesbitt <brian.nesbitt@owmobility.com>
2019-01-23 13:49:48 +00:00
Damjan Marion
c0b7a82a92 vppinfra: add CLIB_CACHE_LINE_ROUND() macro
Change-Id: Ic141162acaf39878ab978a997e3f6757d4f7c240
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-23 13:47:07 +00:00
Damjan Marion
78c0ff758f pmalloc: don't iterate if there is no enough free space
Change-Id: I975d46a82e9f884a9cd0ac2bd5f57181695f4124
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-23 12:50:24 +01:00
Mohsin Kazmi
33cc5cfd04 virtio: Add support for logging
Change-Id: Ieadf0a97379ed8b17241e454895c4e5e195dc52f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-23 11:04:20 +00:00
Neale Ranns
71ad6a9bf0 AH encrypt; don't double enqueue nor emit clib_warnings when seq-num max exceeded
Change-Id: Id5b47f78521a0cbedf7bd2c72babfb2ffe9fa67d
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-23 11:03:51 +00:00
Florin Coras
e51a7a0849 lisp: cli for marking local mappings authoritative
Change-Id: I92af6455b50a49de4c912737fcd3b7787dd31de0
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-23 11:03:27 +00:00
Neale Ranns
7425f9289b IP route local and connected
allow routes that are local and connected to be added via the API.
this emulates the addition of a second address in the same subnet
added to an interface.

Change-Id: Ib18a08c26956be9a07b3360664210c8cf6734c84
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-23 11:02:46 +00:00
Florin Coras
72f7782dc5 vcl: generate epoll events only if requested
Change-Id: I6e96607f09c18755eead2c7099e1f546bdae7b88
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-23 11:02:24 +00:00
Paul Vinciguerra
31df49c39f VTL: Test against latest version of syslog_rfc5424_parser.
The latest version moved to lark from pyparsing.  The developers were
kind enough to verify that their new grammar works with our tests.

Change-Id: I260b7e4641f6e283862f706c1e52199e28facc5c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-22 19:58:47 -08:00
Damjan Marion
8340c69ad4 gbp: fix inlining issue
Change-Id: Idbbe5996a5749733a904433b57cba7ab63fdbbcb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 16:08:05 +01:00
Neale Ranns
879d11c250 GBP: Sclass to src-epg conversions
Change-Id: Ica88268fd6a6ee01da7e9219bb4e81f22ed2fd4b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-22 14:37:51 +00:00
Mohsin Kazmi
03ae24b974 virtio: Add api support in vat
Change-Id: I46ec5ba03d61c1fe0aba92f649f43746b5292cc3
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-22 11:06:37 +00:00
Damjan Marion
d734b8db07 cmake: supress 'Set runtime path of' noise while generatig deb packages
Change-Id: Ib8ddce2d56034152a390ca2d3b9784673a77d2e3
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 10:59:26 +00:00
Damjan Marion
691b7d5769 cmake: fix debian package dependencies
Change-Id: Ib27c43a561dd000f8361ff732e76c6297a7ba900
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 10:58:47 +00:00
Damjan Marion
4686d39c33 cmake: place include/ and share/ in /usr (debian packages)
Change-Id: I980b76fb766d5734d4e822409a11ed09a06108a6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 10:58:12 +00:00
Filip Varga
eb978969ad NAT: ipfix call optimization
Change-Id: I84dfdbb727fb765fcaa7fb0099cbdd7ef7dbcc10
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-01-22 10:58:00 +00:00
Paul Vinciguerra
1ec06fffca VTL: VppTestResult: Must implement empty constructor.
Subclasses of (unittest.TestResult|unittest.TextTestResult) must implement an empty constructor.

The standard python library unittests depend on the empty constructor.

Change-Id: I6d1bd2e7d6996d85a9da66cb7d40af0ed3c30e2b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-22 10:12:39 +00:00
Damjan Marion
0655505c01 cmake: don't set SONAME for plugins
Change-Id: I8cd782bb36a4c063afa312002192c254fd51bf5e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 10:04:08 +00:00
Damjan Marion
7ec2fe2dad cmake: package-deb target uses terminal
Change-Id: I81b686cc1911c2ff52ead15c8199bdf9430fe59b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-22 09:34:10 +00:00
Neale Ranns
5e82b050a5 VOM: GBP bridge domain flags
Change-Id: Ib5e4a850e127dda51318ffe82ef2622b980bc947
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-22 07:17:43 +00:00
Paul Vinciguerra
a0d82d6810 VTL: test/lisp.py Fix recursion error.
Accessing priority causes a recursion error.

Change-Id: Ic8cc5c9e198b7da955bc24ea116e9826004cad5e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-22 05:04:36 +00:00
Paul Vinciguerra
6d9e045b00 VTL: test/lisp.py. Add missing method: object_id().
Change-Id: I7609a7b173cbfc1de10b346cc8075bca5a40ef3a
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-22 05:04:15 +00:00
Mohsin Kazmi
d6c15af33f virtio: Native virtio driver
Change-Id: Id7fccf2f805e578fb05032aeb2b649a74c3c0e56
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-21 23:13:20 +01:00
Paul Vinciguerra
8b5d0b8c3a VPP-1549 Add missing counter name.
show interface

              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count
local0                            0     down          0/0/0/0
pg0                               1     down         9000/0/0/0     rx packets                   582
                                                                    rx bytes                   34051
                                                                    tx packets                     4
                                                                    tx bytes                     364
                                                                    drops                        323
                                                                    ip6                            1
                                                                    (nil)                        580

----
show interface
              Name               Idx    State  MTU (L3/IP4/IP6/MPLS)     Counter          Count
local0                            0     down          0/0/0/0
pg0                               1     down         9000/0/0/0     rx packets                   582
                                                                    rx bytes                   34051
                                                                    tx packets                     4
                                                                    tx bytes                     364
                                                                    drops                        323
                                                                    ip6                            1
                                                                    mpls                         580

Change-Id: I3dcde4799764277535baf42f855e4e8bb48c0d02
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-21 19:13:42 +00:00
Florin Coras
0ed24e93b2 ldp: add support for TCP_CONGESTION sockopts (VPP-1550)
Change-Id: I0fcf3385cc4fb96f000b84d5f880f74131c0d60f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-21 18:51:38 +00:00
Andrew Yourtchenko
5e0c5ff9c0 doxygen formatting fix: prevent stray examples appearing in the docs
The 'example' keyword triggers the creation of very out-of-context
example in the "Examples" top level of documentation. Rename the
keyword in the comment so the comment is still readable, but
does not trigger the doxygen.

Change-Id: Iecbdc236918f9178a034817aa6cea7ab6b2c1654
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 1705599efe5eec09c09d2214da776d92d0e4f1cf)
2019-01-21 17:06:15 +00:00
Damjan Marion
903cf399a5 cmake: fix missing install() lines for startup.conf and 80-vpp.conf
Change-Id: I5bbd44fb1ce5923350bcf1a42b1d85131eaa3747
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-21 16:26:28 +00:00
Hongjun Ni
628aad38f8 Fix LB lookup table failed issue
Change-Id: Icd21f456089c72c91a8328f963bf47a8c7725195
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2019-01-21 15:49:53 +00:00
Filip Varga
8254ab87f2 NAT: VPP-1537 IPFIX per worker processing
Change-Id: I428bd25a513eb9fe65bea56572fea8cab7c51681
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-01-21 15:33:22 +00:00
Paul Vinciguerra
b951ad84ab Simplify test/util.py:ppp.
Change-Id: I10596335c7e8f51afc4bcee75132b7a25ebf2a4e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-21 15:33:00 +00:00
Paul Vinciguerra
9889402b79 VTL: Add **kwargs to VppTestRunner constructor.
Subclasses should accept **kwargs to ensure compatibility as the
        interface changes.

https://github.com/python/cpython/blob/master/Lib/unittest/runner.py#L133

Change-Id: Ia64ffd88899d207a5422f066700d2f7f9c77622e
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-21 15:32:51 +00:00
Kingwel Xie
955ee28028 crypto-input: fix crash bug
as this node is refactored in new style with
vlib_buffer_enqueue_to_next, we have to check if the 'count'
is greater than 0. otherise, the next_index would be invalid
then lead to a crash

Change-Id: If7c323b59c02b5c16bd9d77b65c946512cc972c1
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-01-21 03:40:39 +00:00
Damjan Marion
a5c308e68d dpdk: add buffer.h
Change-Id: I998658ad7860b23425444e218ce2e1ec655b885a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 22:59:03 +00:00
Damjan Marion
3235382f23 buffers: remove VLIB_BUFFER_DEFAULT_FREE_LIST macro and fl->n_data_bytes
Change-Id: I0ba5175be077c40556f2a3ce629c5bbcd71e0a81
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 21:01:03 +00:00
Damjan Marion
b67196d823 buffers: remove vlib_buffer_delete_free_list
Change-Id: I5fe01e918b534d1ac1d47f0d7610536f45c3158c
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 19:28:27 +00:00
Damjan Marion
6434430fd5 buffers: don't init metadata, as it is already initialized
Change-Id: Ia083050389853c25b069f0f8286d50d3f4aef527
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 19:24:46 +00:00
Damjan Marion
d50e347763 buffers: keep buffer_main in vlib_main_t
Change-Id: I3bb1d9f83dd08f4b93acd4a281bfec0674e39c2e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 19:23:53 +00:00
Damjan Marion
0a78fa17cb Store numa-noda and cpu-index in vlib_main_t
Change-Id: If88ccd965122b9318a39a8d71b53334cd1fd81e4
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20 19:23:42 +00:00
Damjan Marion
4d2f86a1eb Rework of debian packaging
Change-Id: Ifede85d3af36f3ee6c6f8f92dcf5db0ed8f1bfeb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-20 16:14:24 +00:00
Michal Cmarada
e67c1d8242 fix data_length in IpSec API call (VPP-1548)
Change-Id: Idb2839f6082bd2e052be2bc5417f0ebb43d1c0a6
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-01-20 15:22:18 +00:00
Su Wang
34321b3445 log: bug fix register class compare mismatch
1. Otherwise, the log classes with same prefix, e.g. "abc" and
   "abc-de" will all be registered into log class "abc";
2. Minor improvement for test log help string.

Change-Id: I8d93be5e8fa67db6012198b3442a9e2bddcb744a
Signed-off-by: Su Wang <su.z.wang@ericsson.com>
2019-01-20 14:17:40 +00:00
Jim Thompson
240c238f25 minor fixup in map doc (people -> seconds)
Change-Id: I151c1afac2133ad32ad7779a59fffafee4b9de60
Signed-off-by: Jim Thompson <jim@netgate.com>
2019-01-20 00:44:43 -06:00
Florin Coras
0702554639 tcp: fix debugging without cc stats (VPP-1547)
Change-Id: I376856fcadce570bb555064435f5876eefb2befa
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-20 02:16:06 +00:00
Florin Coras
baee8d4988 session: add support for vrf in session unformat (VPP-1546)
Change-Id: Ic5ba751c2bd2db9af4a21d3db40cc305d1208c30
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-20 01:48:08 +00:00
Steven Luong
ddccf7bcee Fix GCC 8 compiler warnings on strncpy's truncated copy on debian distro
For some reason, GCC 8 in debian is pickier than GCC 8 in ubuntu. It complains
about things in strncpy like this

/home/sluong/vpp/src/vlib/linux/pci.c:485:7: error: ‘strncpy’ output may be
truncated copying 15 bytes from a string of length 255 [-Werror=stringop-truncation]
       strncpy (ifr.ifr_name, e->d_name, sizeof (ifr.ifr_name) - 1);
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sluong/vpp/src/vlib/linux/pci.c: At top level:

It also complains similar things in string_test.c

The fix in pci.c is to convert strncpy to use clib_strncpy
The fix in string_test.c is condiational compile the complained code for GCC 8.

Change-Id: Ic9341ca54ed7407210502197a28283bc42c26662
Signed-off-by: Steven Luong <sluong@cisco.com>
2019-01-18 23:10:11 -08:00
Damjan Marion
36eb7c2142 buffers: remove free-list information from buffer metadata
Change-Id: I6048c6a51efa826ac333f7d15919cb87dd766d74
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-19 00:17:51 +00:00
Damjan Marion
ab9b7ec210 buffers: remove freelist argument from vlib_buffer_add_data
Change-Id: Idb224b807373128b78dc46f177b2d2e0ed288349
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18 23:18:05 +00:00
Damjan Marion
64d557cd67 Add vlib_buffer_copy_indices inline function
This reverts commit 1e59f9ddbdda14591967e1d66eab8623f9ba58e4.

Change-Id: Iae1d372b887e170d28cac2fe4c61325ee5a5894a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18 23:18:00 +00:00
Damjan Marion
847d528825 cmake: print all flags
Change-Id: Ie80ed430d8c9e2b8fe736402d357ac8b190ca6b7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18 22:33:26 +00:00
Damjan Marion
64911369ad Look for plugins in target triplet subdir
Change-Id: I3bab0ab05b4f552ad64392439fb48409ab0ab8c0
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18 22:02:27 +00:00
Damjan Marion
e58041f242 deprecate clib_memcpy64_x4
Storing buffer in local template seems to be better option....

Change-Id: I1a2fdd68cb956f99a5b36d2cd810fc623e089bcf
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-18 22:00:27 +00:00
Florin Coras
865872ebdb tcp: allow data in passive open ack (VPP-1545)
Change-Id: Iceb99d3f8b7029bd1b1e9ebafb1e0b3790c573e4
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-18 12:16:57 -08:00
Paul Vinciguerra
8467919e4e VTL: Fix sphinx doc generation.
Remove unnecessary envvar magic for sphinx builds.
Just provide the proper mock objects.

Change-Id: I151513eb47d2f71cf221651145dbcdc153448772
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-18 19:14:30 +00:00
Paul Vinciguerra
5011c67058 VTL: Use latest version of syslog_rfc5424_parser (0.2.0) released: 190117
Upstream changes not compatable with: https://gerrit.fd.io/r/#/c/16797/

Running tests using custom test runner
Active filters: file=test_syslog.py, class=None, function=None
Adding tests from directory tree /vpp/test
1 out of 914 tests match specified filters
Not running extended tests (some tests will be skipped)
==============================================================================
Syslog Protocol Test Cases
==============================================================================
Syslog Protocol test                                                     OK

==============================================================================
TEST RESULTS:
     Scheduled tests: 1
      Executed tests: 1
        Passed tests: 1
==============================================================================

Test run was successful

Change-Id: I42f86ae3e7f062c0343025ba16bc6e8d2c34ed50
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-18 17:28:03 +00:00
Florin Coras
f9240dc920 vcl: move forking logic to vls
Change-Id: I721542aca139d7908a4f917629856f82cae79962
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-18 15:56:36 +00:00
Paul Vinciguerra
d753209888 VTL: Don't swallow exceptions from syslog_rfc5424_parser
Change-Id: I4e93073ceb7b75476e847ae8d56301770c8b264f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-18 11:27:00 +00:00
Neale Ranns
d870ce4412 VOM: ip-mroute inspect register handler fix
Change-Id: I57689446005da00fa064e2938cfe55a9e1cef9fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-17 20:44:52 +00:00
Damjan Marion
dd3952923a cmake: initial cross-compilation support
Change-Id: Ib9c2aba1eda08a22465441e33553b9b744c79d56
Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-17 20:43:27 +00:00
Florin Coras
58a93e8ef2 tls: preallocate app sessions on connect/accept
Avoid allocating session and possibly reallocating thread session pool
on builtin session rx.

Change-Id: I70e7c604678b44ce8d22603489e247a2c5faa439
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-17 20:31:54 +00:00
Florin Coras
72b04288d9 vcl/session: replicate events for shared sessions
Change-Id: I7fb5402d4a530b5f2ffd9bb5787632099f4b4189
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-17 20:31:39 +00:00
Paul Vinciguerra
4fbc41af4e VTL: Move doc generation and linting to python3.
* running linting/pycodestyle under python3 provides the additional benefit
  of access to the python3 AST.

Change-Id: I659dbd2733471285867be95eec078f7415aa0bcd
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-17 17:28:04 +00:00
Dave Barach
1d052d2ef2 DOC ONLY: wireshark dissector upstreamed
Remove the last remnant from extra/wireshark, update the Sphinx docs

Change-Id: I5886557f17192475c03fcb0dfde581e1e63cea5c
Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-17 09:31:00 -05:00
Simon Zhang
a704f5b2a9 Fix ASSERT usage issue in cryptodev
Change-Id: I764c6565f96e0cb9078503e54e3cf3bb3fd9ff3f
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-17 10:13:30 +00:00
drenfong.wang
6dd5e340ea cmake3 exsit in epel(centos), install epel-release
Change-Id: Ide06350dfb083ec25a52f6ef79f106abd80ccdbc
Signed-off-by: drenfong.wang <drenfong.wang@intel.com>
2019-01-17 09:47:29 +00:00
Stephen Hemminger
29f0a5d25c vmbus: fix strncpy related warnings
The code that was manipulating interface names with ifreq was
causing warnings about possible truncation and non terminated
strings.

These are warnings only since kernel would allow a interface
name > 15 characters anyway.

Change-Id: I794a94fe310b8568403d4e3523c61d53468a6f02
Reported-by: Burt Silverman <burtms@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-01-17 09:19:47 +00:00
Stephen Hemminger
4e8a83183e pci: fix strncpy warnings
Doing strncpy(ifr.ifr_name, s, sizeof(ifr.ifr_name)) will cause
a warning about string truncation with GCC 8 (and other tools).
Fix this by using sizeof(ifr.ifr_name) - 1. Also, there is no
need to manually zero the end of the string since the whole
ifr structure is already zeroed by memset.

Change-Id: I9440d602ecdd9f8592b69bab2e77479146d00d76
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
2019-01-17 09:19:33 +00:00
Simon Zhang
ef080e1f9b fix dpdk cryptodev enable issue
Change-Id: I47d021522cfc92cfb3877449333cbf31022c06f4
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-16 18:32:44 +00:00
Dmitry Vakhrushev
f5641398ae NAT: Fixed issues with dropping reverse packets with output-feature.
Fixed NAT issues with dropping reverse packets in case NAT worked
in 'endpoint-dependent' mode and outside interface has FIB different
from 0 when the output-feature is set.

In this case, the out2in_ed dynamic hash key was not being created
correctly.

Change-Id: I6362967f4b09a375a4606eedaa8e264795b25453
Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2019-01-16 09:44:03 -05:00
1248 changed files with 90503 additions and 51402 deletions

2
.gitignore vendored
View File

@ -31,12 +31,10 @@
# start autotools ignore
autom4te.cache/
config/
Makefile
Makefile.in
aclocal.m4
app.info
compile
config.h
config.log
config.guess
config.sub

View File

@ -2,3 +2,4 @@
host=gerrit.fd.io
port=29418
project=vpp
defaultbranch=stable/1904

View File

@ -121,10 +121,6 @@ VNET TCP Stack
M: Florin Coras <fcoras@cisco.com>
F: src/vnet/tcp
VNET SCTP Stack
M: Marco Varlese <mvarlese@suse.de>
F: src/vnet/sctp
VNET VXLAN
M: John Lo <loj@cisco.com>
F: src/vnet/vxlan/
@ -134,10 +130,6 @@ M: Keith Burns <alagalah@gmail.com>
M: Hongjun Ni <hongjun.ni@intel.com>
F: src/vnet/vxlan-gpe/
VNET GENEVE
M: Marco Varlese <mvarlese@suse.de>
F: src/vnet/geneve/
VNET IPIP
M: Ole Troan <otroan@employees.org>
F: src/vnet/ipip/
@ -199,6 +191,7 @@ F: src/plugins/nsh.am
Test Infrastructure
M: Klement Sekera <ksekera@cisco.com>
M: Paul Vinciguerra <pvinci@vinciconsulting.com>
F: test/
SVM Library
@ -222,13 +215,9 @@ M: Dave Barach <dave@barachs.net>
F: src/tools/perftool/
Binary API Compiler
M: Dave Barach <dave@barachs.net>
M: Ole Troan <otroan@employees.org>
F: src/tools/vppapigen/
Ganglia Telemetry Module
M: Dave Barach <dave@barachs.net>
F: gmod/
THE REST
C: Contact vpp-dev Mailing List <vpp-dev@fd.io>
F: *

View File

@ -64,25 +64,22 @@ DEB_DEPENDS = curl build-essential autoconf automake ccache
DEB_DEPENDS += debhelper dkms git libtool libapr1-dev dh-systemd
DEB_DEPENDS += libconfuse-dev git-review exuberant-ctags cscope pkg-config
DEB_DEPENDS += lcov chrpath autoconf indent clang-format libnuma-dev
DEB_DEPENDS += python-all python-dev python-virtualenv python-pip libffi6 check
DEB_DEPENDS += libboost-all-dev libffi-dev python-ply libmbedtls-dev
DEB_DEPENDS += python-all python3-all python3-setuptools python-dev
DEB_DEPENDS += python-virtualenv python-pip libffi6 check
DEB_DEPENDS += libboost-all-dev libffi-dev python3-ply libmbedtls-dev
DEB_DEPENDS += cmake ninja-build uuid-dev
ifeq ($(OS_VERSION_ID),14.04)
DEB_DEPENDS += openjdk-8-jdk-headless
DEB_DEPENDS += libssl-dev
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8)
DEB_DEPENDS += openjdk-8-jdk-headless
DEB_DEPENDS += libssl-dev
APT_ARGS = -t jessie-backports
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-9)
DEB_DEPENDS += default-jdk-headless
DEB_DEPENDS += libssl1.0-dev
else
DEB_DEPENDS += default-jdk-headless
DEB_DEPENDS += libssl-dev
endif
RPM_DEPENDS = redhat-lsb glibc-static java-1.8.0-openjdk-devel
RPM_DEPENDS = redhat-lsb glibc-static
RPM_DEPENDS += apr-devel
RPM_DEPENDS += numactl-devel
RPM_DEPENDS += check check-devel
@ -90,20 +87,21 @@ RPM_DEPENDS += boost boost-devel
RPM_DEPENDS += selinux-policy selinux-policy-devel
RPM_DEPENDS += ninja-build
RPM_DEPENDS += libuuid-devel
RPM_DEPENDS += mbedtls-devel
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
RPM_DEPENDS += subunit subunit-devel
RPM_DEPENDS += compat-openssl10-devel
RPM_DEPENDS += python2-devel python2-ply
RPM_DEPENDS += python2-devel python34-ply
RPM_DEPENDS += python2-virtualenv
RPM_DEPENDS += mbedtls-devel
RPM_DEPENDS += cmake
RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
else
RPM_DEPENDS += yum-utils
RPM_DEPENDS += openssl-devel
RPM_DEPENDS += python-devel python-ply
RPM_DEPENDS += python-devel python36-ply
RPM_DEPENDS += python36-devel python36-pip
RPM_DEPENDS += python-virtualenv
RPM_DEPENDS += devtoolset-7
RPM_DEPENDS += cmake3
@ -117,9 +115,9 @@ RPM_DEPENDS += chrpath libffi-devel rpm-build
SUSE_NAME= $(shell grep '^NAME=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g' | cut -d' ' -f2)
SUSE_ID= $(shell grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g' | cut -d' ' -f2)
RPM_SUSE_BUILDTOOLS_DEPS = autoconf automake ccache check-devel chrpath
RPM_SUSE_BUILDTOOLS_DEPS += clang cmake indent libtool make ninja python-ply
RPM_SUSE_BUILDTOOLS_DEPS += clang cmake indent libtool make ninja python3-ply
RPM_SUSE_DEVEL_DEPS = glibc-devel-static java-1_8_0-openjdk-devel libnuma-devel
RPM_SUSE_DEVEL_DEPS = glibc-devel-static libnuma-devel
RPM_SUSE_DEVEL_DEPS += libopenssl-devel openssl-devel mbedtls-devel libuuid-devel
RPM_SUSE_PYTHON_DEPS = python-devel python3-devel python-pip python3-pip
@ -130,11 +128,11 @@ RPM_SUSE_PLATFORM_DEPS = distribution-release shadow rpm-build
ifeq ($(OS_ID),opensuse)
ifeq ($(SUSE_NAME),Tumbleweed)
RPM_SUSE_DEVEL_DEPS = libboost_headers1_68_0-devel-1.68.0 libboost_thread1_68_0-devel-1.68.0 gcc
RPM_SUSE_PYTHON_DEPS += python2-ply python2-virtualenv
RPM_SUSE_PYTHON_DEPS += python3-ply python2-virtualenv
endif
ifeq ($(SUSE_ID),15.0)
RPM_SUSE_DEVEL_DEPS = libboost_headers1_68_0-devel-1.68.0 libboost_thread1_68_0-devel-1.68.0 gcc6
RPM_SUSE_PYTHON_DEPS += python2-ply python2-virtualenv
RPM_SUSE_DEVEL_DEPS += libboost_headers-devel libboost_thread-devel gcc
RPM_SUSE_PYTHON_DEPS += python3-ply python2-virtualenv
else
RPM_SUSE_DEVEL_DEPS += libboost_headers1_68_0-devel-1.68.0 gcc6
RPM_SUSE_PYTHON_DEPS += python-virtualenv
@ -143,8 +141,8 @@ endif
ifeq ($(OS_ID),opensuse-leap)
ifeq ($(SUSE_ID),15.0)
RPM_SUSE_DEVEL_DEPS = libboost_headers-devel libboost_thread-devel gcc6
RPM_SUSE_PYTHON_DEPS += python2-ply python2-virtualenv
RPM_SUSE_DEVEL_DEPS += libboost_headers-devel libboost_thread-devel gcc git curl
RPM_SUSE_PYTHON_DEPS += python3-ply python2-virtualenv
endif
endif
@ -196,6 +194,7 @@ help:
@echo " test-debug - build and run (basic) functional tests (debug build)"
@echo " test-all - build and run (all) functional tests"
@echo " test-all-debug - build and run (all) functional tests (debug build)"
@echo " test-gcov - build and run functional tests (gcov build)"
@echo " test-shell - enter shell with test environment"
@echo " test-shell-debug - enter shell with test environment (debug build)"
@echo " test-wipe - wipe files generated by unit tests"
@ -204,6 +203,9 @@ help:
@echo " test-help - show help on test framework"
@echo " run-vat - run vpp-api-test tool"
@echo " pkg-deb - build DEB packages"
@echo " pkg-deb-debug - build DEB debug packages"
@echo " vom-pkg-deb - build vom DEB packages"
@echo " vom-pkg-deb-debug - build vom DEB debug packages"
@echo " pkg-rpm - build RPM packages"
@echo " install-ext-deps - install external development dependencies"
@echo " ctags - (re)generate ctags database"
@ -284,7 +286,6 @@ install-dep:
ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
ifeq ($(OS_VERSION_ID),14.04)
@sudo -E apt-get $(CONFIRM) $(FORCE) install software-properties-common
@sudo -E add-apt-repository ppa:openjdk-r/ppa $(CONFIRM)
endif
ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-8)
@grep -q jessie-backports /etc/apt/sources.list /etc/apt/sources.list.d/* 2> /dev/null \
@ -295,8 +296,11 @@ endif
else ifneq ("$(wildcard /etc/redhat-release)","")
ifeq ($(OS_ID),rhel)
@sudo -E yum-config-manager --enable rhel-server-rhscl-7-rpms
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
@sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
else ifeq ($(OS_ID),centos)
@sudo -E yum install $(CONFIRM) centos-release-scl-rh
@sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
@sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
@ -399,13 +403,16 @@ test:
test-debug:
$(call test,vpp,vpp_debug,test)
test-gcov:
$(call test,vpp,vpp_gcov,test)
test-all:
$(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp vom-install japi-install,)
$(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp vom-install,)
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp,test)
test-all-debug:
$(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install japi-install,)
$(if $(filter-out $(3),retest),make -C $(BR) PLATFORM=vpp TAG=vpp_debug vom-install,)
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp_debug,test)
@ -431,6 +438,7 @@ test-wipe-doc:
@make -C test wipe-doc
test-cov:
@make -C $(BR) PLATFORM=vpp TAG=vpp_gcov vom-install japi-install
$(eval EXTENDED_TESTS=yes)
$(call test,vpp,vpp_gcov,cov)
@ -489,7 +497,18 @@ run-vat:
@$(SUDO) $(BR)/install-$(PLATFORM)_debug-native/vpp/bin/vpp_api_test
pkg-deb:
$(call make,$(PLATFORM),install-deb)
$(call make,$(PLATFORM),vpp-package-deb)
vom-pkg-deb:
$(call make,$(PLATFORM),vpp-package-deb)
$(call make,$(PLATFORM),vom-package-deb)
pkg-deb-debug:
$(call make,$(PLATFORM)_debug,vpp-package-deb)
vom-pkg-deb-debug:
$(call make,$(PLATFORM)_debug,vpp-package-deb)
$(call make,$(PLATFORM)_debug,vom-package-deb)
pkg-rpm: dist
make -C extras/rpm
@ -565,8 +584,6 @@ verify: install-dep $(BR)/.deps.ok install-ext-deps
@make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install
$(call banner,"Building libmemif")
@make -C build-root PLATFORM=vpp TAG=vpp libmemif-install
$(call banner,"Building JAPI")
@make -C build-root PLATFORM=vpp TAG=vpp japi-install
$(call banner,"Building VOM")
@make -C build-root PLATFORM=vpp TAG=vpp vom-install
$(call banner,"Building $(PKG) packages")
@ -575,5 +592,3 @@ ifeq ($(OS_ID)-$(OS_VERSION_ID),ubuntu-18.04)
$(call banner,"Running tests")
@make COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test
endif

File diff suppressed because it is too large Load Diff

View File

@ -29,9 +29,9 @@ ifneq ($(DPDK_MLX5_PMD),)
DPDK_MAKE_ARGS += DPDK_MLX5_PMD=y
endif
DPDK_MLX5_PMD_DLOPEN_DEPS=$(strip $($(PLATFORM)_uses_dpdk_mlx5_dlopen_deps))
ifneq ($(DPDK_MLX5_PMD_DLOPEN_DEPS),)
DPDK_MAKE_ARGS += DPDK_MLX5_PMD_DLOPEN_DEPS=y
DPDK_MLX_IBVERBS_DLOPEN=$(strip $($(PLATFORM)_uses_dpdk_ibverbs_link_dlopen))
ifneq ($(DPDK_MLX_IBVERBS_DLOPEN),)
DPDK_MAKE_ARGS += DPDK_MLX_IBVERBS_DLOPEN=y
endif
DPDK_MLX4_PMD=$(strip $($(PLATFORM)_uses_dpdk_mlx4_pmd))

View File

@ -1,44 +0,0 @@
# Copyright (c) 2017-2018 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
japi_configure_depend = vpp-install
japi_source = extras
japi_configure_subdir = japi
ifneq ($(shell which cmake3),)
CMAKE?=cmake3
else
CMAKE?=cmake
endif
japi_cmake_args ?=
japi_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
japi_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
japi_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
japi_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
ifeq ("$(V)","1")
japi_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
endif
#Use devtoolset on centos 7
ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
japi_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
endif
japi_configure = \
cd $(PACKAGE_BUILD_DIR) && \
$(CMAKE) -G Ninja $(japi_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
japi_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
japi_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install

View File

@ -39,3 +39,7 @@ vom_configure = \
vom_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
vom_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install
vom-package-deb: vom-install
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vom -- package
@find $(PACKAGE_BUILD_DIR)/vom -name '*.deb' -exec mv {} $(CURDIR) \;

View File

@ -44,3 +44,10 @@ vpp_configure = \
#vpp_make_args = --no-print-directory
vpp_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR)
vpp_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install | grep -v 'Set runtime path'
vpp-package-deb: vpp-install
@$(CMAKE) --build $(PACKAGE_BUILD_DIR)/vpp -- package-deb
@find $(PACKAGE_BUILD_DIR) \
-maxdepth 1 \
\( -name '*.changes' -o -name '*.deb' -o -name '*.buildinfo' \) \
-exec mv {} $(CURDIR) \;

View File

@ -15,86 +15,3 @@
$(foreach d,$(SOURCE_PATH_BUILD_DATA_DIRS), \
$(eval -include $(d)/platforms/*.mk))
.PHONY: install-deb
install-deb: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
@$(BUILD_ENV) ; \
set -eu$(BUILD_DEBUG) ; \
$(MAKE) -C $(MU_BUILD_ROOT_DIR) \
$(patsubst %,%-install, \
$(ROOT_PACKAGES)) || exit 1; \
\
: generate file manifests ; \
find $(INSTALL_PREFIX)$(ARCH)/*/bin -type f -print \
| sed -e 's:.*:../& /usr/bin:' | grep -v vppapigen \
> deb/debian/vpp.install ; \
\
: core api definitions ; \
./scripts/find-api-core-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp.install ; \
\
: need symbolic links in the lib pkg ; \
find $(INSTALL_PREFIX)$(ARCH)/*/lib* \( -type f -o -type l \) \
-print | egrep -e '*\.so\.*\.*\.*' \
| grep -v plugins\/ \
| sed -e 's:.*:../& /usr/lib/$(MACHINE)-linux-gnu:' \
> deb/debian/vpp-lib.install ; \
\
: vnet api definitions ; \
./scripts/find-api-lib-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-lib.install ; \
\
: dev package ; \
./scripts/find-dev-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-dev.install ; \
\
: plugins package ; \
./scripts/find-plugins-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-plugins.install ; \
\
: vpp-api-lua package ; \
./scripts/find-vpp-api-lua-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-api-lua.install ; \
\
: vpp-api-java package ; \
./scripts/find-vpp-api-java-contents $(INSTALL_PREFIX)$(ARCH) \
deb/debian/vpp-api-java.install ; \
\
: bin package needs startup config ; \
echo ../../src/vpp/conf/startup.conf /etc/vpp \
>> deb/debian/vpp.install ; \
\
: and sysctl config ; \
echo ../../src/vpp/conf/80-vpp.conf /etc/sysctl.d \
>> deb/debian/vpp.install ; \
\
: bash completion for vppctl ; \
echo ../../src/scripts/vppctl_completion /etc/bash_completion.d \
>> deb/debian/vpp.install ; \
\
: add log directory ; \
echo /var/log/vpp/ \
>> deb/debian/vpp.dirs ; \
\
: dev package needs a couple of additions ; \
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/bin/vppapigen /usr/bin \
>> deb/debian/vpp-dev.install ; \
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_c.py /usr/share/vpp \
>> deb/debian/vpp-dev.install ; \
echo ../$(INSTALL_PREFIX)$(ARCH)/vpp/share/vpp/vppapigen_json.py /usr/share/vpp \
>> deb/debian/vpp-dev.install ; \
echo ../../extras/japi/java/jvpp/gen/jvpp_gen.py /usr/bin \
>> deb/debian/vpp-dev.install ; \
for i in $$(ls ../src/vpp-api/java/jvpp/gen/jvppgen/*.py); do \
echo ../$${i} /usr/lib/python2.7/dist-packages/jvppgen \
>> deb/debian/vpp-dev.install; \
done; \
\
: generate changelog; \
./scripts/generate-deb-changelog \
\
: Go fabricate the actual Debian packages ; \
( \
cd deb && \
dpkg-buildpackage -us -uc -b \
)

View File

@ -19,7 +19,7 @@ arm32_uses_dpdk = yes
arm32_uses_openssl = no
arm32_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \
jvpp gmod
gmod
vlib_configure_args_arm32 = --with-pre-data=128
vnet_configure_args_arm32 = --with-dpdk --without-libssl

View File

@ -20,7 +20,7 @@ ifeq ($(TARGET_PLATFORM),thunderx)
vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
endif
vpp_root_packages = vpp vom japi
vpp_root_packages = vpp vom
vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
-fstack-protector-all -fPIC -Werror
@ -31,7 +31,7 @@ vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 \
vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
vpp_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror -pie -Wl,-z,now
vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror -pie
vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror
vpp_clang_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror

View File

@ -625,6 +625,10 @@ configure_check_timestamp = \
mkdir -p $(PACKAGE_INSTALL_DIR) ; \
conf="$(TIMESTAMP_DIR)/$(CONFIGURE_TIMESTAMP)" ; \
dirs="$(call package_mk_fn,$(PACKAGE)) \
$(SOURCE_PATH_BUILD_DATA_DIRS)/platforms/$(PLATFORM).mk \
$(wildcard $(call find_source_fn,$(PACKAGE_SOURCE))/cmake) \
$(shell find $(call find_source_fn,$(PACKAGE_SOURCE)) \
-name CMakeLists.txt) \
$(wildcard $(call find_source_fn, \
$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)/configure) \
$(MU_BUILD_ROOT_DIR)/config.site" ; \

View File

@ -1,14 +0,0 @@
changelog
files
*debhelper*
*.substvars
*.install
*.dirs
vpp/
vpp-dev/
vpp-lib/
vpp-dbg/
vppctl/
vpp-api-lua/
vpp-api-java/
vpp-api-python/

View File

@ -1,56 +0,0 @@
Building DEB packages
=====================
REQUIREMENTS:
You will need a working Internet connection to execute the build, because
the build procedure for the included "dpdk" project attempts to contact the
Internet host "dpdk.org".
There are three main parts to the process:
a) Stage the source tree so that dpkg-source will recognize its organization
and create a valid DSC source package for you;
b) Ensure that the tools required for building DEB packages are installed;
and
c) Launch the build.
1) Create, or have on hand, a local clone of the git repository, with no
untracked files or local modifications pending, up-to-date with the branch or
commit reference from which you wish to construct the source release.
The branch and repository origins will differ based on local conditions.
Example:
$ git clone -b master ssh://git@example.com:7999/~username/open-vpp
("-b master" can be omitted since master is the default branch)
2) Rename the checkout with a version number embedded in its name as is
conventional for code releases. Again, your version number may vary.
Example:
$ mv open-vpp open-vpp-0.0.0
3) Ensure that the dpkg-buildpackage program is installed.
E.g.,
# apt-get install dpkg-dev
4) From the PARENT directory of the debian/ directory, run:
$ cd open-vpp-0.0.0
$ dpkg-buildpackage -I .git -us -uc
(The -us and -uc flags omit GPG signatures from the .dsc and .changes files,
respectively. You can add them later, or if you are preparing a signed release
and have the signing key on hand, leave off the flags.)
5) Get rid of the source directory; you now either have a source package with
which you can re-create it at any time, or there were problems with the build,
and you should go back to your git checkout to fix them.
$ rm -r open-vpp-0.0.0
END
vim:set ai et sw=4 ts=4 tw=80:

View File

@ -1 +0,0 @@
9

View File

@ -1,67 +0,0 @@
Source: vpp
Section: net
Priority: extra
Maintainer: Cisco OpenVPP Packaging Team <bogus.address@cisco.com>
Build-Depends: debhelper (>= 9), dh-systemd, dh-python, chrpath, python-all
Standards-Version: 3.9.4
Package: vpp
Architecture: any
Depends: vpp-lib (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}
Description: Vector Packet Processing--executables
This package provides VPP executables: vpp, vpp_api_test, vpp_json_test
vpp - the vector packet engine
vpp_api_test - vector packet engine API test tool
vpp_json_test - vector packet engine JSON test tool
Package: vpp-dbg
Architecture: any
Depends: ${misc:Depends}
Description: Vector Packet Processing--debug symbols
Package: vpp-dev
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}
Description: Vector Packet Processing--development support
This package contains development support files for the VPP libraries
.
Package: vpp-lib
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Vector Packet Processing--runtime libraries
This package contains the VPP shared libraries, including:
.
vppinfra - foundation library supporting vectors, hashes, bitmaps, pools, and string formatting.
svm - vm library
vlib - vector processing library
vlib-api - binary API library
vnet - network stack library
Package: vpp-plugins
Architecture: any
Depends: vpp (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
Description: Vector Packet Processing--runtime plugins
This package contains VPP plugins
.
Package: vpp-api-lua
Architecture: any
Depends: ${misc:Depends}, vpp (= ${source:Version})
Description: VPP LUA API bindings
This package contains VPP lua api bindings
.
Package: vpp-api-java
Architecture: any
Depends: ${misc:Depends}, vpp (= ${source:Version})
Description: VPP Java API bindings
This package contains VPP java api bindings
.
Package: vpp-api-python
Architecture: any
Depends: ${python:Depends}, ${misc:Depends}, vpp (= ${source:Version})
Description: VPP Python API bindings
This package contains VPP python api bindings
.

View File

@ -1,38 +0,0 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
DH_VERBOSE = 1
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
export PYBUILD_NAME = vpp-api-python
export PYBUILD_DIR = ../../src/vpp-api/python
export PYBUILD_DESTDIR_python2=debian/vpp-api-python/
export PYBUILD_DISABLE_python2=test
export PYBUILD_SYSTEM=distutils
# main packaging script based on dh7 syntax
%:
dh $@ --with systemd,python2 --buildsystem=pybuild
override_dh_install:
dh_install --exclude .git
../scripts/remove-rpath .
override_dh_shlibdeps:
@dh_shlibdeps 2>&1 \
| { grep -v -e "probably a plugin" -e "similar warnings have been skipped" || true; }
override_dh_strip:
dh_strip --dbg-package=vpp-dbg

View File

@ -1 +0,0 @@
3.0 (native)

View File

@ -1,53 +0,0 @@
To run vpp with the debug shell:
sudo vpp unix interactive
which will result in a prompt that looks like:
DBGvpd#
To give it a spin, we can create a tap interface and try a simple ping
(with trace).
To create the tap:
DBGvpd# tap connect foobar
Created tap-0 for Linux tap 'foobar'
DBGvpd# show int
To assign it an ip address (and 'up' the interface):
DBGvpd# set int ip address tap-0 192.168.1.1/24
DBGvpd# set int state tap-0 up
To turn on packet tracing for the tap interface:
DBGvpd# trace add tapcli-rx 10
Now, to set up and try the other end from the unix prompt:
vagrant@vagrant-ubuntu-trusty-64:~$ sudo ip addr add 192.168.1.2/24 dev foobar
vagrant@vagrant-ubuntu-trusty-64:~$ ping -c 3 192.168.1.1
To look at the trace, back in the vpp CLI:
DBGvpd# show trace
And to stop tracing:
DBGvpd# clear trace
Other fun things to look at:
The vlib packet processing graph:
DBGvpd# show vlib graph
which will produce output like:
Name Next Previous
ip4-icmp-input error-punt [0] ip4-local
ip4-icmp-echo-request [1]
vpe-icmp4-oam [2]
To read this, the first column (Name) is the name of the node.
The second column (Next) is the name of the children of that node.
The third column (Previous) is the name of the parents of this node.
END

View File

@ -1,20 +0,0 @@
description "vector packet processing engine"
author "Cisco Systems, Inc <vpp-dev@lists.fd.io>"
manual
respawn
pre-start script
# should be there via dkms, but if not, start anyway
modprobe uio_pci_generic || true
end script
script
exec vpp -c /etc/vpp/startup.conf
end script
post-stop script
rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api || true
end script

View File

@ -1,16 +0,0 @@
#!/bin/sh
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
echo latest

View File

@ -1,19 +0,0 @@
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
for i in $(find ${1}/vnet -name *.api.json -type f -print); do
echo ../${i} /usr/share/vpp/api/ >> ${2}
done

View File

@ -1,49 +0,0 @@
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# includes
paths=`find $1/*/include -type f -print | grep -v '/dpdk/include/'`
rm -f $2
for path in $paths
do
relpath=`echo $path | sed -e 's:.*/include/::'`
dir=`dirname $relpath`
if [ $dir = "." ] ; then
echo ../$path /usr/include >> $2
else
echo ../$path /usr/include/$dir >> $2
fi
done
# Perf monitor .json tarball
for i in $(find ${1}/vpp/share/vpp/plugins/perfmon -name *.tar.xz -type f -print); do
echo ../${i} /usr/share/vpp/plugins/perfmon >> ${2}
done
# sample plugin
paths=`(cd ..; find src/examples/sample-plugin -type f -print | grep -v autom4te)`
for path in $paths
do
relpath=`echo $path | sed -e 's:.*src/examples/::'`
dir=`dirname $relpath`
if [ $dir = "sample-plugin" ] ; then
echo ../../$path /usr/share/doc/vpp/examples/sample-plugin/ >> $2
else
echo ../../$path \
/usr/share/doc/vpp/examples/$dir >> $2
fi
done

View File

@ -1,50 +0,0 @@
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
CHANGELOG=deb/debian/changelog
DIST=unstable
FIRST=1
print_changelog_item() {
DATE=$(git log -1 --format=%cD ${TAG})
DEBFULLNAME=$(git log -1 --format=%an ${TAG})
DEBEMAIL=$(git log -1 --format=%ae ${TAG})
if [ ${FIRST} = 0 ]; then echo >> ${CHANGELOG}; fi
FIRST=0
echo "vpp (${VER}) ${DIST}; urgency=low" >> ${CHANGELOG}
echo >> ${CHANGELOG}
echo "${DESC}" >> ${CHANGELOG}
echo >> ${CHANGELOG}
echo " -- ${DEBFULLNAME} <${DEBEMAIL}> ${DATE}" >> ${CHANGELOG}
}
VER=$(scripts/version)
TAG=HEAD
ADDS=$(echo ${VER} | sed -e 's/~.*//'| cut -s -d- -f2)
rm -f ${CHANGELOG}
if [ -n "${ADDS}" ]; then
DESC=" * includes ${ADDS} commits after $(echo ${VER}| cut -d- -f1) release"
print_changelog_item
fi
for TAG in $(git tag -l 'v[0-9][0-9].[0-9][0-9]' | sort -r ); do
VER=$(echo ${TAG}| sed -e 's/^v//')
DESC=$(git tag -l -n20 ${TAG} | tail -n+2 | sed -e 's/^ */ /')
print_changelog_item
done

View File

@ -1,37 +0,0 @@
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if [ -z $1 ]; then
echo "Please specify path"
exit 1
fi
which chrpath &> /dev/null
if [ $? -ne 0 ] ; then
echo "Please install chrpath tool"
exit 1
fi
libs=$(find $1 -type f -name \*.so\*)
execs=$(find $1 -type f -path \*/bin/\* )
for i in $libs $execs; do
chrpath $i 2> /dev/null | grep -q build-root
if [ $? -eq 0 ] ; then
chrpath -d $i
fi
done

View File

@ -0,0 +1 @@
../../src/scripts/remove-rpath

View File

@ -19,7 +19,7 @@ MAKE ?= make
MAKE_ARGS ?= -j
BUILD_DIR ?= $(CURDIR)/_build
INSTALL_DIR ?= $(CURDIR)/_install
PKG_VERSION ?= $(shell git describe --abbrev=0 | cut -d- -f1 | cut -dv -f2)
PKG_VERSION ?= $(shell git describe --abbrev=0 | cut -d- -f1 | cut -dv -f2 | cut -d. -f1,2)
PKG_SUFFIX ?= $(shell git log --oneline v$(PKG_VERSION)-rc0.. . | wc -l)
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
$(shell grep -c ^processor /proc/cpuinfo), 2)
@ -27,15 +27,29 @@ JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
B := $(BUILD_DIR)
I := $(INSTALL_DIR)
ifneq ($(shell which cmake3),)
CMAKE?=cmake3
else
CMAKE?=cmake
endif
include packages.mk
include packages/nasm.mk
include packages/ipsec-mb.mk
include packages/quicly.mk
include packages/dpdk.mk
include packages/rdma-core.mk
.PHONY: clean
clean:
@rm -rf $(B) $(I)
.PHONY: install
install: dpdk-install rdma-core-install quicly-install
.PHONY: config
config: dpdk-config rdma-core-config
##############################################################################
# .deb packaging
##############################################################################
@ -62,11 +76,6 @@ build-deb: $(DEV_DEB)
install-deb:
ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX))
@echo "=========================================================="
@echo " Out of date vpp-ext-deps package installed."
@echo " Installed: $(INSTALLED_VER)"
@echo " Needed: $(DEB_VER)-$(PKG_SUFFIX)"
@echo "=========================================================="
@make $(DEV_DEB)
@sudo dpkg -i $(DEV_DEB)
else
@ -78,9 +87,9 @@ endif
check-deb:
ifneq ($(INSTALLED_VER),$(DEB_VER)-$(PKG_SUFFIX))
@echo "=========================================================="
@echo " Outdated DPDK package detected:"
@echo " Installed: vpp-ext-deps $(INSTALLED_VER)"
@echo " Current: vpp-ext-deps $(DEB_VER)-$(PKG_SUFFIX)"
@echo " Out of date vpp-ext-deps package installed."
@echo " Installed: $(INSTALLED_VER)"
@echo " Needed: $(DEB_VER)-$(PKG_SUFFIX)"
@echo ""
@echo " Please upgrade by invoking 'make install-ext-deps'"
@echo " from the top level directory."
@ -115,16 +124,16 @@ ifneq ($(INSTALLED_RPM_VER),$(RPM_VER)-$(PKG_SUFFIX))
sudo rpm -Uih --force $(DEV_RPM)
else
@echo "=========================================================="
@echo " Up-to-date DPDK package already installed"
@echo " Up-to-date vpp-ext-deps package already installed"
@echo "=========================================================="
endif
check-rpm:
ifneq ($(INSTALLED_RPM_VER),$(RPM_VER)-$(PKG_SUFFIX))
@echo "=========================================================="
@echo " Outdated DPDK package detected:"
@echo " Installed: vpp-ext-deps $(INSTALLED_RPM_VER)"
@echo " Current: vpp-ext-deps $(RPM_VER)-$(PKG_SUFFIX)"
@echo " Out of date vpp-ext-deps package installed."
@echo " Installed: $(INSTALLED_RPM_VER)"
@echo " Needed: $(RPM_VER)-$(PKG_SUFFIX)"
@echo ""
@echo " Please upgrade by invoking 'make install-ext-deps'"
@echo " from the top level directory."
@ -140,9 +149,9 @@ endif
ebuild-build:
ifeq ($(INSTALLED_VER)$(INSTALLED_RPM_VER),)
@echo "=========================================================="
@echo "Building DPDK from source. Consider installing development"
@echo "package by invoking 'make install-ext-deps' from the"
@echo "top level directory"
@echo "Building vpp-ext-deps from source. Consider installing"
@echo "development package by invoking 'make install-ext-deps'"
@echo "from the top level directory"
@echo "=========================================================="
make config
else

View File

@ -20,7 +20,6 @@ override_dh_clean:
make $(MAKE_ARGS) clean
override_dh_auto_configure:
make $(MAKE_ARGS) config
override_dh_install:
make $(MAKE_ARGS) install

View File

@ -31,12 +31,12 @@ $1_install_log ?= $(B)/$1.install.log
downloads/$($1_tarball):
mkdir -p downloads
@if [ -e $(DL_CACHE_DIR)/$($1_tarball) ] ; \
then cp $(DL_CACHE_DIR)/$($1_tarball) downloads/ ; \
then cp $(DL_CACHE_DIR)/$($1_tarball) $$@ ; \
else \
echo "Downloading $($1_url)" ; \
curl -o downloads/$($1_tarball) -LO $($1_url) ; \
curl -o $$@ -LO $($1_url) ; \
fi
@rm -f $(B)/.download.ok
@rm -f $(B)/.$1.download.ok
$(B)/.$1.download.ok: downloads/$($1_tarball)
@mkdir -p $(B)

Some files were not shown because too many files have changed in this diff Show More