8216 Commits

Author SHA1 Message Date
Vratko Polak
dea0b23fa7 vlib: fix an issue with show pci
The fix has been received over e-mail from Lijian Zhang.
https://lists.fd.io/g/vpp-dev/message/14808

Type: fix
Ticket: VPP-1805

Change-Id: I73e5fe7dcbe2b0b1c639d844f29183eab3b6dd66
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2019-12-17 18:06:29 +00:00
Oliver Giles
dc20371f83 build: export vapi generation in vpp-dev
Adds the higher-level vapi generation to cmake/api.cmake and exposes
the necessary python scripts in vpp-dev, so that out-of-tree/downstream
plugins can also leverage the more convenient API.

Type: feature

Signed-off-by: Oliver Giles <oliver_g@radwin.com>
Change-Id: I8c40a14d27ba3cb972c6907632e03c0e7b0ce982
2019-12-17 18:05:15 +00:00
Bernhard M. Wiedemann
3d14f03619 build: Allow to override build date with SOURCE_DATE_EPOCH
and make host and user overridable
in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Also switch to UTC to be independent of timezone.
Also use ISO 8601 date format to be easier to parse.
This is similar to c9f40227836b827b71a6cbc4744d4b7151b2fcef
and df82ec8fe7d91467c8b479bba74c761c0a6ffc59
which was lost in the move away from automake.

Note: This date call is designed to work with different flavors
of date (GNU, BSD and others).
If only GNU (Linux) support is needed, the patch can be simplified.

This PR was done while working on reproducible builds for openSUSE.

Type: fix

Change-Id: If4cab12320e6b5fcb1f2842fac5d745b33b01ed7
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
2019-12-17 18:03:56 +00:00
Benoît Ganne
62d9fda8e4 vlib: fix vector-as-C-string overflow
Type: fix

Change-Id: If0419ff1a82d45e5b3326973008e1b9feb290c5a
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 18:01:57 +00:00
Benoît Ganne
b2f09146c9 misc: address sanitizer: fix instrumentation
Type: fix

Change-Id: I99e3951f8cfb7ab9d2f0a7dcee92199eab29043c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:58:47 +00:00
Benoît Ganne
8d27fa73f2 classify: add complex encap packet tracing test
Type: test

Change-Id: I392975c00d7dae86dacedf7559aafa431e71cb14
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:58:05 +00:00
Benoît Ganne
71a70d73f3 classify: forbid invalid match config
Forbid too long match to be configured.

Type: fix

Change-Id: Icfced0f86821d5febd6a3c81e1315bd9737498c0
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:57:47 +00:00
Neale Ranns
f62a8c013c ipsec: bind an SA to a worker
the sequence number increment and the anti-replay window
checks must be atomic. Given the vector nature of VPP we
can't simply use atomic increments for sequence numbers,
since a vector on thread 1 with lower sequence numbers could
be 'overtaken' by packets on thread 2 with higher sequence
numbers.
The anti-replay logic requires a critical section, not just
atomics, and we don't want that.
So when the SA see the first packet it is bound to that worker
all subsequent packets, that arrive on a different worker,
are subject to a handoff.

Type: feature

Change-Id: Ia20a8645fb50622ea6235ab015a537f033d531a4
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 17:57:24 +00:00
Chenmin Sun
f2bde7ac51 dpdk: add devargs support
Type: feature

This patch adds the devargs support for dpdk device
The devargs are used as hardware-specific init args for dpdk devices
please refer to the nic guides under
$(DPDK_DIR)/doc/guides/nics/$(NIC_DRIVER).rst

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: Id380d04720090bb66afe5ce09d664e5e248b8eb9
2019-12-17 17:55:34 +00:00
Benoît Ganne
a7cb357491 vppinfra: fix cpu flag string overflow
Type: fix

Change-Id: Idb1fff8a172034044bb33d5b271a84d1fd672ef5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:53:43 +00:00
Benoît Ganne
7176b800fa perfmon: fix per-worker data initialization
When perfmon_init is called at initialization time worker threads are
not created yet and vec_len(vlib_mains) returns 1.
Initialize per-worker data when the number of workers is known, when
enabling data collection instead.

Type: fix

Change-Id: I36887cc7b2a3e88d9728d3cd7262d9b1c968dd3c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:53:07 +00:00
Neale Ranns
e11dce20c9 nhrp: mGREv6
Type: test

Change-Id: I7d0496c37e06d3b6eee325a262e5398860282b63
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 17:52:28 +00:00
Benoît Ganne
70ef0faea9 l2: fix l2input_feat_names overflow
Type: fix

Change-Id: I59549b3aab5a0ccfe7db02757f78528e028121a5
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-12-17 17:51:52 +00:00
Mohsin Kazmi
edf3b4b04c virtio: fix the tx queue thread binding
Type: fix

Change-Id: Ibbe7e20aebc9153ceba07e048dc0eaa45193f4ea
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-12-17 17:51:04 +00:00
Nathan Skrzypczak
d1b9e70684 quic: Implement crypto contexts
Type: feature

Make quic use the crypto contexts. This introduces a crypto context
pool backed by a hashtable giving ctx indexes by connect params
(ckpair, engine, rx & tx fifo sizes).
Applications keep the initialization vector common.

Change-Id: I22ed6711196cd70a2f2f74240f12113c7af8dfcd
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-17 17:03:50 +00:00
Mohsin Kazmi
70ae4efaa9 gso: minor fixes to gso segmentation
Type: fix

Change-Id: I01602ba7f1a4820c7790a771a5a7281ed66ff905
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-12-17 16:57:46 +00:00
Dave Barach
328631d4ee docs: improve compressed core file documentation
In particular, document "zcat vpp_core.gz | dd conv=sparse of=vpp_core"

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I01b70492ced864b47847c2ef7bc1ea8eb0980ec3
2019-12-17 09:36:06 -05:00
Neale Ranns
cbe25aab3b ip: Protocol Independent IP Neighbors
Type: feature

 - ip-neighbour: generic neighbour handling; APIs, DBs, event handling,
aging
 - arp: ARP protocol implementation
 - ip6-nd; IPv6 neighbor discovery implementation; separate ND,
MLD, RA
 - ip6-link; manage link-local addresses
 - l2-arp-term; events separated from IP neighbours, since they are not
the same.

vnet retains just enough education to perform ND/ARP packet
construction.
arp and ip6-nd to be moved to plugins soon.

Change-Id: I88dedd0006b299344f4c7024a0aa5baa6b9a8bbe
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 10:56:20 +00:00
wanghanlin
96453fd241 vcl: RX event may lost when accept session repeatedly
Type: fix

Some applications may call accept repeatedly to process all connect
request until get EAGIAIN error. Subsequent call may get RX event of
previous accepted session, then should process it rather than just
discard it.

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Ice53442de66289a62591b79a9cc31e883e894c23
2019-12-17 07:49:40 +00:00
MathiasRaoul
ecb9d18c59 quic: update quicly to v0.0.8-vpp
Type: feature

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I7470d79d1e39716ff83ba2d2b320813d79e2554c
2019-12-17 05:05:41 +00:00
Neale Ranns
3fd9904743 fib: Glean on NBMA interface points to drop
Type: fix

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Iaae7a9e120bbf8168c581b06d3ac0e124b32e0e7
2019-12-17 00:17:19 +00:00
Neale Ranns
e7ee300923 fib: Adjacency walk fix for IPv6
Type: fix

Change-Id: Id3a1950e49d5eb1883af06a14df97e98f55162a8
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-17 00:11:03 +00:00
Neale Ranns
f50bac1bb2 vppinfra: bihash walk cb typedef and continue/stop controls
Type: feature

Change-Id: I28f7a658be3f3beec9ea32635b60d1d3a10d9b06
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-16 23:29:21 +00:00
Neale Ranns
77cfc0171d fib: Adjacency creation notifications for dlegates
Type: feature

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3feddfe44dee528b9ca05aa0150e9423306ae49d
2019-12-15 22:26:37 +00:00
snaramre
5d4b8912d2 tests: changes for scapy 2.4.3 migration
Type: fix
Change-Id: I7e041b666dabd90df23a920a1f1d99db4c10ddfe
Signed-off-by: snaramre <snaramre@cisco.com>
2019-12-14 22:14:12 +00:00
Steven Luong
aa72578637 bonding: Add /if/lacp/<bond-sw_if_index>/<slave-sw_if_index>/partner-state
We already had /if/lacp/<bond-sw_if_index>/<slave-sw_if_index>/state in
the stats segment. Add also the partner-state to be complete.
Change to populate stats segment with the states at startup, after processing
an lacp pdu, and after timer expiration.

Unit test
---------
sudo vpp_get_stats dump | grep /if/lacp
63.00 /if/lacp/3/1/state
61.00 /if/lacp/3/1/partner-state
63.00 /if/lacp/3/2/state
61.00 /if/lacp/3/2/partner-state

Type: feature

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ib7b8e1183d572bb6e422a846aaa2b7b3559a0dc7
2019-12-13 22:28:55 +00:00
Nathan Skrzypczak
380e857830 hsa: Fix timing & nits
Type: fix

Change-Id: I4fef896a3556df75532ef938ca2e263287dd74e8
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-13 22:05:49 +00:00
Klement Sekera
407f593dc0 ip: SVR: fix wrong return value
Type: fix

Change-Id: I9498b660bf2045bb6aac96d19bb9456a14b35847
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-12-13 14:08:19 +00:00
Filip Tehlar
4c6b1b6da5 ikev2: fix crash during SA rekey
Type: fix

Change-Id: Ib00ab9b2f28c0f4d85e96bf95697f61b8e415f37
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-12-12 23:01:10 +00:00
Florin Coras
64cf459bc9 vcl: fix disconnect from binary api
Type: fix

Change-Id: I4398d26879b5efd932fa1d9ae232aa918ec736d6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-12 12:06:16 -08:00
Dave Barach
6d5df8d229 vlib: fix "<command> help"
Walk the sub_commands vector directly.

Type: fix
Fixes: 6b3f25caff262b536a5449ac5461dd041c92a655

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I3022b39e5a739647ec68effc6756166ce2da85b6
2019-12-12 18:02:48 +00:00
Florin Coras
ef4f3e7fea session svm: support for segments larger than 4GB
Type: feature

Change-Id: I7d3017bbb369261d74f51807a226f2c12f45291c
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-12 17:38:30 +00:00
Ole Troan
38277e4071 gbp: use explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: Ia886858fe608782d64a5346dd33e1e9fa22d8b8f
2019-12-12 16:10:40 +00:00
Florin Coras
62ddc03029 session svm: per thread fifo segment slices
Type: refactor

Change-Id: I9be652e56cdb48b0aee3253f7ce8d9bed299d824
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2019-12-12 15:20:10 +00:00
Ole Troan
a0bf06d74c avf: explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: If693e066eeb9312d4535893c279446dc43e8baa2
2019-12-12 13:35:10 +00:00
Filip Varga
e6eaa24f15 nat: session cleanup fix
Ticket: VPP-1795
Type: fix

Change-Id: Ib3b5742119d7013c293a11eb3dd1aadf46b422dd
Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-12-12 13:34:41 +00:00
Ole Troan
b644eb54f2 rdma: add explicit types in api
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I80c674b73b7f86cf159b8779aab31a87b20def9a
2019-12-12 08:55:25 +00:00
John DeNisco
4f85968a43 docs: Rework the startup configuration section
Type: docs

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: Ic60aac96a4aeb5532f98dfb85c776bf549c0d660
Signed-off-by: Dave Barach <dave@barachs.net>
2019-12-11 20:41:24 +00:00
Florin Coras
d4c709222b vcl: separate binary api connections per thread worker
Type: fix

Change-Id: I2d72efc74a3b0a5b9e4da265475b1b01bf361125
Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-12-11 19:26:27 +00:00
Nathan Skrzypczak
0aa4013e20 api: Use vl_msg_push/pop_heap
Type: refactor

Change-Id: I0eb46676fc22ce6825b2d879498df344b5a855e8
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 16:54:26 +00:00
Nathan Skrzypczak
cfdb109180 session: Add mq debug cli
Type: feature

This add a `show app message queue` cli command
that shows mq size per app & thread.

Change-Id: I5c6ce024b149fb7a47d899bc514c5a4887429982
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 16:46:51 +00:00
Nathan Skrzypczak
c00f480ba0 quic: Add support for unidirectional streams
Type: feature

Change-Id: I3a642626a444504594c5e3df40dbc92df54136f0
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 16:44:24 +00:00
Nathan Skrzypczak
f98e59b86d hsa: Add option for multiple ips
Type: feature

Change-Id: I133f12f9075a09bda0c5c1ed143d03838b33f6da
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 16:39:56 +00:00
Nathan Skrzypczak
038c7e662a quic: Use per thread next_cid
Type: fix

Change-Id: Ia89427257b78f6f7ba62c9d1076bf0593ee2dca7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 15:44:26 +00:00
Jakub Grajciar
5d4c99f27e devices: vhost API cleanup
Use consistent API types.

Type: fix

Change-Id: I2dec594cb834a45004edc9ca58ad7c7b4bd7ff06
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11 15:23:55 +00:00
Nathan Skrzypczak
deaf97f453 quic: Add aggregated quicly stats
Type: feature

Change-Id: Ice8de7030a0330cfe77a58657701f0703e0695dd
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-12-11 11:00:15 +01:00
MathiasRaoul
1802fcc5f1 quic: add more detailed statistics
Type: feature

Change-Id: I3df7b054ec08c7b307413d24468fc3df6a5aacc3
Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-12-11 10:58:52 +01:00
Jakub Grajciar
5de4fb7076 devices: tap API cleanup
Use consistent API types.

Type: fix

Change-Id: I11cc7f6347b7a60e5fd41e54f0c7994e2d81199f
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-12-11 09:39:42 +00:00
Neale Ranns
8dc75c0cc3 ipsec: Init salt value in SA creation CLI (so it's not random)
Type: fix

Change-Id: Idf4d0b59a1eb2c739a67a4786470884050f81561
Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-12-10 21:24:57 +00:00
MathiasRaoul
05d7312ebe quic: removing quicly_send call from quic_accept_connection
Type: fix

Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
Change-Id: I429b50b88c8e029b06854c7433d0bc77619e98a3
2019-12-10 14:44:44 +00:00