vpp.git
4 years agoapi: add prefix matcher typedef 40/20940/7
Paul Vinciguerra [Sat, 27 Jul 2019 14:35:07 +0000 (10:35 -0400)]
api: add prefix matcher typedef

There is a need to be able to specifiy whether a prefix in
a request is to match exactly or if more specific
prefixes are also desired.

Todo: Uncomment defaults, once supported in vppapigen.

Type: feature

Change-Id: I74fdef0e89e3aefda822c7c0a477e22479297a90
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agonat: elog rewrite for multi-worker support 61/20961/3
Filip Varga [Wed, 31 Jul 2019 10:45:48 +0000 (12:45 +0200)]
nat: elog rewrite for multi-worker support

Type: fix

Change-Id: I04f136a04bc022d223e4bcb5c59920bd1f1fd560
Signed-off-by: Filip Varga <filipvarga89@gmail.com>
4 years agogso: fix the test case 84/20984/2
Mohsin Kazmi [Wed, 31 Jul 2019 14:01:13 +0000 (16:01 +0200)]
gso: fix the test case

Type: fix
Fixes: 22e9cfd760be613f33a4135e9247729b64619cc6

Change-Id: Idb198642e439dc3d54c04d8bde9d3e8382ebf830
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agodevices interface tests: vhosst GSO support 81/19381/13
Steven Luong [Mon, 6 May 2019 15:51:56 +0000 (08:51 -0700)]
devices interface tests: vhosst GSO support

Add gso option in create vhost interface to support gso and checksum
offload.

Tested with the following startup options in qemu:
csum=on,gso=on,guest_csum=on,guest_tso4=on,guest_tso6=on,guest_ufo=on,
host_tso4=on,host_tso6=on,host_ufo=on

Type: feature

Change-Id: I9ba1ee33677a694c4a0dfe66e745b098995902b8
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agoqos: Store function 53/20953/3
Neale Ranns [Wed, 31 Jul 2019 09:48:02 +0000 (02:48 -0700)]
qos: Store function

Type: feature

store: write a QoS value into the buffer meta-data
record: Extract a QoS value from a packet header and store it.
mark: Make a change to the content of a packet header by writing a stored
      QoS value

Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agovppapigen: implement reversible repr's 46/20946/4
Paul Vinciguerra [Wed, 31 Jul 2019 03:01:31 +0000 (23:01 -0400)]
vppapigen: implement reversible repr's

Type: feature

Change-Id: I92757f041cde399229c42e34515ace0fcd37908b
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agobuild: Append build number for cpack packages 56/20756/17
YohanPipereau [Fri, 19 Jul 2019 15:53:18 +0000 (17:53 +0200)]
build: Append build number for cpack packages

add_vpp_packaging maccro was circumventing scripts/version causing:
1. build number not being appended to the package
2. invalid package name format (due to cmake cpack module)

Change-Id: I2b9a985357a3f3bd501be6db6ca638d4430f4bbb
Type: make
Fixes: def35a2352c9a54f748d301ffa47a446d25a83e0
Signed-off-by: YohanPipereau <ypiperea@cisco.com>
4 years agopg: clarify the text of error message 95/20895/5
Andrew Yourtchenko [Mon, 29 Jul 2019 09:27:10 +0000 (09:27 +0000)]
pg: clarify the text of error message

Enabling capture on pg with the file already existing
results in a misleading error message. Fix the text.

Change-Id: I1aea49cfeda3b4bfe6ed7b18fd543948a078508a
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agovlib: fix format_error_trace 73/20973/2
Dave Barach [Wed, 31 Jul 2019 13:05:37 +0000 (09:05 -0400)]
vlib: fix format_error_trace

Error index calculation is error_code + error_node->error_heap_index.

Type: fix
Fixes: gerrit 20802

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

4 years agovppinfra: added performance test for clib_rwlock_t (test_rwlock.c) 62/20862/5
jaszha03 [Mon, 1 Jul 2019 22:20:52 +0000 (17:20 -0500)]
vppinfra: added performance test for clib_rwlock_t (test_rwlock.c)

Spawns a uniform number of writer and reader threads across a number of
cores where each writer thread increments a global variable a specified
number of times, and the reader threads continually poll the global's
value until the writers complete.

Type: test

Change-Id: I979c3734c6d03139d0802bff1846875d226f6fbb
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agovppinfra: refactor test_and_set spinlocks to use clib_spinlock_t 61/20861/5
jaszha03 [Thu, 11 Jul 2019 20:47:24 +0000 (20:47 +0000)]
vppinfra: refactor test_and_set spinlocks to use clib_spinlock_t

Spinlock performance improved when implemented with compare_and_exchange
instead of test_and_set. All instances of test_and_set locks were refactored
to use clib_spinlock_t when possible. Some locks e.g. ssvm synchronize
between processes rather than threads, so they cannot directly use
clib_spinlock_t.

Type: refactor

Change-Id: Ia16b5d4cd49209b2b57b8df6c94615c28b11bb60
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agovppinfra: added lock performance test for clib_spinlock_t (test_spinlock.c) 59/20859/5
jaszha03 [Wed, 19 Jun 2019 19:07:05 +0000 (14:07 -0500)]
vppinfra: added lock performance test for clib_spinlock_t (test_spinlock.c)

Spawns a uniform number of threads across a number of cores where each
thread increments a global variable a specified number of times.

Type: test

Change-Id: I12b3a37708a199c297d022348d99dbb0e8349a9f
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agovcl: fix epoll chain validation 42/20942/4
Florin Coras [Tue, 30 Jul 2019 21:08:23 +0000 (14:08 -0700)]
vcl: fix epoll chain validation

Type:fix

Change-Id: I91dfe7e0ae2e632022fbf639ca16c93f570849de
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoapi papi: add alias for timestamp(datetime)/timedelta 01/20801/5
Paul Vinciguerra [Tue, 23 Jul 2019 13:53:06 +0000 (09:53 -0400)]
api papi: add alias for timestamp(datetime)/timedelta

Now that we have support for f64:
- create explicit types for timestamp(datetime)/timedelta
- update log_details to use timestamp and remove redundant string representation.
  If you need the string representation, in python do str(timestamp).
  If you prefer the raw f64 value, the client can pass in the
  _no_type_conversion option.

Type: feature

Change-Id: I547b5fa7122d2afa12628b7db0192c23babbbae8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agovppapigen: add endian_string for f64 44/20944/2
Paul Vinciguerra [Tue, 30 Jul 2019 22:24:41 +0000 (18:24 -0400)]
vppapigen: add endian_string for f64

Type: fix

Change-Id: I35838baea21ead4a3f45d998ff225a513781d7ee
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agotests: disable pg capture before enabling it 45/20845/23
Andrew Yourtchenko [Thu, 25 Jul 2019 10:03:51 +0000 (10:03 +0000)]
tests: disable pg capture before enabling it

In a lot of places within the unit tests pg_start() starts
the capture with an already existing capture running
for the same test.

If the pcap file already exists, then it is renamed and there
is no problem.

However, there is a potential for race if the previous
pg_start() has enabled the capture, but the check for
renaming it happened just slightly earlier than the first
packet has arrived.

Then a second call to pg_start() will hit a check that
a file exists, and will cause an error. This is especially
visible when running the tests in parallel due to increased
load.

Solution: disable the capture before enabling it.
This will flush the aready running capture and eliminate the race.

The additional delay that flushing of the pcap creates has exposed
several other race conditions:

NAT tests: Some of the NAT reassembly tests
verify that the entries were added to the reassembly data structures,
but do so by comparing the quantities of entries. With the default
timeout being 2s, some of the entries might timeout,
resulting in a bogus test failure.

Solution: Bump the timeout to 20s for the affected tests.

Punt tests: nr_packets == 3 makes test intermittently fail,
nr_packets > 3 make it reliably fail, and nr_packets = 2 works

Solution: set nr_packets == 2 for the time being

IGMP tests: the leave-group calls get a spurious packet
from the time the new groups were configured

Solution: add 1 second delay before starting to delete the groups

Type: test

Change-Id: I931182a7b2860cf670e030ee7da8038f6e87356d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agotests: Split IPSec ESP into parameterized tests per engine 48/20948/2
Neale Ranns [Wed, 31 Jul 2019 07:13:18 +0000 (00:13 -0700)]
tests: Split IPSec ESP into parameterized tests per engine

Type: feature

Change-Id: Icb1bd3fce768aebf8919c63a104f771ca7fa1d6f
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoip: Ensure reassembly runs before IPSec decrypt. 12/20912/2
Neale Ranns [Mon, 29 Jul 2019 14:49:52 +0000 (14:49 +0000)]
ip: Ensure reassembly runs before IPSec decrypt.

Type: fix

Change-Id: I01eeedf8d5015b07b9422c65afe78bfe8177c22c
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofib: Add some path-list flags to its key 14/20914/2
Neale Ranns [Mon, 29 Jul 2019 12:45:27 +0000 (12:45 +0000)]
fib: Add some path-list flags to its key

Type: fix
Ticket: 1729

The flags that are permanently set on a path-list should form part of
its key in the path-list DB. Otherwise, if shared, they will not behave
as expected.

Change-Id: I0aa7c7c5d270c97b08014e4a47ddbdcee2358706
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agofib: fix calls to unformat_fib_path 13/20913/2
Neale Ranns [Mon, 29 Jul 2019 12:59:45 +0000 (12:59 +0000)]
fib: fix calls to unformat_fib_path

Type: fix
Ticket: 1728

Change-Id: I679c2b8c5b0f751c9476db3669ab3f6c26dcdd28
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoipsec: Typo in flag name 49/20949/1
Neale Ranns [Wed, 31 Jul 2019 08:04:43 +0000 (01:04 -0700)]
ipsec: Typo in flag name

Type: fix

Change-Id: I0c9353598d3c9b7ea587ea8a2b6e1faa5454843d
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoquic: fix cert loading 36/20936/2
Nathan Skrzypczak [Tue, 30 Jul 2019 14:14:34 +0000 (16:14 +0200)]
quic: fix cert loading

Type: fix

Change-Id: I29d24c8ec7b8e0613d4fbf5eedc72384326dc284
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agoquic: cleanup and refactorisation 53/20853/4
Aloys Augustin [Thu, 25 Jul 2019 15:08:32 +0000 (17:08 +0200)]
quic: cleanup and refactorisation

Change-Id: I031a60ac010b55110f32f0a08e19b1156aeda268
Type: refactor
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agovppinfra: refactor use of CLIB_MEMORY_BARRIER () 57/20857/3
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: refactor use of CLIB_MEMORY_BARRIER ()

All instances of test_and_set locks used the following sequence
to release the locks:

CLIB_MEMORY_BARRIER ();
p->lock = 0; // p is a generic struct with a TAS lock

Use clib_atomic_release to generate more efficient assembly code.

Type: refactor

Change-Id: Idca3a38b1cf43578108bdd1afe83b6ebc17a4c68
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agovlib: Fix packet tracing 37/20937/2
Neale Ranns [Tue, 30 Jul 2019 14:14:25 +0000 (07:14 -0700)]
vlib: Fix packet tracing

Type: fix
Fixes: 99536f4

Change-Id: Ica230ec9fa7f6fd36e2754e8b0b9db555460ca55
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotap: fix segv when host-if-name is not given 97/20897/2
Mohsin Kazmi [Mon, 29 Jul 2019 11:21:17 +0000 (13:21 +0200)]
tap: fix segv when host-if-name is not given

Type: fix
Fixes: c30d87e6139c64eceade54972715b402c625763d

Change-Id: I86b606b18ff6a30709b7aff089fd5dd00103bd7f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agovppinfra: conformed spinlocks to use CLIB_PAUSE 56/20856/2
jaszha03 [Wed, 12 Jun 2019 21:01:19 +0000 (16:01 -0500)]
vppinfra: conformed spinlocks to use CLIB_PAUSE

Modified test-and-set spin locks to call CLIB_PAUSE () when spinning
for code consistency. Decreases the memory bandwidth consumed.

Type: fix

Change-Id: I1cca4f87f44f23f257c7a35466cd2e7767072f51
Signed-off-by: Jason Zhang <jason.zhang2@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
4 years agomisc: add vnet/pipeline.h example 84/20884/3
Dave Barach [Fri, 26 Jul 2019 15:58:16 +0000 (11:58 -0400)]
misc: add vnet/pipeline.h example

To the sample plugin. We should probably suggest that folks use the
pipeline.h coding model more often. It's really easy, and these days
the performance results are similar to quad-single loop coding.

Type: refactor

Change-Id: Ie2caa087972737e6d9c31c4ac79355f3d8ced282
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agosession: fix vpp to app msg generation 68/20868/4
Florin Coras [Thu, 25 Jul 2019 21:51:09 +0000 (14:51 -0700)]
session: fix vpp to app msg generation

Type:fix

Freeing mq messages in vpp (producer), if enqueueing fails, invalidates
consumer assumption that messages can be freed without a lock.

Change-Id: I748a33b8846597bdad865945d8e899346d482434
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
4 years agovcl: fix config parsing of hex values 90/20890/3
Florin Coras [Sun, 28 Jul 2019 17:25:40 +0000 (10:25 -0700)]
vcl: fix config parsing of hex values

Type:fix

Change-Id: I31f35dd86fb6efb04d4a449f7fc834296baaa043
Signed-off-by: Tal Saiag <tal.saiag@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoapi acl: breakout acl_types.api for reuse by others 05/20805/3
Paul Vinciguerra [Tue, 23 Jul 2019 15:56:30 +0000 (11:56 -0400)]
api acl: breakout acl_types.api for reuse by others

Type: refactor

Change-Id: I40518ccddcb78e58f7e6a098c27d9ec53e5a1146
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agofib: add invalid source type and fix debug log 66/20766/3
Benoît Ganne [Wed, 17 Jul 2019 12:47:23 +0000 (14:47 +0200)]
fib: add invalid source type and fix debug log

Add the FIB_SOURCE_INVALID fib source type. This allows to spot
uninitialized fib source more easily (0 no longer means special) and we
can use it as placeholder when no source is present.
Use it to fix FIB_ENTRY_DBG() which was accessing the 1st source, even
when no sources were present.

Type: fix
Fixes: 710071bf0e

Change-Id: I980b6a6a07616d4a8d6f2db166a1dd335721c74d
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agoapi: add vl_api_version_t type 37/20537/3
Paul Vinciguerra [Mon, 8 Jul 2019 12:51:15 +0000 (08:51 -0400)]
api: add vl_api_version_t type

Type: feature
Depends-on: https://gerrit.fd.io/r/20484

Change-Id: Ifc8d7e00d7254db40856a088fdd352d9773f71d5
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agobuild: add option to wipe/rebuild papi 69/20569/5
Paul Vinciguerra [Tue, 9 Jul 2019 20:49:46 +0000 (16:49 -0400)]
build: add option to wipe/rebuild papi

Previously, the only option was to wipe/rebuild all the test dependencies.

Type: make

Change-Id: Ia95d6e800f67bef033dcf614dbfa249c3e43159d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agopg: add GSO support 10/20810/5
Mohsin Kazmi [Tue, 23 Jul 2019 09:54:48 +0000 (11:54 +0200)]
pg: add GSO support

Type: feature

Change-Id: I72676495a85fbecc946aa266a75234cce70c3a5e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agosr: ipv6 segment routing header (srh) update 62/20262/2
Ahmed Abdelsalam [Thu, 20 Jun 2019 11:18:57 +0000 (11:18 +0000)]
sr: ipv6 segment routing header (srh) update

SRH has passed WG review in IETF and currently an IESG document.
This patch updates the SRH definition to be compliant with IETF.
 - Change "first_segment" to "last_entry"
 - Change "reserved" to "tag"

Change-Id: I1765c968671655c5646f6de478d1f7196abbc040
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
4 years agosr: fix srv6 end.t behavior 66/20866/2
Ahmed Abdelsalam [Thu, 25 Jul 2019 18:45:55 +0000 (13:45 -0500)]
sr: fix srv6 end.t behavior

Update the sr_localsid code to set the DPO for SRv6 End.T behavior.

Change-Id: I17e102a419eb2b4fdd1de7a672b109e4ff7e1dc2
Type: fix
Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com>
4 years agosession: define connection id length 88/20888/2
Florin Coras [Fri, 26 Jul 2019 21:46:12 +0000 (14:46 -0700)]
session: define connection id length

Type:feature

To be used by transports overwriting the connection id.

Change-Id: Ia5dbd9dccc2e3eb62e602514b24882ddc12ff1f2
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agosession: separate ctrl, new and old events 64/20764/20
Florin Coras [Mon, 22 Jul 2019 02:23:46 +0000 (19:23 -0700)]
session: separate ctrl, new and old events

Type: feature

Change-Id: I5e030b23943c012d8191ff657165055d33ec87a2
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: count resets sent 85/20885/6
Florin Coras [Fri, 26 Jul 2019 17:18:51 +0000 (10:18 -0700)]
tcp: count resets sent

Type:feature

Change-Id: Ie1ab4b24af9c654d5e0ed94b7fa96ca195b01c56
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agoquic: coverity fixes 74/20874/3
Nathan Skrzypczak [Fri, 26 Jul 2019 13:32:59 +0000 (15:32 +0200)]
quic: coverity fixes

Type: fix

Change-Id: I93c083ee78168ed2da283fe4873ca022766fe861
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agolibmemif: fix autoconnect 19/20819/2
Jakub Grajciar [Wed, 24 Jul 2019 08:33:11 +0000 (10:33 +0200)]
libmemif: fix autoconnect

Type: fix

Change-Id: I426e210c47869904a01712b765db2356439f706f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agodocs: add binary api trace replay details 72/20872/2
Dave Barach [Fri, 26 Jul 2019 12:26:03 +0000 (08:26 -0400)]
docs: add binary api trace replay details

Folks need to know that they MUST carefully control the set of plugins
to avoid feeding messages to the wrong binary API message handlers.

Change-Id: Iefeeda6670aae4627446caee21717b847305c9b5
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agosession tcp: handle rxt and acks as custom events 17/20817/8
Florin Coras [Wed, 24 Jul 2019 06:54:47 +0000 (23:54 -0700)]
session tcp: handle rxt and acks as custom events

Type: feature

Control ack generation and retransmissions with session layer scheduler.

Change-Id: Iacdf9f84ab81f44851980aa45a83e75f29be2b7b
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agodhcp ip: DSCP settings for transmitted DHCP packets 48/20748/6
Neale Ranns [Fri, 19 Jul 2019 14:01:02 +0000 (14:01 +0000)]
dhcp ip: DSCP settings for transmitted DHCP packets

Type: feature

- Define the ip_dscp_t and use in the IP headers
- Add DSCP setting to the DHCP client for use with packet TX

Change-Id: If220dde0017ea78793747d65f53e11daf23a28fa
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agodpdk: fix vlan stripping 70/20870/3
Neale Ranns [Mon, 15 Jul 2019 08:04:11 +0000 (01:04 -0700)]
dpdk: fix vlan stripping

Type: fix
Fixes: ce3e971

Change-Id: I30bbeced2f5ae7613e65546f2b9b41e2fb514208
Signed-off-by: Damjan Marion <damarion@cisco.com>
4 years agodhcp: send unicast and broadcast packets via the IP adjacency 51/20851/3
Neale Ranns [Thu, 25 Jul 2019 13:11:58 +0000 (06:11 -0700)]
dhcp: send unicast and broadcast packets via the IP adjacency

Type: feature

this means DHCP packets are subject to the IP features configured on the interface
- the unicast packets already were sent throught the adj
- added UT for DHCP client sending a unicast renewal

Change-Id: Id50db0b71822f44bf7cb639a524195cdc9873526
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agomisc: remove unnecessary cast in classify 69/20869/1
Zhiyong Yang [Fri, 26 Jul 2019 02:44:01 +0000 (22:44 -0400)]
misc: remove unnecessary cast in classify

Type: style

Change-Id: I7628f7fba8250afe41f115595cca4129e43350d3
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agomisc: 19.04.2 Release Notes 35/20835/4
Dave Wallace [Wed, 24 Jul 2019 20:57:48 +0000 (16:57 -0400)]
misc: 19.04.2 Release Notes

Type: docs

Change-Id: I1ee3909e042e56fd4caf3732762e9a9276aa6db1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agobuild: vppapigen search VPP_INCLUDE_DIR if set 54/20854/2
Benoît Ganne [Thu, 25 Jul 2019 15:15:59 +0000 (17:15 +0200)]
build: vppapigen search VPP_INCLUDE_DIR if set

When building out-of-tree plugins, we must search for .api in VPP
installed include directory.

Type: fix

Change-Id: I76b7bace69ff54a385d944313879e2aeb7293648
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agobuild: package .api files in vpp-dev 52/20852/2
Benoît Ganne [Thu, 25 Jul 2019 14:26:20 +0000 (16:26 +0200)]
build: package .api files in vpp-dev

Type: fix

Change-Id: I035ff638d346109e1b3b5e5a8cdd36d650c45e5e
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agosession: add transport deleted state 82/20782/7
Florin Coras [Tue, 23 Jul 2019 02:03:03 +0000 (19:03 -0700)]
session: add transport deleted state

Type: fix

Distinguish between closed and deleted states to avoid deleting the
session prior to the transport connection.

Change-Id: Ia285ce94b26a70773f8c0ce9d2c73095d3e2a337
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovppinfra: fix coverity warning in mpcap.c 49/20849/2
Dave Barach [Thu, 25 Jul 2019 11:22:47 +0000 (07:22 -0400)]
vppinfra: fix coverity warning in mpcap.c

Type: fix
Ticket: VPP-1649

Change-Id: Ief77ec8d5f06bfcc63af6454c4cd9979cf0ab49d
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agobuild: add missing .api files for packaging 50/20850/1
Benoît Ganne [Thu, 25 Jul 2019 12:14:03 +0000 (14:14 +0200)]
build: add missing .api files for packaging

Type: fix

Change-Id: Ic43fb0826907e3f3b42a78bfbd9a807cdbf1e8f9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agovom: QoS support 27/20827/7
Neale Ranns [Tue, 23 Jul 2019 08:48:55 +0000 (01:48 -0700)]
vom: QoS support

Type: feature

Change-Id: If517d10c318fc17fdbd797fac8d974d9851f6442
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agomisc: leverage vlib_buffer_get_current in srp 36/20836/4
Zhiyong Yang [Thu, 25 Jul 2019 02:06:55 +0000 (22:06 -0400)]
misc: leverage vlib_buffer_get_current in srp

Type: style

Change-Id: I6c57ab3e71c693de5ecfbdfee118d521a8c9a4c2
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agomemif: Fix uninitialized variable as reported by coverity 32/20832/2
Steven Luong [Wed, 24 Jul 2019 18:16:46 +0000 (11:16 -0700)]
memif: Fix uninitialized variable as reported by coverity

When mode == ip, the variable next_index is not initialized.
Although insde the while loop, ni will be fixed to contain next[0],
it is easier to initialize it.

Type: fix

Change-Id: I6653a958bbc5105e7266bf89e3c8569ff00f0199
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agobonding: incorrect RX counters for bond interface 37/20837/2
Steven Luong [Thu, 25 Jul 2019 04:16:09 +0000 (21:16 -0700)]
bonding: incorrect RX counters for bond interface

show interface does not display the RX counters for the bond
interfaces. It displays rx-no-buf instead.

The problem is VNET_INTERFACE_COUNTER_RX is a combined counter,
not a simple counter. Change the code to use
vlib_increment_combined_counter passing it with n_rx_packets and
n_rx_bytes.

Type: fix

Change-Id: I8121ad7e546447049fa13da62481b6c8f5575bec
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agolibmemif: fix chained buffer flag 40/20840/2
Jakub Grajciar [Wed, 24 Jul 2019 12:49:04 +0000 (14:49 +0200)]
libmemif: fix chained buffer flag

fixes issue: MEMIF_DESC_FLAG_NEXT persisted when enqueueing
stored buffers

Type: fix

Change-Id: I9e973ed6e0339612fe1dd3e3bd80ed7c05093791
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
4 years agoacl: implement counters 17/20117/17
Andrew Yourtchenko [Thu, 13 Jun 2019 15:23:21 +0000 (15:23 +0000)]
acl: implement counters

implement per-acl-number counters in the stats segment.
They are created during the ACL creation,
the counters are incremented in the dataplane using
the new inline function with the extra parameter being
the packet size. Counting in shared segment adds
a noticeable overhead, so add also an API to
turn the counters on.

Type: feature

Change-Id: I8af7b0c31a3d986b68089eb52452aed45df66c7b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
4 years agotests: add cpu/shm info to test runner output 47/20547/5
Paul Vinciguerra [Mon, 8 Jul 2019 18:14:22 +0000 (14:14 -0400)]
tests: add cpu/shm info to test runner output

Type: test
Depends-on: https://gerrit.fd.io/r/#/c/20484/

Change-Id: I140132cfcc4347035fe2bb9919f8e7923342940f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agoqos: QoS dump APIs 23/20823/5
Neale Ranns [Tue, 23 Jul 2019 15:16:19 +0000 (08:16 -0700)]
qos: QoS dump APIs

Type: feature

Change-Id: I514b40026986f3828c8727453456b20a0a45f3af
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agoapi: Disable tracing of memclnt_keepalive messages 22/20822/2
Dave Barach [Fri, 19 Jul 2019 21:40:18 +0000 (17:40 -0400)]
api: Disable tracing of memclnt_keepalive messages

A waste of binary API trace space; an otherwise idle control-plane
will eventually fill the api trace buffer with them.

Type: fix
Ticket: VPP-1725

Change-Id: Id8338ea4070cd76481595005986efc558f0694e6
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 996a757ff93233379bf0a464dce6d99f5d622ca4)

4 years agofib: Support the POP of a Psuedo Wire Control Word 41/20741/2
Neale Ranns [Fri, 19 Jul 2019 11:44:53 +0000 (11:44 +0000)]
fib: Support the POP of a Psuedo Wire Control Word

Type: feature

Change-Id: Ib24547a7c4c73ceb5383d1ca8f14ec40e6a90f01
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agodpdk: Prefetch correct size of rte_mbuf 24/20824/2
Nitin Saxena [Wed, 24 Jul 2019 11:49:06 +0000 (17:19 +0530)]
dpdk: Prefetch correct size of rte_mbuf

sizeof(rte_mbuf) is 128 byte but 2* CLIB_CACHE_LINE_BYTES
is 256 byte for ThunderX/OCTEONTx targets.

Type: fix

Change-Id: If6893b168cf1c55c44bf4669a888ce858f2ef487
Signed-off-by: Nitin Saxena <nsaxena@marvell.com>
4 years agovapi: add python scripts to vpp-dev package 95/20595/4
Vratko Polak [Wed, 24 Jul 2019 11:42:36 +0000 (13:42 +0200)]
vapi: add python scripts to vpp-dev package

As requested in https://lists.fd.io/g/vpp-api-dev/message/18
three vapi scrips are packaged, destination to share/vpp/.

Also:
+ Add "vapi" as a separate component to maintainers file.
+ Add also vppapigen/generate_json.py to share/vpp/.
+ Improve CMakeLists.txt indentation.

Type: feature

Change-Id: Ia06715621aa344e8ee759410b293509a54f81fdd
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
4 years agopapi: add additional types to vpp_serializer 64/20464/5
Paul Vinciguerra [Tue, 2 Jul 2019 17:06:21 +0000 (13:06 -0400)]
papi: add additional types to vpp_serializer

vppapigen supports additional types not handled by the papi seializer.
This adds the types for the sake of parity.

Change-Id: Id8efad7f169b5023879935575ace2cc3e9c291d4
Type: feature
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
4 years agomemif: fix vector overflow when copying strings 82/20582/2
Benoît Ganne [Wed, 10 Jul 2019 12:56:26 +0000 (14:56 +0200)]
memif: fix vector overflow when copying strings

When memif sends back socket messages containing strings, we copy
vectors into C-string. Unfortunately, most vectors are not
null-terminated, causing strncpy() read overflow. Moreover, strncpy()
does not null-terminate string in case of max length reached.
This patch introduces helpers to safely copy strings from vectors.

Type: fix
Fixes: d6042d4f1ea0baf02bc87c72960a331a9e08dfab

Change-Id: I38489ec8d2a5d4a42b9abde1aa3dfdbd06ebe024
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agobonding: print the name on the cli when created 20/20420/4
Mohsin Kazmi [Mon, 1 Jul 2019 09:08:20 +0000 (11:08 +0200)]
bonding: print the name on the cli when created

Type: feature

Change-Id: Icd718c98ba2fa900cafaf1a59dfb100ee9914ec9
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agotap: print the interface name on cli when created 18/20418/4
Mohsin Kazmi [Mon, 1 Jul 2019 08:26:43 +0000 (10:26 +0200)]
tap: print the interface name on cli when created

Type: feature

Change-Id: If11f00574322c35c1780c31d5f7b47d30e083e35
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agomisc: Add maintainer entry for native virtio driver 28/20728/4
Mohsin Kazmi [Thu, 18 Jul 2019 14:24:45 +0000 (16:24 +0200)]
misc: Add maintainer entry for native virtio driver

Type: feature

Change-Id: Ieda0d8fbd2c1524ddf9fc776bc5c315629e893bf
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agoipsec: GCM, Anti-replay and ESN fixess 30/20730/4
Neale Ranns [Wed, 17 Jul 2019 15:07:14 +0000 (15:07 +0000)]
ipsec: GCM, Anti-replay and ESN fixess

Type: fix

Several Fixes:
 1 - Anti-replay did not work with GCM becuase it overwrote the sequence
number in the ESP header. To fix i added the seq num to the per-packet
data so it is preserved
 2 - The high sequence number was not byte swapped during ESP encrypt.
 3 - openssl engine was the only one to return FAIL_DECRYPT for bad GCM
the others return BAD_HMAC. removed the former
 4 - improved tracing to show the low and high seq numbers
 5 - documented the anti-replay window checks
 6 - fixed scapy patch for ESN support for GCM
 7 - tests for anti-reply (w/ and w/o ESN) for each crypto algo

Change-Id: Id65d96b6d1d4dd821b2ab557e87468fff6d70e5b
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agotls: handle engine listen failure 15/20815/2
Florin Coras [Wed, 24 Jul 2019 05:38:16 +0000 (22:38 -0700)]
tls: handle engine listen failure

Type:fix

Change-Id: I528b7cfcb7a6aada94ee3649378e6fbe84d2e4e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agofib: remove unused input parameter 14/20814/1
Zhiyong Yang [Wed, 24 Jul 2019 04:02:55 +0000 (00:02 -0400)]
fib: remove unused input parameter

Type: style

Change-Id: I2a21076fffaeb5726be80356aaffc9fea3d95850
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agovppinfra: add mapped pcap file support 78/20778/6
Gary Boon [Mon, 22 Jul 2019 14:57:56 +0000 (10:57 -0400)]
vppinfra: add mapped pcap file support

Type: feature

Change-Id: Ic720d56a6f8901efde2a58519bc9aa553205a9a6
Signed-off-by: Gary Boon <gboon@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoapi: binary api cleanup 13/20813/1
Dave Barach [Tue, 23 Jul 2019 20:28:36 +0000 (16:28 -0400)]
api: binary api cleanup

Multiple API message handlers call vnet_get_sup_hw_interface(...)
without checking the inbound sw_if_index. This can cause a
pool_elt_at_index ASSERT in a debug image, and major disorder in a
production image.

Given that a number of places are coded as follows, add an
"api_visible_or_null" variant of vnet_get_sup_hw_interface, which
returns NULL given an invalid sw_if_index, or a hidden sw interface:

-  hw = vnet_get_sup_hw_interface (vnm, sw_if_index);
+  hw = vnet_get_sup_hw_interface_api_visible_or_null (vnm, sw_if_index);
   if (hw == NULL || memif_device_class.index != hw->dev_class_index)
     return clib_error_return (0, "not a memif interface");

Rename two existing xxx_safe functions -> xxx_or_null to make it
obvious what they return.

Type: fix

Change-Id: I29996e8d0768fd9e0c5495bd91ff8bedcf2c5697
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoquic: Refactor connections closing and deletion 58/20658/4
Aloys Augustin [Sun, 14 Jul 2019 21:48:36 +0000 (23:48 +0200)]
quic: Refactor connections closing and deletion

This code should handle the 3 following cases:
- Active close
quic_proto_on_close sets state to ACTIVE_CLOSING
send packets eventually returns an error, calling
quic_connection_closed which deletes the connection

- Passive close
quic_on_closed_by_peer -> set state to PASSIVE_CLOSING
"race" between app confirmation (calling quic_proto_on_close) and
quicly signalling that it's done (triggers call to
quic_connection_closed).
If quic_connection_closed is called first, it sets the state to
PASSIVE CLOSING QUIC CLOSED, then when quic_proto_on_close is called
it frees the connection.
If quic_proto_on_close is called first, it sets the state to PASSIVE
CLOSING APP CLOSED, then when quic_connection_closed is called it frees
the connection

- Error close (reset)
quic_connection_closed is called in state READY. This means a timeout
or protocol error happened. This calls session_transport_reset_notify,
the app should confirm the deletion and quic_proto_on_close will be
called to delete the connection.

Change-Id: I3acbf9b079ed2439bdbb447197c428c78915d8c0
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Type: feature

4 years agoudp: fix typo in udp connectinon flags 09/20809/3
Dave Wallace [Tue, 23 Jul 2019 17:09:23 +0000 (13:09 -0400)]
udp: fix typo in udp connectinon flags

Type: fix
Fixes: 3b726197

Change-Id: Ib515f0995e5c837349ebcad5f63fbd1b2a197e13
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
4 years agosession: reorganize dispatch logic 61/20761/9
Florin Coras [Sat, 20 Jul 2019 22:53:16 +0000 (15:53 -0700)]
session: reorganize dispatch logic

Type:refactor

Change-Id: Id796d0103e61e15c35a586d8cbd3d8916487b84d
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovlib: address vlib_error_t scaling issue 02/20802/3
Dave Barach [Tue, 23 Jul 2019 14:22:31 +0000 (10:22 -0400)]
vlib: address vlib_error_t scaling issue

Encoding the vpp node index into the vlib_error_t as a 10-bit quantity
limits us to 1K graph nodes. Unfortunately, a few nodes need 6 bit
per-node error codes. Only a very few nodes have so many counters.

It turns out that there are about 2K total error counters in the system,
which is (approximately) the maximum error heap index.

The current (index,code) encoding limits the number of interfaces to
around 250, since each interface has two associated graph nodes and we
have about 500 "normal, interior" graph node

This patch adds an error-index to node-index map, so we can store
error heap indices directly in the vlib_buffer_t.

Type: refactor

Change-Id: I28101cad3d8750819e27b8785fc0cf71ff54f79a
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoudp: fix connection flags 87/20787/6
Aloys Augustin [Tue, 23 Jul 2019 08:24:39 +0000 (10:24 +0200)]
udp: fix connection flags

Change-Id: Ib69f9bd7970aeb2ee6a1c114d38dcb7f8698dc6d
Type: fix
Fixes: c754239
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agosession: avoid postponing close 81/20781/2
Florin Coras [Mon, 22 Jul 2019 22:57:19 +0000 (15:57 -0700)]
session: avoid postponing close

Type: feature

Change-Id: I96e850fc15b79349abbb52d91c0314f255d635be
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotcp: generate closed notifications whenever tcp closes 83/20783/4
Florin Coras [Tue, 23 Jul 2019 03:55:11 +0000 (20:55 -0700)]
tcp: generate closed notifications whenever tcp closes

Type: fix

This gives the session layer a chance to to cleanup events.

Change-Id: I7499e94acf06340e2b19a1d91a4c61a63cd66c52
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agotests: pin pip version 99/20799/2
Aloys Augustin [Tue, 23 Jul 2019 13:19:28 +0000 (15:19 +0200)]
tests: pin pip version

New pip releases can break pip-tools. This commit pins the version of
pip used in the test virtualenv to prevent uncontrolled breakage.

This fixes the current issue in make test:
TypeError: __init__() got an unexpected keyword argument 'index_urls'

Change-Id: I3b7ecb31e651401ada0d357e2bf093c91c934565
Type: feature
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agonat: fixed handoff in2out lookup of static mappings by external address 70/20670/4
Filip Varga [Mon, 15 Jul 2019 18:19:44 +0000 (14:19 -0400)]
nat: fixed handoff in2out lookup of static mappings by external address

Type: fix

Change-Id: Ie5befde2f23caffb033b3b9f35ac1535c1224925
Signed-off-by: Filip Varga <fivarga@cisco.com>
4 years agodevices: vhost handling VHOST_USER_SET_FEATURES 32/20732/4
Steven Luong [Fri, 19 Jul 2019 01:38:52 +0000 (18:38 -0700)]
devices: vhost handling VHOST_USER_SET_FEATURES

Some combinations of new qemu (2.11) and old dpdk (16.10) may
send VHOST_USER_SET_FEATURES at the end of the protocol exchange
which the vhost interface is already declared up and ready.
Unfortunately, the process of VHOST_USER_SET_FEATURES will cause
the interface to go down. Not sure if it is correct or needed.
Because there is no additional messages thereafter, the hardware
interface stays down.

The fix is to check the interface again at the end of processing
VHOST_USER_SET_FEATURES. If it is up and ready, we bring back
the hardware interface.

Type: fix

Change-Id: I490cd03820deacbd8b44d8f2cb38c26349dbe3b2
Signed-off-by: Steven Luong <sluong@cisco.com>
4 years agobonding: fix create bond CLI 63/20763/2
Zhiyong Yang [Mon, 22 Jul 2019 01:51:21 +0000 (21:51 -0400)]
bonding: fix create bond CLI

1. "numa-only" is optional and is disabled by default for lacp mode.
2. update lacp doc.

Type: fix

Change-Id: I6a3a8423ef31ad9980353a796957693cd6205d73
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agoudp: support close with data 79/20779/3
Florin Coras [Mon, 22 Jul 2019 15:08:43 +0000 (08:08 -0700)]
udp: support close with data

Also adds connection flags.

Type: feature

Change-Id: I76f21eb88ab203076149b7c03dc31c22fc0f342e
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agodocs: improve home gateway use-case documentation 77/20777/2
Dave Barach [Mon, 22 Jul 2019 14:55:05 +0000 (10:55 -0400)]
docs: improve home gateway use-case documentation

Add plugin config, systemd config, netplan config, software
installation via ssh, and a quick HowTo for setting up a double-nat
test gateway.

Fix a minor doc bug which caused a complaint on vpp-dev@lists.fd.io:
/etc/vpp/startup.conf -> /setup.gate, but the vpp configuration file
wasn't explicitly tagged with the name /setup.gate.

Type: docs

Change-Id: Ib219040d7c3c8b50ed66f8e9d3afd3dcf51b6b7b
Signed-off-by: Dave Barach <dave@barachs.net>
4 years agoquic: move patch for quicly 0.0.3 76/20776/1
Aloys Augustin [Mon, 22 Jul 2019 14:50:36 +0000 (16:50 +0200)]
quic: move patch for quicly 0.0.3

Change-Id: I58e58f1f297820b110013f4bf6ede827ced94a3d
Type: fix
Fixes: 5ff9765
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agoquic: update quicly library 57/20657/3
Aloys Augustin [Mon, 8 Jul 2019 14:12:38 +0000 (16:12 +0200)]
quic: update quicly library

Update quicly to latest version that includes our upstreamed patch.

Change-Id: I0b26c72e49bce81daf4fb069b5818defd6cf25b9
Type: feature
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
4 years agogso: Fix the l3 packet gso segment size 28/20628/4
Mohsin Kazmi [Fri, 12 Jul 2019 11:18:16 +0000 (13:18 +0200)]
gso: Fix the l3 packet gso segment size

Type: fix
Ticket: VPP-1721

Change-Id: I7a5d4f1440048ddc9f599ac11d06e5a7df20440e
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
4 years agogtpu: fix missing trace issue 65/20765/2
Zhiyong Yang [Mon, 22 Jul 2019 08:50:32 +0000 (04:50 -0400)]
gtpu: fix missing trace issue

Type: fix

Change-Id: I1e1c39452edd94712455d102a6faad58bc7f66ff
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agostats: fix use-after-free hash key string 56/20556/3
Benoît Ganne [Mon, 8 Jul 2019 12:39:02 +0000 (14:39 +0200)]
stats: fix use-after-free hash key string

Hash keys are not copied by the hash infrastructure, instead the pointer
is used directly. stat_segment_register_gauge() does not allocate a
private object for the key, causing issues when it is freed or reused.
Allocate a private object on insertion into the hashtable instead.

Type: fix
Fixes: 92e3082199d10add866894e86a9762d79a3536c4

Change-Id: Ifb6addfcaec81bdb7ea3512050ce55f06ef09a4c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
4 years agofib: FIB Entry tracking 81/20681/4
Neale Ranns [Tue, 16 Jul 2019 15:28:52 +0000 (15:28 +0000)]
fib: FIB Entry tracking

Instead of all clients directly RR sourcing the entry they are tracking,
use a deidcated 'tracker' object. This tracker object is a entry
delegate and a child of the entry. The clients are then children of the
tracker.
The benefit of this aproach is that each time a new client tracks the
entry it doesn't RR source it. When an entry is sourced all its children
are updated. Thus, new clients tracking an entry is O(n^2). With the
tracker as indirection, the entry is sourced only once.

Type: feature

Change-Id: I5b80bdda6c02057152e5f721e580e786cd840a3b
Signed-off-by: Neale Ranns <nranns@cisco.com>
4 years agosession: improve event logging 51/20751/8
Florin Coras [Fri, 19 Jul 2019 14:34:13 +0000 (07:34 -0700)]
session: improve event logging

Type:feature

Change-Id: I67a52ee48963a66915e2ebd116626eb9c296a9a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agovcl: fix coverity warning 59/20759/1
Florin Coras [Fri, 19 Jul 2019 19:15:52 +0000 (12:15 -0700)]
vcl: fix coverity warning

Type:fix

Change-Id: I7b91ce9359f94131882ab430606586b1a6cf3e02
Signed-off-by: Florin Coras <fcoras@cisco.com>
4 years agobonding: add support for numa-only in lacp mode 52/20352/8
Zhiyong Yang [Wed, 26 Jun 2019 09:49:14 +0000 (05:49 -0400)]
bonding: add support for numa-only in lacp mode

If numa-only is set, Only slaves on local numa node
transmit pkts if have at least one, otherwise the bond
interface works as usual.

CLI change:
create bond mode lacp [load-balance { l2 | l23 | l34 } {numa-only}]
[hw-addr <mac-address>] [id <if-id>]

The new member "u8 numa_only;" is also added to bond_create_if_args_t.

Type: feature

Change-Id: Icdccedafb0738d8c9d4a5acce909ce562428c071
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
4 years agosession: Use parent_handle instead of transport_opts 92/20692/5
Nathan Skrzypczak [Wed, 17 Jul 2019 09:02:20 +0000 (11:02 +0200)]
session: Use parent_handle instead of transport_opts

Type: feature

This is mostly used for quic in the case of a stream
creation (i.e. connect on an already established QUIC
session). We want do default parent_handle to INVALID
to be able to distinguish it from parent_handle = 0

Change-Id: Id5ac0b0155a3c44e51334231b711e4fd87a96a10
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
4 years agovat: remove #if BUILTIN from vat_main_t definition 45/20745/2
Dave Barach [Fri, 19 Jul 2019 12:25:37 +0000 (08:25 -0400)]
vat: remove #if BUILTIN from vat_main_t definition

Otherwise, vat plugins will be confused about the offset from &vat_main
of the vlib_main_t * pointer, leading to NULL pointer crashes.

Type: fix

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