vpp.git
5 years agoIPSEC: API coverity error of unitialised stat_index value 93/17693/2
Neale Ranns [Tue, 19 Feb 2019 16:27:34 +0000 (08:27 -0800)]
IPSEC: API coverity error of unitialised stat_index value

Change-Id: If884a3840f34090e33ce7808d38e50f919290d9f
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoIPSEC-GRE: no clib_warning in the DP 90/17690/2
Neale Ranns [Tue, 19 Feb 2019 14:33:14 +0000 (06:33 -0800)]
IPSEC-GRE: no clib_warning in the DP

Change-Id: If30c7334de55d32e57554cf1601c529cd807b834
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoMakefile: correct opensuse 15.0 dep naming 98/17698/3
Ed Kern [Tue, 19 Feb 2019 17:27:23 +0000 (10:27 -0700)]
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>
5 years agoldp: return byte count from a successful recvfrom 84/17684/3
Haggai Eran [Tue, 19 Feb 2019 13:04:42 +0000 (15:04 +0200)]
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>
5 years agoreassembly: handle ip6 atomic fragments 86/17686/2
Klement Sekera [Tue, 19 Feb 2019 13:47:25 +0000 (14:47 +0100)]
reassembly: handle ip6 atomic fragments

Change-Id: Ide3425f144fb17201dcde7ba89f39e460048100d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoavf: fix feature arc, take two 88/17688/2
Damjan Marion [Tue, 19 Feb 2019 14:15:40 +0000 (15:15 +0100)]
avf: fix feature arc, take two

Change-Id: Ic191850739da82de32d87bbf17947b55cf962f2d
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoreassembly: fix buffer usage counter 78/17678/3
Klement Sekera [Tue, 19 Feb 2019 12:53:43 +0000 (13:53 +0100)]
reassembly: fix buffer usage counter

Change-Id: I713904f8eb2f724cb08dba494c160c14cc8b24a1
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoVPP-1504: Remove JVPP 18/16318/6
Michal Cmarada [Thu, 31 Jan 2019 09:57:40 +0000 (10:57 +0100)]
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>
5 years agodpdk: update Cisco VIC port type 77/17677/2
Hyong Youb Kim [Tue, 19 Feb 2019 12:32:55 +0000 (04:32 -0800)]
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>
5 years agodpdk: do not shift PKT_RX_FDIR 80/17680/2
Hyong Youb Kim [Tue, 19 Feb 2019 13:04:49 +0000 (05:04 -0800)]
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>
5 years agoacl-plugin: split the dataplane function into two, save 10sec in compile time 25/17325/2
Andrew Yourtchenko [Tue, 5 Feb 2019 14:15:59 +0000 (15:15 +0100)]
acl-plugin: split the dataplane function into two, save 10sec in compile time

Change-Id: I00618f12dfd5ab4a2baf6c8ec1f53b4c7179aed7
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoVPP-1568:when entry src cover change, recursive-loop fib still can not work. 96/17596/3
mu.duojiao [Thu, 14 Feb 2019 08:57:54 +0000 (16:57 +0800)]
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>
5 years agotap gso: experimental support 52/15052/36
Andrew Yourtchenko [Fri, 12 Oct 2018 14:09:22 +0000 (16:09 +0200)]
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>
5 years agoVPP-1573 fix crash in ip6 reassembly 74/17674/2
Klement Sekera [Tue, 19 Feb 2019 10:28:47 +0000 (11:28 +0100)]
VPP-1573 fix crash in ip6 reassembly

Change-Id: I3a3076c7d87446b5ec2a02e70d3b6d05f1875875
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agoip6-local: fix uninitialized variable error 65/17665/3
Damjan Marion [Tue, 19 Feb 2019 07:55:18 +0000 (08:55 +0100)]
ip6-local: fix uninitialized variable error

Change-Id: I245a8cc8f237242efadcf10d47b76222a6497e89
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoVOM: no assert on interface mac set 69/17669/2
Neale Ranns [Tue, 19 Feb 2019 09:41:59 +0000 (01:41 -0800)]
VOM: no assert on interface mac set

Change-Id: I0210b18dc37e1a425c75c95a2fb98c6a48d8ea7a
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoavf: fix feature arc 56/17656/2
Damjan Marion [Mon, 18 Feb 2019 16:29:04 +0000 (17:29 +0100)]
avf: fix feature arc

Change-Id: Ib7d8e8e2e4663daa1307e676c53f7ef8b91e60e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agotls: fix openssl/mbedtls use of app_wrk index 61/17661/2
Florin Coras [Tue, 19 Feb 2019 04:14:20 +0000 (20:14 -0800)]
tls: fix openssl/mbedtls use of app_wrk index

Change-Id: I7ccc948357d815a1bd4279a7079cf4db2949183c
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: move fifo allocation logic to app worker 60/17660/9
Florin Coras [Mon, 18 Feb 2019 21:02:28 +0000 (13:02 -0800)]
session: move fifo allocation logic to app worker

Change-Id: I1662ec4b5503cb64a8a86a2441842311d959b3a6
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoNAT: fix: multiple definition of nat64_cleaner_process_event_e 59/17659/4
Neale Ranns [Mon, 18 Feb 2019 20:11:51 +0000 (12:11 -0800)]
NAT: fix: multiple definition of nat64_cleaner_process_event_e

Change-Id: Idcff6108f4f965344afce9ff614018239819dc95
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoResolve vppapigen DeprecationWarning. 42/17542/3
Paul Vinciguerra [Tue, 12 Feb 2019 20:21:01 +0000 (12:21 -0800)]
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>
5 years agotcp: harden for high scale scenarios 29/17629/10
Florin Coras [Sun, 17 Feb 2019 04:47:32 +0000 (20:47 -0800)]
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>
5 years agoDHCP: trace flags copied from old to new not vice-versa 49/17649/2
Neale Ranns [Mon, 18 Feb 2019 14:20:46 +0000 (06:20 -0800)]
DHCP: trace flags copied from old to new not vice-versa

Change-Id: I6c13af7e97753da013cdd5b212302d008cbd616d
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNAT: VPP-1552 code migration from old multiarch scheme 60/17560/4
Filip Varga [Wed, 13 Feb 2019 09:42:59 +0000 (01:42 -0800)]
NAT: VPP-1552 code migration from old multiarch scheme

Change-Id: I88f3df8aaa521e7707ef3335acdbf1ab41e7ee28
Signed-off-by: Filip Varga <fivarga@cisco.com>
5 years agoExplicit dual-loop in ip6-local 52/17652/2
Benoît Ganne [Thu, 14 Feb 2019 14:32:45 +0000 (15:32 +0100)]
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>
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>