vpp.git
4 years agosvm: make sure chunk search does not return tnil 04/20304/2
Florin Coras [Mon, 24 Jun 2019 23:54:52 +0000 (16:54 -0700)]
svm: make sure chunk search does not return tnil

Type:fix

Change-Id: I8405bf8d93b4468c54f4f3c5dcd21ef91a6b1048
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agohsa: move session-apps to host-stack apps plugin 05/20305/3
Florin Coras [Tue, 25 Jun 2019 00:31:33 +0000 (17:31 -0700)]
hsa: move session-apps to host-stack apps plugin

Type:refactor

Change-Id: I114fea3a54258797e961d8627a99ba2098674d20
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotests: fix test_gbp.py. 56/20156/15
Paul Vinciguerra [Sun, 16 Jun 2019 00:31:31 +0000 (20:31 -0400)]
tests: fix test_gbp.py.

A number of VppGbpContractRules were missing the hash_mode_t
and were being replaced by an optional kwarg.

Type: fix

Change-Id: I6ca03c93b69e4355c237a6c9402e1e178b701b21
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoquic: test_quic.py style is fixed. 17/20317/5
Chore [Tue, 25 Jun 2019 09:51:26 +0000 (14:21 +0430)]
quic: test_quic.py style is fixed.

Type: test

Change-Id: I943f95ef740a0646b2da363c6a16dff1f4a2bb83
Signed-off-by: Chore <s3m2e1.6star@gmail.com>
4 years agotests: if vpp is dead, specify the test name in the output 40/20240/4
Paul Vinciguerra [Wed, 19 Jun 2019 14:29:24 +0000 (10:29 -0400)]
tests: if vpp is dead, specify the test name in the output

'Exception: VPP is dead when setting up the test'
is more helpful with the test info.

Type: test

Change-Id: I6a262fdcf2ecb33aae17bef3d19745053a0bade8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoapi: fix vac_read return codes 68/20268/6
Paul Vinciguerra [Thu, 20 Jun 2019 17:46:46 +0000 (13:46 -0400)]
api: fix vac_read return codes

- vac_read was returning the same code for multiple errors.
- Refactor VppTransportShmemIOError to capture rv and description.

Type: refactor

Change-Id: Ifb8ca5ff679f658bcd92a43ecddaffd2fc18dbd5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoipsec: print spi in hexadecimal 06/19606/10
Guillaume Solignac [Wed, 15 May 2019 10:02:33 +0000 (12:02 +0200)]
ipsec: print spi in hexadecimal

Print the SPI in hexadecimal and decimal.

Type: feature

Change-Id: I012e94f9147058064e06c6bb4622ab6b6507957d
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
4 years agoavf: fix clear hw stats 09/20309/2
Filip Tehlar [Thu, 20 Jun 2019 23:53:43 +0000 (23:53 +0000)]
avf: fix clear hw stats

AVF plugin is missing a handler for clearing stats. This patch will
implement it.

Ticket: VPP-1701
Type: fix
Change-Id: If4b4354da442065896bb001deda23f64ddc18fb4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agoipsec: return error if the engine backend has no handler for the 82/20282/2
Neale Ranns [Fri, 21 Jun 2019 12:44:11 +0000 (12:44 +0000)]
ipsec: return error if the engine backend has no handler for the
requested alogrithm.

Type: feature

Change-Id: I19a9c14b2bb52ba2fc66246845b7ada73d5095d1
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoquic: server create streams test case 79/19979/10
Dave Wallace [Wed, 5 Jun 2019 14:40:07 +0000 (10:40 -0400)]
quic: server create streams test case

Type: test

* Refactor quic_echo test app
* Add timinig capabilities
* Add multiple quic tests

Change-Id: I3302c66539b12c1375d1a0c6d46f9ff4c6f2b27c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agosession: full lock on session_send_evt_to_thread 50/20250/4
Nathan Skrzypczak [Thu, 20 Jun 2019 07:58:37 +0000 (09:58 +0200)]
session: full lock on session_send_evt_to_thread

Type: fix

This was causing issues in QUIC when an app client & the protocol
app compete for the worker msg_queue. Might not be ideal performance-
wise.

Change-Id: I629892253d5b5d968f31ad1d56f18463e143d6b4
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agotests: fix the MAINTAINERS file 98/20298/2
Andrew Yourtchenko [Mon, 24 Jun 2019 16:26:24 +0000 (16:26 +0000)]
tests: fix the MAINTAINERS file

Undo the change from I8488ab318a596c9b737308829cedfb7e96e57302 to the MAINTAINERS file

Change-Id: Ieea4a59dad127c2f2dcd86a6a0c699c23fb9158d
Type: fix
Fixes: d84661c
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agovlib: packet tracer support for pkt thread handoffs 87/20287/3
Dave Barach [Fri, 21 Jun 2019 22:24:07 +0000 (18:24 -0400)]
vlib: packet tracer support for pkt thread handoffs

Type: feature

Change-Id: Ia3d9a47679202c2a47cd3746b50e86c6b8627ef6
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoapi: implement ipfix_flush 93/20293/3
Paul Vinciguerra [Mon, 24 Jun 2019 13:55:46 +0000 (09:55 -0400)]
api: implement ipfix_flush

-Migrate tests to api and cleanup:
  '# FIXME this should be an API call' in tests.

Type: feature

Change-Id: I715f9f8acc0f2af9c974ea221b2aea46692a6218
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: refactor VppDiedError. 64/20264/6
Paul Vinciguerra [Thu, 20 Jun 2019 16:24:12 +0000 (12:24 -0400)]
tests: refactor VppDiedError.

- Move Exception into same module as TestCase.
- Move the error reporting logic inside the error.
- Allows testing of the returncode and signal_name for tests to consume.
- Fix the signal reporting code:
VppDiedError: VPP subprocess died unexpectedly with returncode -6 [unknown].
    displays as:
VppDiedError: VPP subprocess died unexpectedly with return code: -6 [SIGABRT].

Type: test

Change-Id: I8488ab318a596c9b737308829cedfb7e96e57302
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agolacp: convert clib_warning to event logger 69/20269/4
Steven Luong [Thu, 20 Jun 2019 18:43:22 +0000 (11:43 -0700)]
lacp: convert clib_warning to event logger

Replace clib_warning with event logger. The messages for the latter are
stored in the event buffers which can be viewed with debug CLI anytime.

Type: fix

Change-Id: I5ede4d1f1f9f0ab8d66394f49383fc1838d397ae
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agomisc: update maintainers to include VOM 85/20285/1
Neale Ranns [Fri, 21 Jun 2019 15:03:30 +0000 (08:03 -0700)]
misc: update maintainers to include VOM

Type: feature

Change-Id: I324127934f1a129c23f232940b991fd1455891c8
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agovppinfra: add u64x2_gather/u32x4_gather 71/20271/1
Lijian.Zhang [Wed, 29 May 2019 09:08:47 +0000 (17:08 +0800)]
vppinfra: add u64x2_gather/u32x4_gather

Add u64x2_gather/u32x4_gather in vector_neon.h. u64x2_gather/u32x4_gather
gathers data from scattered memory locations to a SIMD register.

Type: feature

Change-Id: I1dd27e38af28b9bed85143014c86197ee549fede
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
4 years agotcp: add option to pass opaque to next node 70/20270/2
Florin Coras [Thu, 20 Jun 2019 19:18:31 +0000 (12:18 -0700)]
tcp: add option to pass opaque to next node

Type:feature

Change-Id: I0b72954a6ae6a05abe0761cb4f227072863f127b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovppapigen: allow negative number in NUM token 58/20258/3
Ole Troan [Thu, 20 Jun 2019 12:06:07 +0000 (14:06 +0200)]
vppapigen: allow negative number in NUM token

Change-Id: I964cb44f8604187390009dcef7dd766b3804c3ca
Type: make
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agointerface: fix the incorrect sizes/offsets in the tso segmentation 32/20232/4
Andrew Yourtchenko [Wed, 19 Jun 2019 12:09:51 +0000 (12:09 +0000)]
interface: fix the incorrect sizes/offsets in the tso segmentation

The copying of the first segment copied too small amount of data.
The copying of the second and subsequent segments used the wrong
data offset - for the case of GSO enabled it starts from 12 bytes
earlier.

Change-Id: I3adc532c175babc1ca1e121c7e12e6cafbdb9974
Type: fix
Ticket: VPP-1700
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agoipsec: add ipsec api custom-dump routines 67/20267/2
Dave Barach [Tue, 18 Jun 2019 17:57:26 +0000 (10:57 -0700)]
ipsec: add ipsec api custom-dump routines

Type: feature

Change-Id: I637ca85bb0c5c3e9704e242747b1174bfcd74e02
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoquic: remove session flags identifying Q/S sessions 36/20236/3
Nathan Skrzypczak [Wed, 19 Jun 2019 12:47:41 +0000 (14:47 +0200)]
quic: remove session flags identifying Q/S sessions

Type: refactor

Change-Id: Id68c5ae6d57df0fc556bbf583a66e538e641ffb1
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovat: vec_free/errmsh copy paste error 54/20254/1
Ole Troan [Thu, 20 Jun 2019 09:53:33 +0000 (11:53 +0200)]
vat: vec_free/errmsh copy paste error

Change-Id: I808ae95666b82f04979b57cfe237a8f83bb68264
Type: fix
Fixes: 283cd2e9af
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agotests: move output from CI results and put in log 47/20247/3
Paul Vinciguerra [Thu, 20 Jun 2019 01:21:13 +0000 (21:21 -0400)]
tests: move output from CI results and put in log

NAT session details are output to the test results.

Twice NAT44                                                              OK
Acquire twice NAT44 addresses from interface                             OK
21:10:42,661 NAT44 sessions:
-------- thread 0 vpp_main: 1 sessions --------
  172.16.1.2: 0 dynamic translations, 1 static translations
    i2o 172.16.1.2 proto tcp port 8080 fib 0
    o2i 10.0.0.3 proto tcp port 80 fib 0
       external host o2i 172.16.2.2:4567 i2o 10.0.1.3:42296
       index 1869
       last heard 97.99
       total pkts 2, total bytes 80
       static translation
       load-balancing
       twice-nat

Twice NAT44 local service load balancing                                 OK
NAT44 translate packet with unknown protocol                             OK

Type: test

Change-Id: I932a4a1133d597bb82da6e04f2ea833094a481da
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agomisc: papi - add __repr__ to FuncWrapper 48/20248/5
Paul Vinciguerra [Thu, 20 Jun 2019 02:19:02 +0000 (22:19 -0400)]
misc: papi - add __repr__ to FuncWrapper

Eases troubleshooting.

Changes:
   <FuncWrapper object at 0x7fa7402de790>
to
  <FuncWrapper(func=<want_ip6_ra_events(u16 _vl_msg_id, u32 client_index, u32 context, u8 enable_disable, u32 pid)>)>

Type: refactor
Change-Id: I3a893090e024a63a0b3b0de51cb3bb2d2a1678c5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoapi: fix return code in vxlan_gbp_tunnel_add_del 14/20214/6
Paul Vinciguerra [Tue, 18 Jun 2019 14:27:32 +0000 (10:27 -0400)]
api: fix return code in vxlan_gbp_tunnel_add_del

Return VNET_API_ERROR_INVALID_VALUE intead of 1.

Type: fix

Change-Id: Ie5465cad9ca07b9147306a808e8b13d0c4867913
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotap: fix the total length of packet for stats byte 44/20244/3
Mohsin Kazmi [Wed, 19 Jun 2019 18:25:37 +0000 (20:25 +0200)]
tap: fix the total length of packet for stats byte

Type: fix
Fixes: 8389fb9

Change-Id: I31076db78507736631609146d4cca28597aca704
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agotap: add support to configure tap interface host MTU size 52/20052/8
Mohsin Kazmi [Mon, 10 Jun 2019 09:20:15 +0000 (11:20 +0200)]
tap: add support to configure tap interface host MTU size

This patch adds support to configure host mtu size using
api, cli or startup.conf.

Type: feature

Change-Id: I8ab087d82dbe7dedc498825c1a3ea3fcb2cce030
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agotests: add sudo to gdb commands 23/20223/4
Paul Vinciguerra [Wed, 19 Jun 2019 02:59:55 +0000 (22:59 -0400)]
tests: add sudo to gdb commands

Prepend sudo to the gdb command line.

Type: test

Change-Id: I09013c3ca512e26de0c46c02f643b21064ba499c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agobuffers: fix crash 25/19925/13
Klement Sekera [Tue, 4 Jun 2019 19:14:26 +0000 (21:14 +0200)]
buffers: fix crash

this change is being made to fix a crash when current_data < 0 in buffer
linearization function

Ticket: N/A
Type: fix
Fixes: f883f6a1132ad4bb7aa9d9a79d420274fbcf3b64

Change-Id: Ia4ede823f673780e0c30d075b091db42e183650d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agovppinfra: fix rbtree node delete 46/20246/2
Florin Coras [Wed, 19 Jun 2019 23:45:09 +0000 (16:45 -0700)]
vppinfra: fix rbtree node delete

Type:fix

Make sure tnil color is black and that the right node colors are
updated.

Change-Id: Ibd9d7ea9438df4dab977202955957824723a865d
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agogbp: Add support for arp unicast forward in gbp bridge domain 86/20086/3
Mohsin Kazmi [Wed, 12 Jun 2019 11:59:00 +0000 (13:59 +0200)]
gbp: Add support for arp unicast forward in gbp bridge domain

Type: feature

Change-Id: Id487fe46194d0a89bd5ac53a9f4ff78b5ff6de60
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agol2: BD ARP termination entry API update 37/20237/2
Neale Ranns [Wed, 19 Jun 2019 14:07:13 +0000 (07:07 -0700)]
l2: BD ARP termination entry API update

Type: refactor

Change-Id: I492b6e88acadf0ab0e4d7b1c0c5d1cab84c1726f
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoapi: fix typos in api error descriptions 01/20201/5
Paul Vinciguerra [Tue, 18 Jun 2019 03:07:13 +0000 (23:07 -0400)]
api: fix typos in api error descriptions

Type: style

Change-Id: I81c281c7277dbaea499f3072e01e7f59bf646825
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoipsec: fix l2 header handling in ah encrypt 30/20230/2
Klement Sekera [Wed, 19 Jun 2019 11:26:34 +0000 (11:26 +0000)]
ipsec: fix l2 header handling in ah encrypt

Use proper length for copying l2 layer in ah encrypt code. Previously
code assumed that there is alywas just one ethernet header preceding IP
header, which might not be true always.

Change-Id: I176fd93b25cf1b9d9c2dc4e420ad48a94d5f4fb8
Ticket: VPP-1539
Type: fix
Fixes: N/A
Signed-off-by: Klement Sekera <ksekera@cisco.com>
4 years agointerface: Fix the tso segmentation 20/20220/4
Mohsin Kazmi [Tue, 18 Jun 2019 21:45:54 +0000 (23:45 +0200)]
interface: Fix the tso segmentation

ASSERT (b[0]->current_length > 0) fails in single loop of
function vnet_interface_output_node_inline_gso.

Under 'do_segmentation' condition, there are two places in code
which execute "continue" in while-loop without incrementing the
pointer to next buffer which is wrong behavior. In fact, at one
place, current buffer is also freed. In which case, during next
iteration buffer ptr still points to free buffer which current
length is 0 and triggers the above assert.

Type: fix

Change-Id: Ic9d540748c1d00a54e18acc2b0f23730728d7460
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agomisc: add bonding, lacp and vmxnet3 to MAINTAINERS 22/20222/4
Steven Luong [Wed, 19 Jun 2019 02:34:43 +0000 (19:34 -0700)]
misc: add bonding, lacp and vmxnet3 to MAINTAINERS

Type: make

Change-Id: I8a28707a14ca6bcaf44b2a26dfc30ef2f2dbe749
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agotests: send packet output to log - test_punt.py 15/20215/6
Paul Vinciguerra [Tue, 18 Jun 2019 15:05:38 +0000 (11:05 -0400)]
tests: send packet output to log - test_punt.py

Move output to log.txt.
11:51:58,111 Verifying against 3 packets in verify_udp_pkts.
11:51:58,111 ###[ Ethernet ]###
  dst       = 02:fe:4c:62:06:e5
  src       = 02:01:00:00:ff:02
  type      = 0x800
\###[ IP ]###
     version   = 4
     ihl       = 5
     tos       = 0x0
     len       = 128
...

Type: test

Change-Id: Iebaf34c2ac16e7fa8dffbdeadf18ab6c5f4c7494
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agompls: fix header offset overflow 74/20174/5
Benoît Ganne [Mon, 17 Jun 2019 12:42:47 +0000 (14:42 +0200)]
mpls: fix header offset overflow

rw_len (MPLS rewrite string length) is declared as unsigned but is used
as -rw_len with vlib_buffer_advance(), resulting in a wrong, huge
offset.

Type: fix
Fixes: 734d430f37251bc7e71d507983ee640ae1625fbe
Ticket: VPP-1705
Change-Id: I7357249f7e50b7d30fd61f5be4858a26e43df85d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosession: call session_dequeue_notify after svm_fifo_dequeue_drop 92/20192/4
Vladimir Kropylev [Mon, 17 Jun 2019 18:38:00 +0000 (21:38 +0300)]
session: call session_dequeue_notify after svm_fifo_dequeue_drop

Type: fix

dequeue_notify callback at app-layer needs to know available space in fifo,
so, session_dequeue_notify should be called after svm_fifo_dequeue_drop

Change-Id: I136675d29ec32bea9b33a05deb6710f72ce8d5b1
Signed-off-by: Vladimir Kropylev <vladimir.kropylev@enea.com>
4 years agotests: fix checkstyle failure in test_stats_client.py 17/20217/3
Steven Luong [Tue, 18 Jun 2019 16:56:07 +0000 (09:56 -0700)]
tests: fix checkstyle failure in test_stats_client.py

New job submitted to Jenkins reported checkstyle failure in
test_stats_client.py. It needs a blank line in one place and line is
too long in another place.

Type: fix

Change-Id: I9b18df1df449a287570d614d6c5b514ceb88480c
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agotcp: allow custom output next node 16/20216/2
Florin Coras [Tue, 18 Jun 2019 15:55:14 +0000 (08:55 -0700)]
tcp: allow custom output next node

Type: feature

Change-Id: If9804d3685d2a52efa06e412ae1ebb39c6a44b8b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoipsec: fix ipv6 tunnel protect tests 18/20218/3
Florin Coras [Tue, 18 Jun 2019 17:57:26 +0000 (10:57 -0700)]
ipsec: fix ipv6 tunnel protect tests

Type: fix

Change-Id: I1f8007ae659097152046aa1396cc23f126e29018
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agobuild: update MAINTAINERS 11/20211/2
Paul Vinciguerra [Tue, 18 Jun 2019 11:57:53 +0000 (07:57 -0400)]
build: update MAINTAINERS

Type: make

Change-Id: If82324f27163ab4ea270aac909c48a95dd1621ec
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agosession: fix memory out of bound issue 06/20206/2
Lijian.Zhang [Wed, 22 May 2019 10:33:52 +0000 (18:33 +0800)]
session: fix memory out of bound issue

Ring data space is following ring vec_header_t and ring elements immediately.
Add verification code in session_test.

Type: fix

Change-Id: I0bfa096a9f459128a588821d99b5cdb4f10ede38
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
4 years agovppinfra: rbtree custom insert/search/del 90/20190/5
Florin Coras [Mon, 17 Jun 2019 18:11:15 +0000 (11:11 -0700)]
vppinfra: rbtree custom insert/search/del

Type: feature

Add support for insert/search/del with custom compare function.

Change-Id: Ibb740afc224d8adc29d3e1b51b46cdd738d1bd93
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoipsec: ipsec-tun protect 56/18956/18
Neale Ranns [Thu, 7 Feb 2019 15:26:12 +0000 (07:26 -0800)]
ipsec: ipsec-tun protect

please consult the new tunnel proposal at:
  https://wiki.fd.io/view/VPP/IPSec

Type: feature

Change-Id: I52857fc92ae068b85f59be08bdbea1bd5932e291
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofib: fib api updates 96/12296/42
Neale Ranns [Tue, 1 May 2018 12:17:55 +0000 (05:17 -0700)]
fib: fib api updates

Enhance the route add/del APIs to take a set of paths rather than just one.
Most unicast routing protocols calcualte all the available paths in one
run of the algorithm so updating all the paths at once is beneficial for the client.
two knobs control the behaviour:
  is_multipath - if set the the set of paths passed will be added to those
                 that already exist, otherwise the set will replace them.
  is_add - add or remove the set

is_add=0, is_multipath=1 and an empty set, results in deleting the route.

It is also considerably faster to add multiple paths at once, than one at a time:

vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.11
100000 routes in .572240 secs, 174751.80 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.12
100000 routes in .528383 secs, 189256.54 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.13
100000 routes in .757131 secs, 132077.52 routes/sec
vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.14
100000 routes in .878317 secs, 113854.12 routes/sec

vat# ip_route_add_del 1.1.1.1/32 count 100000 multipath via 10.10.10.11 via 10.10.10.12 via 10.10.10.13 via 10.10.10.14
100000 routes in .900212 secs, 111084.93 routes/sec

Change-Id: I416b93f7684745099c1adb0b33edac58c9339c1a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agostats: off by one error in /sys/node/{calls,clocks,...} 10/20210/2
Ole Troan [Tue, 18 Jun 2019 11:56:05 +0000 (13:56 +0200)]
stats: off by one error in /sys/node/{calls,clocks,...}

Fixes: 58492a8372
Change-Id: Ia2eeebc2488b57e57f8d5e52f9948d1cced7b6fc
Type: fix
Ticket: VPP-1698
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agostats: fix memory leakage when adding / deleting interfaces 58/20158/6
Ole Troan [Sun, 16 Jun 2019 10:33:51 +0000 (12:33 +0200)]
stats: fix memory leakage when adding / deleting interfaces

This fixes two leaks in registering errors in the stats segment.
- The error name created by vlib_register_errors() was not freed.
- Duplicate error names (when interface readded) was added to the vector.

This fix also adds memory usage statistics for the statistics segment
as /mem/statseg/{used, total}

Change-Id: Ife98d5fc5baef5bdae426a5a1eef428af2b9ab8a
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agomisc: vpp_papi- add tests, clean up pep8 35/20035/4
Paul Vinciguerra [Fri, 7 Jun 2019 17:35:37 +0000 (13:35 -0400)]
misc: vpp_papi- add tests, clean up pep8

Type: test

Change-Id: Ic81bd4a9eba3c89a746e7a9b9e471b59cd87fa40
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoapi: string type to convert to vector 87/20087/6
Ole Troan [Wed, 12 Jun 2019 12:28:14 +0000 (14:28 +0200)]
api: string type to convert to vector

Previous use of strndup() required user to remember to call free().
Now return a vector pointing directly to the API message string.
Of course user must remember to copy the string out if lifetime
is longer than API message lifetime.

Change-Id: Ib5e2b3d52d258e1a42ea9ea9a9e04abbe360e2bf
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agodpdk: check result of rte_mempool_create_empty 04/20204/6
Lijian.Zhang [Wed, 3 Apr 2019 08:32:30 +0000 (16:32 +0800)]
dpdk: check result of rte_mempool_create_empty

Check the returned pointer, report error and return in case of failure.
This avoids crashing without any useful clues or debug messages.

Type: fix

Change-Id: I15d0735a531c2d9a8b6f67b7d6fe326b98c963c3
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
4 years agoquic: fix handling of stream reset & close 41/20141/5
Nathan Skrzypczak [Fri, 14 Jun 2019 14:44:38 +0000 (16:44 +0200)]
quic: fix handling of stream reset & close

Type: refactor

Change-Id: I4981704e3c886d90d482a1deba42633e92626743
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoip: reassembly-separate feature and custom code 26/20126/6
Klement Sekera [Mon, 17 Jun 2019 12:23:15 +0000 (12:23 +0000)]
ip: reassembly-separate feature and custom code

This change is made fix a crash, because is_feature flag semantics turn
out to be different from "custom app code" semantics. Introduce a flag
which custom plugins/apps can use to instead of tying that code to
is_feature flag.

Change-Id: Ief5898711e68529f9306cfac54c4dc9b3650f9e3
Ticket: N/A
Type: fix
Fixes: 21aa8f1022590b8b5caf819b4bbd485de0f1dfe5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agovppinfra: add format_hex_bytes_no_wrap 99/20199/2
Damjan Marion [Mon, 17 Jun 2019 21:20:27 +0000 (23:20 +0200)]
vppinfra: add format_hex_bytes_no_wrap

Type: feature
Change-Id: I53e1f05b2b048925fca3b2f6b0499ff9c3e6ee12
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoavf: fix adminq enqueue errors 98/20198/2
Damjan Marion [Mon, 17 Jun 2019 20:55:44 +0000 (22:55 +0200)]
avf: fix adminq enqueue errors

Type: fix
Fixes: b4ff07a

Change-Id: I2578ae3e093961fa8765568b5fedcf75ae9487f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoavf: add logging macros and improve logging 94/20194/3
Damjan Marion [Mon, 17 Jun 2019 18:44:19 +0000 (20:44 +0200)]
avf: add logging macros and improve logging

Type: feature
Change-Id: I3d7009505ddbb2c41d8619d9195c6a5373fa9a04
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoip: consolidate IPv6 link-local-address functions. 79/20179/4
Jon Loeliger [Thu, 13 Jun 2019 16:02:26 +0000 (11:02 -0500)]
ip: consolidate IPv6 link-local-address functions.

Two codes diverged in the packet processor
And sorry I could not use them both
Long I stood being but one developer
And studied one as far as I could
To where the code said bitwise OR

Then took the other, as just could see,
And having perhaps the better bit,
Because it followed the RFC
And used the cryptic XOR in C,
Had run them both a fair bit.

And both equally ran that morning
With packets dropped and flowing.
Oh, I flagged the first for dropping!
Yet knowing bug leads to debuging
I hoped I'd never be returning.

I shall be commiting this with a sigh
Somewhere ages and ages hence:
Two codes diverged by a bit, and I,
I made the packets flow on by,
And that has made all the difference.

Type: fix
Change-Id: If2698726d5501fde76211994f8efc37119345352
Signed-off-by: Jon Loeliger <jdl@netgate.com>
4 years agoipsec: One DPO per SA 80/20180/2
Neale Ranns [Mon, 17 Jun 2019 15:43:38 +0000 (15:43 +0000)]
ipsec: One DPO per SA

An SA can be used only for ESP or AH nver both, so it needs only one
coresponding DPO.

Type: refactor

Change-Id: I689060f795ee352245a0eaed0890a6b234c63d71
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoipsec: return original SA create error for tunnel create 31/20131/2
Neale Ranns [Fri, 14 Jun 2019 10:31:46 +0000 (10:31 +0000)]
ipsec: return original SA create error for tunnel create

rather than SRC/DST address error which is not so helpfull

Type: fix
Fixes: af3f0783

Change-Id: Ie2143e4e29de87d93e79bd96284c041bdbffd98e
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agosession: use listener_handle instead of listener_index 09/20109/4
Nathan Skrzypczak [Thu, 13 Jun 2019 08:14:28 +0000 (10:14 +0200)]
session: use listener_handle instead of listener_index

Type: refactor

Change-Id: I97fa59a0ba0b6b7a98698926020ffffcf6ae6ba3
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agomisc: vpp-api - add __repr__ to VPPApiClient. 61/20161/3
Paul Vinciguerra [Mon, 17 Jun 2019 01:23:31 +0000 (21:23 -0400)]
misc: vpp-api - add __repr__ to VPPApiClient.

Show the constructor of the object instead of the memory location.

api client: <VPPApiClient apifiles=None, testmode=False,
async_thread=True, logger=<logging.Logger object at 0x7f35d1bd2590>,
read_timeout=1, use_socket=False,
server_address='/tmp/vpp-unittest-TestGbpApi-pOKbWg/api.sock'>

vs.

api client: <vpp_papi.vpp_papi.VPPApiClient object at 0x7fa0003df750>

Type: feature

Change-Id: I1460d76f6796776dd525c0844e9e426ec2d52398
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovlib: add "memory-trace stats-segment" 55/20155/3
Dave Barach [Sat, 15 Jun 2019 16:46:13 +0000 (12:46 -0400)]
vlib: add "memory-trace stats-segment"

Type: feature

Change-Id: Ie020fd7e2618284a63efbeb9895068f27c0fb9ab
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoapi: add mp-safe/barrier-sync indication to elogs 52/20152/1
Dave Barach [Fri, 14 Jun 2019 21:29:55 +0000 (17:29 -0400)]
api: add mp-safe/barrier-sync indication to elogs

Costs nothing, and leaves nothing to the imagination.

Type: fix

Change-Id: I7c9f9fb9325475c268eca062da7bbbf014438cfc
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoipsec: Display user specified SPI ID not VPP's index 39/20139/2
Neale Ranns [Fri, 14 Jun 2019 13:48:27 +0000 (06:48 -0700)]
ipsec: Display user specified SPI ID not VPP's index

Type: fix
Fixes: 8d7c502002

Change-Id: Ia6de250f20200c17937d9d7b2aab17ccd81d7823
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoavf: update known issues section in README.md 48/20148/2
Damjan Marion [Fri, 14 Jun 2019 16:38:03 +0000 (18:38 +0200)]
avf: update known issues section in README.md

Type: docs
Change-Id: I09f6984b74ebb7ee743881b4ad496618542eeaa5
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agog2: clean up compile/link errors 46/20146/3
Dave Barach [Fri, 14 Jun 2019 16:11:37 +0000 (12:11 -0400)]
g2: clean up compile/link errors

Many missing "extern" declarations, it's hard to imagine why the
related compile/link errors just showed up.

Type: fix

Change-Id: I0878bf5fdb10ffdd8e0c49c9e5153cddaf3bc1fd
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agovppinfra: optimize elog_string 45/20145/3
Dave Barach [Fri, 14 Jun 2019 16:02:38 +0000 (12:02 -0400)]
vppinfra: optimize elog_string

Add a string hash to make sure that strings in the string table are
unique. This optimization has been coded piecemeal in multiple places,
we should have made the underlying function do the work years ago.

Type: fix

Change-Id: I5010fd4926b9b80ce3a168748f6de64e333ef498
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agostats: add version field to stat segment base header 27/20127/6
Ole Troan [Fri, 14 Jun 2019 08:26:14 +0000 (10:26 +0200)]
stats: add version field to stat segment base header

Add a version in the base header of the stat segment
To make support for multiple reader implementations safer.

Change-Id: I6816e2a51a98c2df1e621e80d4ef0b4ba4e9f47b
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
4 years agoipsec: Correctly rewind the buffer to the IP header when punting UDP encapped SPI... 28/20128/2
Neale Ranns [Fri, 14 Jun 2019 08:13:25 +0000 (01:13 -0700)]
ipsec: Correctly rewind the buffer to the IP header when punting UDP encapped SPI-0 packets

Type: fix
Fixes: b71fa75d48

Change-Id: I2d81b373f7659e702759939c096b315afa36f621
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agointerface: interface dump API check validity of sw_if_index 25/20125/5
Neale Ranns [Fri, 14 Jun 2019 08:26:21 +0000 (08:26 +0000)]
interface: interface dump API check validity of sw_if_index

Type: fix
Fixes: 6407ba56

Change-Id: I6d3ce68962986921e04aa00c989d8afa157ebcb8
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agomisc: Update MAINTAINERS to include interface common 29/20129/3
Neale Ranns [Fri, 14 Jun 2019 09:09:43 +0000 (02:09 -0700)]
misc: Update MAINTAINERS to include interface common

Type: feature

Change-Id: I72f35444c73c6a7099d34f7d5031cbe82cbdd383
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agocrypto-ia32: fix typo in ifdef for avx512 version 96/20096/3
Neale Ranns [Wed, 12 Jun 2019 16:04:02 +0000 (09:04 -0700)]
crypto-ia32: fix typo in ifdef for avx512 version

Type: Fix
Fixes: dd2423ef

Change-Id: I76f0ed5027161c396186845043f5afe395c20280
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoipsec: remove spurious warnings 15/20115/2
Neale Ranns [Thu, 13 Jun 2019 14:42:54 +0000 (07:42 -0700)]
ipsec: remove spurious warnings

Type: fix
Fixes: 999c8ee6d6

Change-Id: Idcdddbe45f2e0adfd375b07199bb30f77c28702d
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotcp: fix tcp_do_fastretransmits failure. 66/20066/7
Guoao Sun [Tue, 11 Jun 2019 14:07:21 +0000 (22:07 +0800)]
tcp: fix tcp_do_fastretransmits failure.

Type: fix

vpp would fail 'tcp_in_fastrecovery (tc)' if tcp_connection_get returns 0.

Change-Id: I512cba5234b3777f1737bec9451940e7e7975f15
Signed-off-by: Guoao Sun <guoao.sun@intel.com>
4 years agoipsec: ah_decrypt rework 08/19808/8
Filip Tehlar [Tue, 21 May 2019 08:11:21 +0000 (08:11 +0000)]
ipsec: ah_decrypt rework

This patch refactors AH decrypt node in such way that it calls crypto
backend only once per node call.

Type: refactor
Change-Id: I0dc72ff699042a151e64d44f76f791c5136ec009
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
4 years agoavf: add README.md section about spoofing check 01/20101/2
Damjan Marion [Wed, 12 Jun 2019 20:41:21 +0000 (22:41 +0200)]
avf: add README.md section about spoofing check

Type: docs
Change-Id: I4ae65ed22275abf0d15045f3b09625d6aaa3b67b
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agoinfra: fix minor memory leak in "api trace..." 02/20102/2
Dave Barach [Wed, 12 Jun 2019 20:50:38 +0000 (16:50 -0400)]
infra: fix minor memory leak in "api trace..."

Build api trace message print fns into the built-in copy of api_format.c
Optimize memory allocator behavior when the api trace wraps.

Type: Fix

Change-Id: If799d8784a459f981fc9ee3a3ca03d3f63b2bcd0
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agostatic_http: Typo in short_help. 99/20099/2
Paul Vinciguerra [Wed, 12 Jun 2019 17:13:22 +0000 (13:13 -0400)]
static_http: Typo in short_help.

Type: fix.

Change-Id: I48587c5eba6de6de820d348177b6733d0b048013
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agosession: use session handles as app listener handles 75/20075/9
Florin Coras [Tue, 11 Jun 2019 19:31:31 +0000 (12:31 -0700)]
session: use session handles as app listener handles

Type: refactor

Change-Id: I421750147a8a821bd0b522daf6c2b7239e551f12
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: better estimate snd space for rxt with no sacks 00/20100/2
Florin Coras [Wed, 12 Jun 2019 18:26:35 +0000 (11:26 -0700)]
tcp: better estimate snd space for rxt with no sacks

Type: refactor

Use tcp_available_cc_snd_space instead of sack scoreboard
last_delivered_bytes to estimate available space when retransmitting
with no sack support

Change-Id: I938c637279eaf8c5634c4e97f0633fa2d0054fac
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: add cc stats plotting tools 92/20092/4
Florin Coras [Wed, 12 Jun 2019 15:12:58 +0000 (08:12 -0700)]
tcp: add cc stats plotting tools

Type: feature

cc_plot.py can plot cc stats collected via elogs from tcp connections.
To enable the collection of cc stats, tcp must be compiled with
TCP_DEBUG_CC_STAT turned on.

Once the tests have been carried out, and elogs have been saved with "ev
save log <file>", the logs can be converted to txt format with the
convert_evt script. The resulting file can be used as input to the
cc_plots script.

Change-Id: I16df2993fa09cab9ad35f91825eab7df4da6428b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agomisc: add check_commit_msg.sh script 93/20093/2
Damjan Marion [Wed, 12 Jun 2019 15:41:39 +0000 (17:41 +0200)]
misc: add check_commit_msg.sh script

Type: feature
Change-Id: I5e04991afd7500673db121e4529275e9aff15e65
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agopapi: make socket disconnect more robust 91/20091/2
Vratko Polak [Wed, 12 Jun 2019 14:43:06 +0000 (16:43 +0200)]
papi: make socket disconnect more robust

Previusly, read error could happen before message_thread starts,
so do not attempt to join in that case.

Change-Id: Ie119916831e320e38eb02e48515b4c6a9cb937e5
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agotests: filter sw_interface_dump in tests. 37/20037/2
Paul Vinciguerra [Fri, 7 Jun 2019 19:01:12 +0000 (15:01 -0400)]
tests: filter sw_interface_dump in tests.

Type: test

Change-Id: I92921444ef6b0e574701398cf57971c9ecc1cc91
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agomaintainers: add vcl 94/20094/1
Florin Coras [Wed, 12 Jun 2019 15:57:24 +0000 (08:57 -0700)]
maintainers: add vcl

Change-Id: I29545cadcf0b764b931d14b0c3ec51d728d29504
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agobuffers: fix vlib_buffer_free_no_next 88/20088/2
Damjan Marion [Tue, 11 Jun 2019 18:12:23 +0000 (20:12 +0200)]
buffers: fix vlib_buffer_free_no_next

Type: fix
Fixes: 910d369
Change-Id: I0e8380cd2b0dc038a028d9cf2568741059de460f
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agomisc: update MAINTAINERS file 89/20089/2
Damjan Marion [Wed, 12 Jun 2019 12:40:28 +0000 (14:40 +0200)]
misc: update MAINTAINERS file

Type: make
Change-Id: I082ae7af9a8d10d6caddf401d3fa843844503b26
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agolacp: cleanup unnecessary pointer cast 62/20062/2
Zhiyong Yang [Tue, 11 Jun 2019 02:23:11 +0000 (22:23 -0400)]
lacp: cleanup unnecessary pointer cast

Change-Id: Idc3a7588dc73e7180a15b6ace3684d3c12986b9d
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agoNAT: interface fib fix (VPP-1691) 69/20069/2
Filip Varga [Tue, 11 Jun 2019 08:45:21 +0000 (10:45 +0200)]
NAT: interface fib fix (VPP-1691)

Change-Id: I2d1e2addb2e440c23c255ac7709169f7909cb0be
Signed-off-by: Filip Varga <fivarga@cisco.com>
4 years agovlib: avoid retrieving freed file in epoll 76/20076/1
Florin Coras [Tue, 11 Jun 2019 21:33:03 +0000 (14:33 -0700)]
vlib: avoid retrieving freed file in epoll

Type:fix

Change-Id: Id7f4f6e2a2f844085f511a33aa1db3968f5d97bb
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoip: punt coverity fix of CLI input 67/20067/2
Neale Ranns [Tue, 11 Jun 2019 08:39:08 +0000 (01:39 -0700)]
ip: punt coverity fix of CLI input

Type: fix

Change-Id: Ia73cbe2fba0a364d966daed0b5d5d2ac7499f86d
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofix compiling error with marvell pp2 plugin 64/20064/2
jialv01 [Tue, 11 Jun 2019 06:00:20 +0000 (14:00 +0800)]
fix compiling error with marvell pp2 plugin

fix compile issue
"src/plugins/marvell/pp2/pp2.c:247:62: error: 'vm' undeclared (first use in this function)"

Change-Id: Ia23e21b07c29faefa6e363816a220e312adba81c
Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com>
4 years agolacp: remove duplicated code 63/20063/1
Zhiyong Yang [Tue, 11 Jun 2019 05:08:20 +0000 (01:08 -0400)]
lacp: remove duplicated code

Change-Id: I0fb646c350b392d69658ba4188ae25e0f0a6cdc1
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agossvm: disable private segment expand 61/20061/2
Florin Coras [Mon, 10 Jun 2019 23:22:48 +0000 (16:22 -0700)]
ssvm: disable private segment expand

Change-Id: I893621d9a6520c6e24026a9bbaf44e9e69f60bcb
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: allow registration of new cc algo types 58/20058/3
Florin Coras [Mon, 10 Jun 2019 15:33:50 +0000 (08:33 -0700)]
tcp: allow registration of new cc algo types

Type: feature

Change-Id: I83e21b508a19df1beb207d961c8f2b52347deca0
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agosvm: improve fifo segment show 47/20047/1
Florin Coras [Sun, 9 Jun 2019 16:24:33 +0000 (09:24 -0700)]
svm: improve fifo segment show

Type: refactor

Change-Id: I6933205cfb04bc31cabe6e3b1a8044cace93f84c
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agomactime: add per-mac allow-with-quota feature 43/20043/2
Dave Barach [Sat, 8 Jun 2019 16:33:13 +0000 (12:33 -0400)]
mactime: add per-mac allow-with-quota feature

Specify a data limit during specified time ranges. Outside of the
specified time ranges, data will be allowed.

Clean up "show mactime" output.

Type: feature

Change-Id: Iddd6678e7ded1d0f9cb88d69c656de8d87d5694c
Signed-off-by: Dave Barach <dave@barachs.net>