vpp.git
5 years agoIPSEC: move SA counters into the stats segment 31/17631/2
Neale Ranns [Sun, 17 Feb 2019 18:04:27 +0000 (18:04 +0000)]
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>
5 years agoNAT44: fix snat_get_worker_out2in_cb (VPP-1536) 39/17639/1
Matus Fabian [Mon, 18 Feb 2019 09:54:16 +0000 (01:54 -0800)]
NAT44: fix snat_get_worker_out2in_cb (VPP-1536)

Change-Id: I9c562f8e3407ca60a4412a162015fa505b7590b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agotcp: fix handling of retransmitted syns 28/17628/4
Florin Coras [Sat, 16 Feb 2019 02:20:58 +0000 (18:20 -0800)]
tcp: fix handling of retransmitted syns

Change-Id: I88fdeb0ca56d3a5d9c0f36def13c6de8142f59f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoOptimize ip6-local 23/17623/2
Benoît Ganne [Thu, 14 Feb 2019 14:32:45 +0000 (15:32 +0100)]
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>
5 years agoFix connexion segfault in session api affecting tcp_echo 07/17607/3
Nathan Skrzypczak [Thu, 14 Feb 2019 12:24:43 +0000 (13:24 +0100)]
Fix connexion segfault in session api affecting tcp_echo

Change-Id: If6d45f7f6e6dab70eecd6ec7241126968a34ad6b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
5 years agodpdk-ipsec: store buffer index into crypto-op private 47/17547/5
Kingwel Xie [Wed, 13 Feb 2019 07:48:41 +0000 (02:48 -0500)]
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>
5 years ago19.01 Release Notes 92/17192/4
Andrew Yourtchenko [Sun, 20 Jan 2019 18:32:44 +0000 (19:32 +0100)]
19.01 Release Notes

Change-Id: I43fd3aac9039c6d551fac8607374a0ebfdc6f74a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 67d9475ae3586e69356f939b36aefe8d6a6f0009)

5 years agoFIB: pass a copy the walk context 12/17612/2
Neale Ranns [Thu, 14 Feb 2019 14:58:40 +0000 (14:58 +0000)]
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>
5 years agomake test: make test-ext working again 09/17409/2
Klement Sekera [Thu, 7 Feb 2019 18:56:50 +0000 (19:56 +0100)]
make test: make test-ext working again

Change-Id: Ib30d0c6b8794488119f258f7617fce494aa28f1f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agodeb-pkg: Add libvom package support 39/17539/3
Mohsin Kazmi [Tue, 12 Feb 2019 16:24:17 +0000 (17:24 +0100)]
deb-pkg: Add libvom package support

Change-Id: I370a5198ea5b768d8c505679662a19797bd2740d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoipsec: memory leak fixup 12/17512/2
Kingwel Xie [Tue, 12 Feb 2019 12:47:33 +0000 (04:47 -0800)]
ipsec: memory leak fixup

Change-Id: Ib2ad196bec1005d6678589d5b5c199b8a541c720
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agoAdd -fno-common compile option 54/17554/4
Benoît Ganne [Tue, 12 Feb 2019 12:35:08 +0000 (13:35 +0100)]
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>
5 years agobuffer: bug fix vlib_buffer_free_inline 00/17600/3
Lollita Liu [Thu, 14 Feb 2019 10:02:44 +0000 (05:02 -0500)]
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>
5 years agomake install-ext-deps broken. 21/17521/2
Paul Vinciguerra [Tue, 12 Feb 2019 13:45:01 +0000 (05:45 -0800)]
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>
5 years agoip6: convert code to new multiarch 75/17575/1
Damjan Marion [Wed, 13 Feb 2019 18:30:09 +0000 (19:30 +0100)]
ip6: convert code to new multiarch

Change-Id: Idd09b5d0597336e4f2028113cae76c94fd1c5427
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovom: Add support for vtr in xconnect 44/17544/4
Mohsin Kazmi [Tue, 12 Feb 2019 20:56:49 +0000 (21:56 +0100)]
vom: Add support for vtr in xconnect

Change-Id: Ib168a1d20c4609e4e64f472f75e9463161638e3e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoIPSEC: restack SAs on backend change 57/17557/1
Neale Ranns [Wed, 13 Feb 2019 10:08:06 +0000 (02:08 -0800)]
IPSEC: restack SAs on backend change

Change-Id: I5852ca02d684fa9d59e1690efcaca06371c5faff
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoVOM: neighbour API flags 25/17525/2
Neale Ranns [Tue, 12 Feb 2019 14:18:30 +0000 (06:18 -0800)]
VOM: neighbour API flags

Change-Id: Ia664cd4c77f1c5b4bc46c5e191bb57704b3ccc46
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agofix assert failure 78/17478/2
Dave Barach [Mon, 11 Feb 2019 23:44:18 +0000 (18:44 -0500)]
fix assert failure

Change-Id: I9a2e8ea2bf334dd8dabf3d25abbcc91087a43882
Signed-off-by: Dave Barach <dbarach@cisco.com>
5 years agoipsec: cli bug fix 07/17507/1
Kingwel Xie [Tue, 12 Feb 2019 11:45:08 +0000 (06:45 -0500)]
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>
5 years agoIPSEC-tun: The tunnel DB uses the network order SPI to save the byte swap in the DP 62/17462/2
Neale Ranns [Mon, 11 Feb 2019 11:24:07 +0000 (11:24 +0000)]
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>
5 years agosession: add config for evt qs segment size 41/17441/2
Florin Coras [Sat, 9 Feb 2019 21:51:25 +0000 (13:51 -0800)]
session: add config for evt qs segment size

Change-Id: I286d0d53a9ef2d6e28cd301eae25fc119d491f22
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: cleanup application interface 38/17438/8
Florin Coras [Sat, 9 Feb 2019 02:27:29 +0000 (18:27 -0800)]
session: cleanup application interface

Change-Id: I89d240753b3f3c5e984aa303a7c8fa35fa59bf7f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoipsec: multi-arch, next-node-index cleanup 85/17285/3
Kingwel Xie [Mon, 4 Feb 2019 09:49:29 +0000 (01:49 -0800)]
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>
5 years agobuffers: fix typo 42/17442/1
Damjan Marion [Sat, 9 Feb 2019 22:29:26 +0000 (23:29 +0100)]
buffers: fix typo

Change-Id: I4e836244409c98739a13092ee252542a2c5fe259
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agotls: move test certificates to separate header file 12/17412/7
Florin Coras [Thu, 7 Feb 2019 23:34:52 +0000 (15:34 -0800)]
tls: move test certificates to separate header file

Change-Id: I543cb78e268d7a4a7fba590d305351ec79f4e4da
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: refactor listen logic 34/17334/14
Florin Coras [Wed, 6 Feb 2019 04:55:11 +0000 (20:55 -0800)]
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>
5 years agotcp: fix fib_index for v6 ll packets 07/17407/2
Florin Coras [Thu, 7 Feb 2019 18:31:08 +0000 (10:31 -0800)]
tcp: fix fib_index for v6 ll packets

Change-Id: Ie69bdb9860d61f2c599c0c80b0ea80dfdfe178bd
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIPSEC: remove unused members of main struct 69/17369/2
Neale Ranns [Thu, 7 Feb 2019 07:00:16 +0000 (23:00 -0800)]
IPSEC: remove unused members of main struct

Change-Id: Ib55deb620f4f58cac07da7cb69418a3a30ff3136
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIPSEC: no second lookup after tunnel encap 36/17336/5
Neale Ranns [Wed, 6 Feb 2019 09:41:05 +0000 (01:41 -0800)]
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>
5 years agoFix parsing overflow in unformat_mac_address_t() 79/17379/2
Benoît Ganne [Thu, 7 Feb 2019 12:21:42 +0000 (13:21 +0100)]
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: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>
5 years agotcp: fix reset sending in syn-sent 70/17370/1
Florin Coras [Thu, 7 Feb 2019 08:15:53 +0000 (00:15 -0800)]
tcp: fix reset sending in syn-sent

Change-Id: I468b1015bca5f95b162fb49e904aa4e4d38db75e
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agobuffers: make buffer data size configurable from startup config 41/17341/3
Damjan Marion [Wed, 6 Feb 2019 13:22:32 +0000 (14:22 +0100)]
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>
5 years agobuffers: improve buffer init performance 50/17350/2
Damjan Marion [Wed, 6 Feb 2019 16:56:57 +0000 (17:56 +0100)]
buffers: improve buffer init performance

Change-Id: Ib59a3c32af754a898ade17c42e60a88f48b797ff
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovirtio: enable msix interrupt mode 88/17088/10
Mohsin Kazmi [Thu, 31 Jan 2019 13:50:56 +0000 (13:50 +0000)]
virtio: enable msix interrupt mode

Change-Id: Idd560f3afde1dd03bc3d6fbb2070096146865f50
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovirtio: Use new buffer optimization 03/17203/5
Mohsin Kazmi [Thu, 31 Jan 2019 13:18:00 +0000 (13:18 +0000)]
virtio: Use new buffer optimization

Change-Id: Ifc98373371b967c49a75989eac415ddda1dcf15f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agodpdp-crypto: fix cryptodev segfault with dpdk 19.02 08/17308/4
Sergio Gonzalez Monroy [Mon, 4 Feb 2019 23:02:37 +0000 (00:02 +0100)]
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>
5 years agotransport: cleanup 33/17333/6
Florin Coras [Tue, 5 Feb 2019 23:51:15 +0000 (15:51 -0800)]
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>
5 years agoUpdate to doxygen documentation for release 19.01 86/17186/2
Andrew Yourtchenko [Mon, 21 Jan 2019 14:22:05 +0000 (15:22 +0100)]
Update to doxygen documentation for release 19.01

Change-Id: Id19cefc24d391f0437a0355f5328505ec21aa58a
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 44f14358cfe37a750f4541e5919b0c7877b6d46e)

5 years agoFix borken install-dep on RHEL 10/17310/2
Yichen Wang [Tue, 5 Feb 2019 06:27:20 +0000 (22:27 -0800)]
Fix borken install-dep on RHEL

Change-Id: I247cca88e33f782e1acb72eb2c0e1515faf2f030
Signed-off-by: Yichen Wang <yicwang@cisco.com>
5 years agosock api: allow to start client with no rx_thread 40/17240/6
Tomasz Kulasek [Thu, 31 Jan 2019 17:26:32 +0000 (18:26 +0100)]
sock api: allow to start client with no rx_thread

Change-Id: Ia30ff1e62304e65f27497ce05f8e40631c06d69e
Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
5 years agosession: cleanup part 3 13/17313/5
Florin Coras [Tue, 5 Feb 2019 07:01:34 +0000 (23:01 -0800)]
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>
5 years agoVOM: vxlan_tunnel equals operator 26/17326/2
Neale Ranns [Tue, 5 Feb 2019 15:17:11 +0000 (07:17 -0800)]
VOM: vxlan_tunnel equals operator

Change-Id: I0e524b5d7c02a099b6ce84e6a0c116b19200879d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agocrypto-input: fix broken buffer trace issue 79/17079/3
Kingwel Xie [Fri, 25 Jan 2019 10:18:51 +0000 (05:18 -0500)]
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>
5 years agosession: cleanup part 2 73/17273/9
Florin Coras [Mon, 4 Feb 2019 03:28:34 +0000 (19:28 -0800)]
session: cleanup part 2

Move app worker logic to app_worker.c

Change-Id: Ic5e5735b2884f006c064d023f491aa6888114810
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIPSEC: SPD counters in the stats sgement 88/17288/4
Neale Ranns [Mon, 4 Feb 2019 09:10:30 +0000 (01:10 -0800)]
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>
5 years agog2-only: add (min,max) stats to the anomaly detector 07/17307/1
Dave Barach [Mon, 4 Feb 2019 22:41:29 +0000 (17:41 -0500)]
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>
5 years agosession: cleanup part 1 71/17271/8
Florin Coras [Sun, 3 Feb 2019 23:26:14 +0000 (15:26 -0800)]
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>
5 years agoVTL Cleanup: Fix missing calls to setUpClass/tearDownClass, fix numerous TypeErrors. 92/17092/3
Paul Vinciguerra [Fri, 25 Jan 2019 22:05:48 +0000 (14:05 -0800)]
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>
5 years agoFix inheritance problem in test/hook.py. 30/16730/6
Paul Vinciguerra [Wed, 9 Jan 2019 04:37:40 +0000 (20:37 -0800)]
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>
5 years agoipsec: cli 'create ipsec tunnel' more options 86/17286/1
Kingwel Xie [Mon, 4 Feb 2019 10:07:06 +0000 (02:07 -0800)]
ipsec: cli 'create ipsec tunnel' more options

use-esp use-anti-replay

Change-Id: I977b65eee926adaded0cb923e14feb0ee90fc32c
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
5 years agoAutomated anomaly detection 68/17268/2
Dave Barach [Sun, 3 Feb 2019 15:44:47 +0000 (10:44 -0500)]
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>
5 years agoDisable hqos part deux 62/17262/1
Dave Barach [Sat, 2 Feb 2019 19:33:08 +0000 (14:33 -0500)]
Disable hqos part deux

Change-Id: Ieab56e0a20696b8cc97f783f08f10a94a83644eb
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agodpdk: bump to dpdk 19.02 60/17260/3
Damjan Marion [Sat, 2 Feb 2019 15:28:16 +0000 (16:28 +0100)]
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>
5 years agovmxnet3: multiple TX queues support 50/17150/6
Steven Luong [Tue, 29 Jan 2019 23:13:31 +0000 (15:13 -0800)]
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>
5 years agoCLI control of graph dispatch elogs 21/17221/4
Dave Barach [Fri, 1 Feb 2019 00:12:51 +0000 (19:12 -0500)]
CLI control of graph dispatch elogs

Change-Id: I195c8eabc0ee67880f1e85fc7594b00be6b563e3
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agosession: improve show session cli 53/17253/4
Florin Coras [Sat, 2 Feb 2019 02:00:05 +0000 (18:00 -0800)]
session: improve show session cli

Change-Id: If30cea80058752cedcc6ecc38e90bef8732c83d3
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoPython3: Move vppapigen to python3. 54/17254/5
Paul Vinciguerra [Sat, 2 Feb 2019 03:37:45 +0000 (19:37 -0800)]
Python3: Move vppapigen to python3.

Change-Id: I26846d0c12211a29ccfca7c269b9094f6fdbd95c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoDeprecate old mutliarch code, phase 1 52/17252/2
Damjan Marion [Fri, 1 Feb 2019 23:15:27 +0000 (00:15 +0100)]
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>
5 years agoVPP-1543: show map stats crash when not configured. 77/17177/4
Ole Troan [Wed, 30 Jan 2019 18:01:49 +0000 (19:01 +0100)]
VPP-1543: show map stats crash when not configured.

Change-Id: I4c8bc3fb057d57339ce282a31b0bb70ad16dd03e
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agotcp: remove internal buffer cache 24/17224/6
Florin Coras [Fri, 1 Feb 2019 01:31:01 +0000 (17:31 -0800)]
tcp: remove internal buffer cache

Change-Id: I3051d49aa9b9c38dcd8069ea1748f74ab20ac0f6
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: remove local buffer cache 20/17220/4
Florin Coras [Thu, 31 Jan 2019 22:35:50 +0000 (14:35 -0800)]
session: remove local buffer cache

Change-Id: I71ccb39c56962fe0160d3f4c83453e72d2dd3030
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoIPSEC: minor refactor 34/17234/2
Neale Ranns [Fri, 1 Feb 2019 11:31:24 +0000 (03:31 -0800)]
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>
5 years agoRemove -z now from LDFLAGS 38/17238/1
Damjan Marion [Fri, 1 Feb 2019 13:59:39 +0000 (14:59 +0100)]
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>
5 years agomemif: fix buffer prefetch 06/17206/7
Damjan Marion [Thu, 31 Jan 2019 14:36:47 +0000 (15:36 +0100)]
memif: fix buffer prefetch

Change-Id: If514366be7385c64cafc03329f66b44380556daa
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoVTL: Fix issue with ipaddress library use under python2. 48/17148/3
Paul Vinciguerra [Tue, 29 Jan 2019 19:51:44 +0000 (11:51 -0800)]
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>
5 years agobuffers: vallidate that buffer is allocated during buffer pool put 14/17214/6
Damjan Marion [Thu, 31 Jan 2019 17:50:04 +0000 (18:50 +0100)]
buffers: vallidate that buffer is allocated during buffer pool put

Change-Id: I8044b34a37fe1994a8dfa1ca89929f3642c72e8d
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agomake test: fix logging 39/17139/3
Klement Sekera [Tue, 29 Jan 2019 10:49:09 +0000 (11:49 +0100)]
make test: fix logging

Change-Id: I3867d50746f0f424c8e94929171363e5b2e4d470
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoAdd 'show vlib graphviz' command 14/17014/4
Benoît Ganne [Mon, 21 Jan 2019 16:41:25 +0000 (17:41 +0100)]
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>
5 years agodpdk-ipsec: use single queue pair per crypto resource 84/17184/2
Sergio Gonzalez Monroy [Wed, 30 Jan 2019 10:26:00 +0000 (11:26 +0100)]
dpdk-ipsec: use single queue pair per crypto resource

Change-Id: I2c796583087c70fbc5cf09e8afd0f2a1f389d346
Signed-off-by: Sergio Gonzalez Monroy <sgmonroy@gmail.com>
5 years agodpdk: populate mempool mem_list 19/17219/1
Damjan Marion [Thu, 31 Jan 2019 21:12:19 +0000 (22:12 +0100)]
dpdk: populate mempool mem_list

Mellanox driver needs it

Change-Id: I28423805f977089d18d32e85cf08e9e7e1fcf5b2
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodpdk: store buffer poool index in mempool pool_id 16/17216/2
Damjan Marion [Thu, 31 Jan 2019 20:01:35 +0000 (21:01 +0100)]
dpdk: store buffer poool index in mempool pool_id

Change-Id: I2c225a4932dcf326e10fe93de3ee4fdaef4dd3d0
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoIPSEC: API modernisation 38/17138/9
Neale Ranns [Thu, 10 Jan 2019 05:22:20 +0000 (21:22 -0800)]
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>
5 years agovcl: improve handling of close on rw 53/17153/6
Florin Coras [Wed, 30 Jan 2019 04:11:58 +0000 (20:11 -0800)]
vcl: improve handling of close on rw

Change-Id: Ie01a37612d7e3e0d0bad0f0aa9583b3ed411f46f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agodocs: Instructions for using vmxnet3 on mac 71/17171/2
jdenisco [Wed, 30 Jan 2019 15:43:43 +0000 (10:43 -0500)]
docs: Instructions for using vmxnet3 on mac

Change-Id: Ie6770e3a3801a23a6eb64cf1699ef0018eab6445
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agoUpdate version (19.01) for API changes script 87/17187/2
Andrew Yourtchenko [Mon, 21 Jan 2019 15:50:47 +0000 (16:50 +0100)]
Update version (19.01) for API changes script

Change-Id: I9c39b5076d366b3455a875df32765b2cb8f3eca2
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit 02da3a792ce1a7b4cdc3f0c9aa3434aadc726d06)

5 years agoVTL: Makefile: Don't install pip twice. 34/17034/4
Paul Vinciguerra [Thu, 24 Jan 2019 02:16:08 +0000 (18:16 -0800)]
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>
5 years agoextras: vfctl script - bind VF to vfio-pci after VF is created 15/17215/1
Damjan Marion [Thu, 31 Jan 2019 18:41:50 +0000 (19:41 +0100)]
extras: vfctl script - bind VF to vfio-pci after VF is created

Change-Id: If6ed71a5f7217363d8e1b2f7a7f20fe4cfdb58af
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoassert on double-free in debug build 76/17176/3
Klement Sekera [Wed, 30 Jan 2019 17:29:28 +0000 (18:29 +0100)]
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>
5 years agopci: get the number of interrupts 87/17087/9
Mohsin Kazmi [Fri, 25 Jan 2019 15:57:24 +0000 (15:57 +0000)]
pci: get the number of interrupts

Change-Id: I2cfb81b3c8809d027a3ee5f5f570668e60be08ef
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agobuffers: reinitialize metadata, add additional validation 01/17201/2
Damjan Marion [Thu, 31 Jan 2019 11:29:39 +0000 (12:29 +0100)]
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>
5 years agoDHCP-test: more robust sleep check 84/17084/2
Neale Ranns [Fri, 25 Jan 2019 14:37:15 +0000 (06:37 -0800)]
DHCP-test: more robust sleep check

Change-Id: I48c382797239dc305e01cc35124140d6ce16149a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agobuffers: add missing ref_count = 1 in drivers 85/17185/1
Damjan Marion [Wed, 30 Jan 2019 21:15:28 +0000 (22:15 +0100)]
buffers: add missing ref_count = 1 in drivers

Change-Id: I6aa030429c1740f7376e95daf82fce49efa6716b
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovirtio: fix the device order (legacy or modern) 66/17166/2
Mohsin Kazmi [Wed, 30 Jan 2019 13:36:57 +0000 (13:36 +0000)]
virtio: fix the device order (legacy or modern)

Change-Id: I60f88d50f062b004e6dea487bd627d303d0a5e75
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoUse IP and MAC API types for neighbors 38/14138/13
Neale Ranns [Fri, 10 Aug 2018 12:30:06 +0000 (05:30 -0700)]
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>
5 years agoMPLS tunnel; fix crash when deleting non-existant path 67/17167/2
Neale Ranns [Wed, 30 Jan 2019 14:00:19 +0000 (06:00 -0800)]
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>
5 years agobuffers: major cleanup and improvements 38/16638/28
Damjan Marion [Mon, 21 Jan 2019 10:48:34 +0000 (11:48 +0100)]
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>
5 years agoipsec: fix check support functions 63/17163/2
Klement Sekera [Wed, 30 Jan 2019 10:11:23 +0000 (11:11 +0100)]
ipsec: fix check support functions

Change-Id: If94c57fbb07a7376a9f2873e1489c00b28152620
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agovls: support passive listeners 33/17133/9
Florin Coras [Mon, 28 Jan 2019 23:54:27 +0000 (15:54 -0800)]
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>
5 years agolisp: set reachable flag in map-register 51/17151/3
Florin Coras [Wed, 30 Jan 2019 01:30:29 +0000 (17:30 -0800)]
lisp: set reachable flag in map-register

Change-Id: I9faaa321113e435844931247f23dbc1d190cc9da
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoldp: initialize clib time 52/17152/3
Florin Coras [Wed, 30 Jan 2019 05:28:16 +0000 (21:28 -0800)]
ldp: initialize clib time

Change-Id: Ie598443f024a677a9c6938b3f3634960fd712b09
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotest_syslog.py: pep8 overtab 46/17146/2
Ed Kern [Tue, 29 Jan 2019 21:28:05 +0000 (14:28 -0700)]
test_syslog.py: pep8 overtab

nit tab fix for pep8

Change-Id: I81f62bf5f547497c9aabfb3180ef24f50b7c3283
Signed-off-by: Ed Kern <ejk@cisco.com>
5 years agoVTL: Fix pep8 test/test_syslog.py 45/17145/2
Paul Vinciguerra [Tue, 29 Jan 2019 20:27:16 +0000 (12:27 -0800)]
VTL: Fix pep8 test/test_syslog.py

Change-Id: I8894a7a8f2be117a4c1cec9ce5134a1572da7ec7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agovirtio: Support legacy and transitional virtio devices 27/17127/2
Mohsin Kazmi [Mon, 28 Jan 2019 19:30:21 +0000 (19:30 +0000)]
virtio: Support legacy and transitional virtio devices

Change-Id: Ib1316482dd7b1ae3c27c7eeb55839ed8af9ca162
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agovls: multi-process and multi-threaded apps improvements 71/17071/13
Florin Coras [Fri, 18 Jan 2019 16:37:13 +0000 (08:37 -0800)]
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>
5 years agoFix error while compiling using 'vlib/vlib.h' dependencie. 32/17132/3
Dmitry Vakhrushev [Mon, 28 Jan 2019 22:34:22 +0000 (17:34 -0500)]
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>
5 years agomake test: remove generic imports 37/17137/1
Klement Sekera [Tue, 29 Jan 2019 10:38:08 +0000 (11:38 +0100)]
make test: remove generic imports

Change-Id: I55b89f0d9fb082c7763b64b09ab14573468c6704
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agocmake: fix out-of-git-tree build 25/17125/2
Damjan Marion [Mon, 28 Jan 2019 16:55:59 +0000 (17:55 +0100)]
cmake: fix out-of-git-tree build

Change-Id: Ib94637ec09799c23f3179599b54a2be6e2768425
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoupdate openssl TLS async to align with openssl master branch 00/17100/4
Ping Yu [Mon, 28 Jan 2019 08:12:08 +0000 (03:12 -0500)]
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>
5 years agoFix issues with order of NAT commands before set VRF table on an interface 61/16961/15
Dmitry Vakhrushev [Tue, 22 Jan 2019 10:28:53 +0000 (05:28 -0500)]
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>