vpp.git
5 years agoitf: dump interface rx-placement 51/14751/5
Mohsin Kazmi [Mon, 10 Sep 2018 16:11:00 +0000 (18:11 +0200)]
itf: dump interface rx-placement

Change-Id: I7dd48c8a2c77f82a2c1aa8311b062f5f0bc4e3fd
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoFIB: recusrive paths must lock the table to prevent its deletion 42/14942/4
Neale Ranns [Tue, 11 Sep 2018 02:14:07 +0000 (19:14 -0700)]
FIB: recusrive paths must lock the table to prevent its deletion

Change-Id: I958bf057be751dc7b3a0d93080021b3addc405b7
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoL2 BD: introduce a BD interface on which to send UU packets 89/14689/5
Neale Ranns [Wed, 5 Sep 2018 16:13:57 +0000 (09:13 -0700)]
L2 BD: introduce a BD interface on which to send UU packets

Change-Id: I21ad6b04c19c8735d057174b1f260a59f2812241
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoMPLS tunnel dump fix 72/14972/1
Neale Ranns [Tue, 25 Sep 2018 14:22:36 +0000 (07:22 -0700)]
MPLS tunnel dump fix

Change-Id: I9d3d5243841d5b888f079e3ea5dc1e2e8befd1dc
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agodpdk: show pluggable info in 'show hardware' 56/14956/3
Damjan Marion [Mon, 24 Sep 2018 13:17:36 +0000 (15:17 +0200)]
dpdk: show pluggable info in 'show hardware'

    module: id SFP/SFP+/SFP28, compatibility: 40g_active_cable
            vendor: Amphenol, part NDCCGF-I202
            revision: C, serial: APF1711202351C, date code: 170318
            cable length: 2m

Change-Id: Ife35607b4f078f7b56737fe066ad4cbd247a7504
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoBIER; bi-dir to/from underlay 66/14966/4
Neale Ranns [Tue, 25 Sep 2018 06:38:37 +0000 (23:38 -0700)]
BIER; bi-dir to/from underlay

set and check a special RX interface value as the packet enters and
exits a BIER domain

Change-Id: I5ff2f0e2d1b3ce0f3598b935f518fc11eb0896ee
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoacl-plugin: optimize session idle timer checks 21/14821/7
Andrew Yourtchenko [Fri, 14 Sep 2018 09:21:58 +0000 (11:21 +0200)]
acl-plugin: optimize session idle timer checks

This commit adds explicit signaling from a non-owning thread to the owning thread
to restart the session timer as necessary.

Consequently, we now can sweep the session lists at their respective timeouts,
rather than sweeping all the lists at the pace of the shortest timeout value,
just taking care to wake up if the session requeue to a different list results
in needing to wake up earlier.

Change-Id: Ifc8c500f6988748f4cd3dc184dd7824321aaaaca
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agodpdk: add patch to fix 25G AOC cable detection 68/14968/2
Damjan Marion [Tue, 25 Sep 2018 08:19:25 +0000 (10:19 +0200)]
dpdk: add patch to fix 25G AOC cable detection

Change-Id: I6b54d4c7767a20b875b5bc05f23a7ac15cb9fbcc
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoUDP-Encap: fix coverity found error 67/14967/2
Neale Ranns [Tue, 25 Sep 2018 07:30:23 +0000 (00:30 -0700)]
UDP-Encap: fix coverity found error

Change-Id: Idbe5f4d7f37dbe4dbf8d2679c3d816aeaed148d8
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agotcp: accept rst+ack in syn-rcvd state 62/14962/2
Florin Coras [Mon, 24 Sep 2018 21:40:40 +0000 (14:40 -0700)]
tcp: accept rst+ack in syn-rcvd state

Change-Id: I49da8be88dd033aae1b190e8e2163069ef480442
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotcp: add option to cfg max rx fifo size 60/14960/5
Florin Coras [Mon, 24 Sep 2018 20:58:05 +0000 (13:58 -0700)]
tcp: add option to cfg max rx fifo size

Change-Id: Icff3d688506e7658330db004c58bcfcac273fcec
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoEnable verbose output during VPP cmake compiling 63/14963/2
Lijian Zhang [Thu, 20 Sep 2018 10:40:56 +0000 (18:40 +0800)]
Enable verbose output during VPP cmake compiling

During VPP compiling, the command “make build-release V=1” gives verbose output on dpdk part.
This is to enable verbose output on vpp part, with CMAKE_VERBOSE_MAKEFILE:BOOL=ON passed to cmake.
It would help to get more cmake compiling information.

Change-Id: I2b01c8e234beb3189fe401801ff339f224c14470
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Sirshak Das <Sirshak.Das@arm.com>
5 years agobond: crash when deleting bond interface [VPP-1427] 65/14965/3
Steven [Tue, 25 Sep 2018 04:09:36 +0000 (21:09 -0700)]
bond: crash when deleting bond interface [VPP-1427]

After the slave interface is removed from bond, bond input node still receives traffic for
the slave interface.

We have to disable feature arc for the corresponding slave interface.

Change-Id: I44e7001e6685e290b032c48147d02911a55d547b
Signed-off-by: Steven <sluong@cisco.com>
5 years agovmxnet3: guard against array overflow 61/14961/2
Steven [Mon, 24 Sep 2018 21:23:44 +0000 (14:23 -0700)]
vmxnet3: guard against array overflow

Under extreme condition, it is possible for input node to have more than 256 packets available
to process. Add a check to the while loop to prevent overrun buffer_indices and nexts.

Change-Id: Id9830e5c254f04216eb79e864a5460e08cf2e4e5
Signed-off-by: Steven <sluong@cisco.com>
5 years agoNAT44: fix nat44_o2i_ed_is_idle_session_cb (VPP-1424) 48/14948/2
Matus Fabian [Mon, 24 Sep 2018 10:44:49 +0000 (03:44 -0700)]
NAT44: fix nat44_o2i_ed_is_idle_session_cb (VPP-1424)

Change-Id: I47e1fc789ddf3dbfdf9768b99d5c3a8804d6b750
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoNAT44: endpoint-dependent mode session timeout improvement (VPP-1423) 49/14949/2
Matus Fabian [Mon, 24 Sep 2018 11:41:28 +0000 (04:41 -0700)]
NAT44: endpoint-dependent mode session timeout improvement (VPP-1423)

Change-Id: I630f3da1ea4e6e50a50f1352c097becef1efe3c0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoAdd the sphinx docs build options 57/14957/5
jdenisco [Mon, 24 Sep 2018 18:59:33 +0000 (14:59 -0400)]
Add the sphinx docs build options

Change-Id: If7ac5b41ca4ac602a100b616b37d07f658fd6a90
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agonsim: fix multiple definitions of nsim_node 58/14958/2
Damjan Marion [Mon, 24 Sep 2018 19:02:13 +0000 (21:02 +0200)]
nsim: fix multiple definitions of nsim_node

Change-Id: Iedd79eeba35fb7385c03a177f8ac7d3ddfeb6a84
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agosvm: march svm_fifo take 2 83/14883/3
Florin Coras [Wed, 19 Sep 2018 06:11:55 +0000 (23:11 -0700)]
svm: march svm_fifo take 2

Change-Id: Ifa4fceef7edbe43d444790a624957db0817064de
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoavf: rename interface name 53/14953/1
Damjan Marion [Mon, 24 Sep 2018 18:30:32 +0000 (20:30 +0200)]
avf: rename interface name

Change-Id: I4a1dca92a69547f8b26e9aec7574332f39e43c37
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoARP: don't use RPC for requests initiated from the main thread 44/14944/2
Neale Ranns [Mon, 24 Sep 2018 08:34:11 +0000 (08:34 +0000)]
ARP: don't use RPC for requests initiated from the main thread

Change-Id: If833680149eb33db6adc836c5330f350042869f4
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoNetwork delay simulator plugin 37/14937/6
Dave Barach [Fri, 21 Sep 2018 17:10:28 +0000 (13:10 -0400)]
Network delay simulator plugin

Change-Id: I4a70c7df8f0cb368a4e1cb16f30eeef5c6058c79
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agoTrivial: Clean up some typos. 40/14940/6
Paul Vinciguerra [Sat, 22 Sep 2018 12:32:50 +0000 (05:32 -0700)]
Trivial: Clean up some typos.

Change-Id: I085615fde1f966490f30ed5d32017b8b088cfd59
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoLB: fix flush flow table issue 61/14861/7
Hongjun Ni [Tue, 18 Sep 2018 15:25:02 +0000 (23:25 +0800)]
LB: fix flush flow table issue

Change-Id: Ib0a06ab71aed42eb5bb2ab2edf4844b2167e0610
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
5 years agovcl: remove vcl_event 39/14939/2
Florin Coras [Sat, 22 Sep 2018 00:55:04 +0000 (17:55 -0700)]
vcl: remove vcl_event

Change-Id: I0f805ae47f6e9465070a54d85f164bc74877af01
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agofix following error in debian jessie: 41/14941/1
Khers [Sat, 22 Sep 2018 14:23:06 +0000 (17:53 +0330)]
fix following error in debian jessie:
'‘for’ loop initial declarations are only allowed in C99 or C11 mode'

Change-Id: Id842382f884122555abaa936c56cdfd305f2a5f3
Signed-off-by: Khers <s3m2e1.6star@gmail.com>
5 years agovmxnet3: Add hardware link status handling 35/14935/3
Steven [Fri, 21 Sep 2018 14:55:07 +0000 (07:55 -0700)]
vmxnet3: Add hardware link status handling

Added an interrupt line for monitoring and notifying hardware link status
Displayed additional information for show hardware for vmxnet3 interface
Fixed possible garbage display on interface name for show vmxnet3

Change-Id: If457bfe7c216287fb3a4e2630f00434d595f387b
Signed-off-by: Steven <sluong@cisco.com>
5 years agoadd: nasm and ipsec-mb into vpp-ext-deps packaging 33/14933/4
Damjan Marion [Fri, 21 Sep 2018 10:27:45 +0000 (12:27 +0200)]
add: nasm and ipsec-mb into vpp-ext-deps packaging

Change-Id: Ie5d85af84ae0d8b15edf5962213ed1b1953bee2f
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFixed japi/java/Makefile.am so the JAR for NSH plugin builds as well. 95/14895/2
Tibor Král [Wed, 19 Sep 2018 14:14:22 +0000 (16:14 +0200)]
Fixed japi/java/Makefile.am so the JAR for NSH plugin builds as well.

Change-Id: I15b3e51d6e0206f4a387eb2ce764914167149385
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
5 years agoNAT: Refactoring / Housekeeping (VPP-1415) 26/14926/2
Matus Fabian [Fri, 21 Sep 2018 06:18:41 +0000 (23:18 -0700)]
NAT: Refactoring / Housekeeping (VPP-1415)

Change-Id: Ia3ce24cc94f9b2fb331ad62a4181ddcd41bc78ca
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoAdd more CLI options to vpp_api_test for calling ip_add_del_route 24/14924/3
John Lo [Thu, 20 Sep 2018 20:07:00 +0000 (16:07 -0400)]
Add more CLI options to vpp_api_test for calling ip_add_del_route

Change-Id: I114e93b6bc71cfcdcfe6d3ddde26f77118e36ab8
Signed-off-by: John Lo <loj@cisco.com>
5 years agotcp: accept fin-ack in syn-rcvd state 25/14925/2
Florin Coras [Fri, 21 Sep 2018 01:36:54 +0000 (18:36 -0700)]
tcp: accept fin-ack in syn-rcvd state

Change-Id: Ibe57abc7d2a06be80146ce28edf4c60ecda991eb
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovhost: show vhost may display garbage after the interface name 20/14920/2
Steven [Thu, 20 Sep 2018 18:50:35 +0000 (11:50 -0700)]
vhost: show vhost may display garbage after the interface name

DBGvpp# show vhost-user
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0�?x�D (ifindex 3)

The fix is to use format_vnet_hw_if_index_name rather than hi->name. The former
format the name with %v rather than %s

Change-Id: If4d275e1eb249cf87b2d6b796b42f24769f9e3e3
Signed-off-by: Steven <sluong@cisco.com>
5 years agobihash template: avoid memory leak upon rehash 14/14914/4
Andrew Yourtchenko [Thu, 20 Sep 2018 13:36:51 +0000 (15:36 +0200)]
bihash template: avoid memory leak upon rehash

Call the BV (value_free) when we have performed the rehash
and thus no longer need the memory that old value for the
bucket refers to.

Change-Id: Ibb82174fc8002aeb3e1a6c8d1f90293d73bc45d8
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agorename vpp-dpdk-dev to vpp-ext-deps 78/14878/4
Damjan Marion [Tue, 18 Sep 2018 16:41:38 +0000 (18:41 +0200)]
rename vpp-dpdk-dev to vpp-ext-deps

We need to have new tenants in the development package.
This is first of series of patches which will allow us to have multiple
external libs and tools packaged for developer's convenience.

Change-Id: I884bd75fba96005bbf8cea92774682b2228e0e22
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoUDP-Encap: name counters for the stats segment 34/14734/6
Neale Ranns [Fri, 7 Sep 2018 15:57:41 +0000 (08:57 -0700)]
UDP-Encap: name counters for the stats segment

change the ADD api so that is returns the 'ID' that can be used
by the client to read the stats from the stats segment and to
delete the object. Previously a similar value used required
to be chosen by the client, now VPP allocates one (like it
does e.g. for interfaces)

Change-Id: I563cf6092276eb990c52d5457c86e72546bcf69e
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoSR-MPLS: MPLS table checks (VPP-1422) 10/14910/2
Neale Ranns [Thu, 20 Sep 2018 09:49:25 +0000 (02:49 -0700)]
SR-MPLS: MPLS table checks (VPP-1422)

Change-Id: I397715ea8c1966f5ee61128f284d62d875c568e1
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agosession/svm: add want_tx_event flag to fifo 01/14901/4
Florin Coras [Tue, 18 Sep 2018 05:09:02 +0000 (22:09 -0700)]
session/svm: add want_tx_event flag to fifo

Have applications use explicit flag to request events from vpp when it
transmits from a full fifo.

Change-Id: I687c8f050a066bd5ce739d880eaec1f286038d95
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoRoute counters in the stats segment 97/14897/3
Neale Ranns [Fri, 7 Sep 2018 16:32:36 +0000 (09:32 -0700)]
Route counters in the stats segment

route ADD API changed to return the stats segment index to use to read the counters

Change-Id: I2ef41e01eaa2f9cfaa49d9c88968897793825925
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovhost-user: Add disable feature support in api 31/14431/6
Mohsin Kazmi [Tue, 21 Aug 2018 14:07:03 +0000 (16:07 +0200)]
vhost-user: Add disable feature support in api

Two flags to disable mergable rx buffers and indirect
descriptors are added to api.

Change-Id: Iba0ee9c48d19dfc3d3420a3fdaf44a1a1d325e99
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
5 years agoNAT44 virtual fragmentation reassembly for endpoint-dependent mode (VPP-1325) 05/13705/13
Juraj Sloboda [Mon, 23 Jul 2018 10:22:54 +0000 (12:22 +0200)]
NAT44 virtual fragmentation reassembly for endpoint-dependent mode (VPP-1325)

Change-Id: I36ece2ef2eaef9fa559d69ec7f7f07e7c16a7a9d
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
5 years agovmxnet3: invoke vlib_buffer_enqueue_to_next() with the wrong buffers for chain buffers 00/14900/2
Steven [Wed, 19 Sep 2018 22:30:25 +0000 (15:30 -0700)]
vmxnet3: invoke vlib_buffer_enqueue_to_next() with the wrong buffers for chain buffers

If we invoke the subject API with 2 buffers, each with 2 chains, the content of
buffers[0] should be head of 1st buffer, and content of buffer[1] should be
head of 2nd buffer.

What the code did was to put
buffers[0] = head of 1st buffer
buffers[1] = next chain of 1st buffer
buffers[2] = head of 2nd buffer
buffers[3] = next chain of 2nd buffer

This is wrong and can cause crash.

The fix is to only increment bi when the entire packet is found which may consist
of multiple fragments.

Change-Id: If02cd5186a039d7a6c08a0959112840bdb242317
Signed-off-by: Steven <sluong@cisco.com>
5 years agoVPP-1421: Reworked results gathering 93/14893/6
juraj.linkes [Wed, 19 Sep 2018 13:01:47 +0000 (15:01 +0200)]
VPP-1421: Reworked results gathering

The previous version sent the whole VPPTestResult object through pipe,
which uses pickle to transfer objects. Pickle does not support sending
any arbitrary objects and was causing issues. Now just a tuple of
(test_id, result) is sent.

Change-Id: I3a3a9e6f1b9ac9b05889babfc1f7560c7ac4471c
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
5 years agobihash template: reinstate the check for the available memory in the arena 94/14894/2
Andrew Yourtchenko [Wed, 19 Sep 2018 13:50:55 +0000 (15:50 +0200)]
bihash template: reinstate the check for the available memory in the arena

ffb14b9554afa1e58c3657e0c91dda3135008274 has changed the semantics
of alloc_arena_next to become an offset off alloc_arena, but
in the available memory check in BV (alloc_aligned) it still treats
it as a virtual address, resulting in the check always succeeding,
thus over a prolonged period bihash arena allocator
potentially overwriting whatever is following the arena.

Change-Id: I18882c5f340ca767a389e15cca2696a0a97ef015
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoGRE: fix 4o6 and 6o4 adj stacking 91/14891/2
Neale Ranns [Wed, 19 Sep 2018 11:55:32 +0000 (04:55 -0700)]
GRE: fix 4o6 and 6o4 adj stacking

Change-Id: I13dc5eab8835c4f3b95906816d42dccfeee8b092
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agodpdk: mask and warn if rx/tx offload is not available 88/14888/2
Damjan Marion [Wed, 19 Sep 2018 08:39:43 +0000 (10:39 +0200)]
dpdk: mask and warn if rx/tx offload is not available

Warning messsage is displayed in system log:
vpp# show log
1970/ 1/ 1 01:00:01:198 warn       dpdk       unsupported rx offloads requested on port 0: scatter

Change-Id: I40021066daf2d37ca5233e3adce55e412f0d3932
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoL2-fib-dump: send 1 or 0 rather than flag value 89/14889/2
Neale Ranns [Wed, 19 Sep 2018 11:07:02 +0000 (04:07 -0700)]
L2-fib-dump: send 1 or 0 rather than flag value

Change-Id: I487b3b480347f60ffe3af4029adfb22b6700cea7
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agosocket api: do not delay sending of messages 23/13923/7
Florin Coras [Thu, 2 Aug 2018 19:16:03 +0000 (12:16 -0700)]
socket api: do not delay sending of messages

Instead of relying on main epoll loop to send messages, try to send as
soon as possible.

Change-Id: I27c0b4076f3599ad6e968df4746881a6717d4299
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agonat: free port_bitmap 60/14760/5
dongjuan [Tue, 11 Sep 2018 11:20:30 +0000 (11:20 +0000)]
nat: free port_bitmap

Change-Id: Ied0fc50f1afb0f7fc563784544699726a6d03380
Signed-off-by: dongjuan <dong.juan1@zte.com.cn>
5 years agosession: improve close procedure 81/14881/2
Florin Coras [Tue, 18 Sep 2018 23:12:50 +0000 (16:12 -0700)]
session: improve close procedure

Change-Id: I6201a044e70ab6a58db8212960c57edc77c41f96
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoFix documentation for SHG in bridge domain 80/14880/1
Yichen Wang [Wed, 19 Sep 2018 00:32:29 +0000 (17:32 -0700)]
Fix documentation for SHG in bridge domain

Change-Id: If094971cf011d09fa0daf3ff393f490e584c1151
Signed-off-by: Yichen Wang <yicwang@cisco.com>
5 years agovmxnet3: add support for "non-default" next node 79/14879/2
Steven [Tue, 18 Sep 2018 19:34:59 +0000 (12:34 -0700)]
vmxnet3: add support for "non-default" next node

Support feature arc
Support set interface next node
Enqueue packet to either ip4, ip6, or ethernet_input based on packet type

Change-Id: I11fb6bba98ee0bfa1d057474fc6cf3be48ef1c48
Signed-off-by: Steven <sluong@cisco.com>
5 years agodocs: Added Related Projects and Archive 56/14856/2
jdenisco [Mon, 17 Sep 2018 19:39:09 +0000 (15:39 -0400)]
docs: Added Related Projects and Archive

Change-Id: I9a6076aa53d810ec44761d9f9459eb91f2c05974
Signed-off-by: jdenisco <jdenisco@cisco.com>
5 years agofix TEST_JOBS=auto max jobs detection 74/14874/2
Klement Sekera [Tue, 18 Sep 2018 12:32:27 +0000 (14:32 +0200)]
fix TEST_JOBS=auto max jobs detection

Change-Id: I63f747e92d239e878550392df24fb7aac2b5a3e3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
5 years agodisable scatter/gather for ENA with DPDK 18.08 77/14877/1
Matthew Smith [Tue, 18 Sep 2018 15:52:58 +0000 (10:52 -0500)]
disable scatter/gather for ENA with DPDK 18.08

The scatter/gather rxmode flag was set for ENA when building
against DPDK >= 18.08. ENA does not support this, so disable
it. It looks like enabling it was a copy/paste error.

Also, after offloads are adjusted based on whether "no-multi-seg"
is set, those configurations are overwritten by copying
port_conf_template over the port config. That should only happen
for versions of DPDK older than 18.08 because 18.08 and newer
make changes directly on the port config instead of making changes
to the template. Make the clib_memcpy() conditional on the DPDK
version being less than 18.08. After doing so, compiler
errors complain about port_conf_template being declared but not
used, so make it's declaration conditional.

Change-Id: If81980d71c379a565b51dd700b953f8c811a8703
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoSTATS: First go at documentation 68/14868/2
Ole Troan [Tue, 18 Sep 2018 10:46:14 +0000 (12:46 +0200)]
STATS: First go at documentation

Change-Id: I4d586456c46994b60ff7670d1411997a3615a284
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agosvm: better march support for svm fifo 07/13307/13
Florin Coras [Fri, 29 Jun 2018 15:44:31 +0000 (08:44 -0700)]
svm: better march support for svm fifo

Change-Id: I6a4335654882a2ca66d3d465e35e350868242b8d
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agoSTATS: Optimistic concurrency handling in Python library. 66/14866/1
Ole Troan [Tue, 18 Sep 2018 09:06:33 +0000 (11:06 +0200)]
STATS: Optimistic concurrency handling in Python library.

Change-Id: I2135f3e77206fd171636a1e0b07c373c0bf093e4
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoSTATS: Add Python 3 support to vpp_stats.py. 65/14865/1
Ole Troan [Tue, 18 Sep 2018 08:23:01 +0000 (10:23 +0200)]
STATS: Add Python 3 support to vpp_stats.py.

Change-Id: Iad0b0315fbd493b67e6ca490206ec8e8422790ea
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoSTATS: Dynamically mapped shared memory segment 71/14671/10
Ole Troan [Tue, 4 Sep 2018 11:19:12 +0000 (13:19 +0200)]
STATS: Dynamically mapped shared memory segment

Move from using a hash to a vector with offsets into shared memory.
Limit exposure of VPP data structures and include files to
external stats library and applications.

Change-Id: Ic06129f12d10cf4c4946a86d9bc734eacff2c7da
Signed-off-by: Ole Troan <ot@cisco.com>
5 years agoRegister cdp_input when enabled for the first time 42/14842/2
Dave Barach [Sun, 16 Sep 2018 15:03:04 +0000 (11:03 -0400)]
Register cdp_input when enabled for the first time

Graceful handling of unknown tlv types

Change-Id: Idbc9ed524fc8b865c8e12571813cc73548bde480
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agovmxnet3: fix clang initialization error 44/14844/1
Florin Coras [Sun, 16 Sep 2018 21:49:36 +0000 (14:49 -0700)]
vmxnet3: fix clang initialization error

Change-Id: I2958bd3bdec98d3e380a8ff8f970563020e28afd
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agofix nsh map index error, it will cause vpp appear Segmentation fault when vpp process... 34/14834/2
zhanglimao [Sat, 15 Sep 2018 05:19:41 +0000 (13:19 +0800)]
fix nsh map index error, it will cause vpp appear Segmentation fault when vpp process double packages

Change-Id: Ib32bb351356b84aaf696c57398610b52a5a1f4dd
Signed-off-by: zhanglimao <zhanglimao0017@gmail.com>
5 years agotls: fix openssl engine write complete condition 33/14833/2
Florin Coras [Sat, 15 Sep 2018 00:56:29 +0000 (17:56 -0700)]
tls: fix openssl engine write complete condition

Change-Id: Ic1526f6916970ce2b0c4fc0d148d4396fa629b5f
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agosession: ensure detach is done with worker barrier 28/14828/3
Florin Coras [Fri, 14 Sep 2018 20:17:41 +0000 (13:17 -0700)]
session: ensure detach is done with worker barrier

Change-Id: I98a79f2c3b0268c414dd295c7ebfc561ce049d4b
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agotls: use application interface apis 32/14832/4
Florin Coras [Fri, 14 Sep 2018 21:46:39 +0000 (14:46 -0700)]
tls: use application interface apis

This also exposes app to tls sessions. As a result "sh session verbose"
will show for each tls session both the application's session (app to
tls) and the tls session (tls to tcp).

Change-Id: I1e65c63362ce58f314e762d7db78b44479e1e3a5
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovmxnet3 device driver 77/11377/22
Steven Luong [Sun, 18 Mar 2018 15:01:27 +0000 (08:01 -0700)]
vmxnet3 device driver

Implemented vmxnet3 deivice driver for VMWare ESXi. Tested with Ubuntu 18.04
connected to ESXi 6.0

Ubuntu-18.04 (VPP) --- ESXi-6.0

Change-Id: I85fbc86f2d8532b017bc4271612d17e24e498e4d
Signed-off-by: Steven Luong <sluong@cisco.com>
5 years agoBIER API and load-balancing fixes 01/14801/2
Neale Ranns [Thu, 13 Sep 2018 15:45:12 +0000 (08:45 -0700)]
BIER API and load-balancing fixes

Change-Id: Ibda19d786070c942c75016ab568c8361de2f24af
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agoRemove scaffolding 26/14826/2
Dave Barach [Fri, 14 Sep 2018 13:27:42 +0000 (09:27 -0400)]
Remove scaffolding

Change-Id: I4acebbf76556428bb45356c8e5b85c72a85a1656
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agocpack: add deb/rpm packaging to VPP module 04/14804/4
Damjan Marion [Thu, 13 Sep 2018 18:02:12 +0000 (20:02 +0200)]
cpack: add deb/rpm packaging to VPP module

This allows easy packaging of external projects, including
VOM and sample plugin.

i.e.

$ make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install

$ ninja -C build-root/build-vpp-native/sample-plugin package

ninja: Entering directory `build-root/build-vpp-native/sample-plugin'
[0/1] Run CPack packaging tool...
CPack: Create package using DEB
CPack: Install projects
CPack: - Install project: sample-plugin
CPack: -   Install component: vpp-plugin-sample
CPack: -   Install component: vpp-plugin-sample-dev
CPack: Create package
CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample_18.10~rc0~413~g1433e9d1-1_amd64.deb generated.
CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample-dev_18.10~rc0~413~g1433e9d1-1_amd64.deb generated.

Change-Id: I6b3ec2433961e53edd976b19659ce214d272c40a
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agodpdk: add detection of mellanox PMDs 22/14822/4
Damjan Marion [Fri, 14 Sep 2018 09:35:14 +0000 (11:35 +0200)]
dpdk: add detection of mellanox PMDs

Change-Id: I523fc489f5e73ba726ab0711eab3fdde53dc35e8
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agovlib: introduce user flags in vlib_frame_t 24/14824/2
Damjan Marion [Fri, 14 Sep 2018 12:38:53 +0000 (14:38 +0200)]
vlib: introduce user flags in vlib_frame_t

Those flags have local significance and they can be used for
sending hints to the next node.

Change-Id: Ic2596ee81c64cd16f96344365370e8fcdc465354
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoacl-plugin: do not do clib_smp_atomic_add on per-worker counters 95/14795/4
Andrew Yourtchenko [Thu, 13 Sep 2018 09:13:13 +0000 (11:13 +0200)]
acl-plugin: do not do clib_smp_atomic_add on per-worker counters

Just do a regular increment, since we are not contending for these counters.
This also makes the tests pass on ARM ThunderX (VPP-1395).

Change-Id: I333aaa11d4145d13d322868900bc114df85a020d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
5 years agoRevert "L2-input: use vlib_buffer_enqueue_to_next" 17/14817/2
John Lo [Thu, 13 Sep 2018 22:10:25 +0000 (22:10 +0000)]
Revert "L2-input: use vlib_buffer_enqueue_to_next"

The patch did not improve single input link performance and
degrade performance with multiple input links.

This reverts commit b1232555e91b286feab5667b5a22f29aa8e96626.

Change-Id: Ib9336a2e0610088b9145a43cacbdadb52dabd522
Signed-off-by: John Lo <loj@cisco.com>
5 years agoEhnance and fix vpp_api_test and custom_dump to support SR-MPLS 05/14805/2
John Lo [Thu, 13 Sep 2018 18:08:59 +0000 (14:08 -0400)]
Ehnance and fix vpp_api_test and custom_dump to support SR-MPLS

Change-Id: I2e06de176f4272b4b7475857b42fe0d106382b6f
Signed-off-by: John Lo <loj@cisco.com>
5 years agovcl: keep track of unexpected events 93/14793/7
Florin Coras [Wed, 12 Sep 2018 23:08:01 +0000 (16:08 -0700)]
vcl: keep track of unexpected events

If sessions are marked as blocking, events for other sessions received
while waiting for the blocking sessions, are added to a pending list and
processed later.

Change-Id: Ia6c71006b1c2bcb78af708390da0cd436af397cc
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agocmake: use VPP package in VOM 02/14802/2
Damjan Marion [Thu, 13 Sep 2018 16:43:19 +0000 (18:43 +0200)]
cmake: use VPP package in VOM

Change-Id: I83b244be920521e580085beffb7e40613e67c8ee
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFix memory leak in API/CLI to create/modify SR policies 06/14806/2
John Lo [Thu, 13 Sep 2018 19:08:08 +0000 (15:08 -0400)]
Fix memory leak in API/CLI to create/modify SR policies

The segment list vector built by the API/CLI is not freed after
SR policy creation or modification.

Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384
Signed-off-by: John Lo <loj@cisco.com>
5 years agoAdd a polling configure to make thread bind with hardware engine 00/14800/2
Ping Yu [Thu, 13 Sep 2018 22:41:33 +0000 (18:41 -0400)]
Add a polling configure to make thread bind with hardware engine

Change-Id: Ib4130098dd9bf45370bdee9a04e4804074df58b1
Signed-off-by: Ping Yu <ping.yu@intel.com>
5 years agoL2-FWD: use vlib_buffer_enqueue_to_next and cache prefetch fix 75/14775/5
Neale Ranns [Wed, 12 Sep 2018 10:53:03 +0000 (06:53 -0400)]
L2-FWD: use vlib_buffer_enqueue_to_next and cache prefetch fix

before:
  l2-fwd ...  1.72e1  256.00
after:
  l2-fwd ...  1.49e1  256.00

Change-Id: I24b29b799435776abc6e60df0dd0301b74aac99b
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovppinfra: optmize clib_count_equal functions 92/14792/5
Damjan Marion [Wed, 12 Sep 2018 20:37:30 +0000 (22:37 +0200)]
vppinfra: optmize clib_count_equal functions

Change-Id: Ia4c79d560bfa1118d4683a89a1209a08c5f546b3
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoNAT: TCP MSS clamping 97/14797/1
Matus Fabian [Thu, 13 Sep 2018 09:36:25 +0000 (02:36 -0700)]
NAT: TCP MSS clamping

NAT plugin changes the MSS value in TCP SYN packets to avoid fragmentation.
If the negotiated MSS value is greater than the configured value it is changed
to the configured value. If the negotiated MSS value is smaller than the
configured value it remains unchanged.

Change-Id: Ic3c4f94a2f1b76e2bf79f50f3ad36a4097f3f188
Signed-off-by: Matus Fabian <matfabia@cisco.com>
5 years agoTrivial: Fix lisp flag label 94/14794/1
Paul Vinciguerra [Thu, 13 Sep 2018 01:02:21 +0000 (18:02 -0700)]
Trivial: Fix lisp flag label

Change-Id: Ic5339169124edc8ea1f82ffcba7cde8b7f224e83
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoIP-neighbor: add and delete internal API 76/14776/4
Neale Ranns [Fri, 7 Sep 2018 18:04:52 +0000 (11:04 -0700)]
IP-neighbor: add and delete internal API

Change-Id: I4d1ab5ff0c8f0756e91bf63e045f88513bb7d039
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
5 years agoFix: vppapigen make build fails on fresh install 91/14791/5
Paul Vinciguerra [Wed, 12 Sep 2018 20:40:13 +0000 (13:40 -0700)]
Fix: vppapigen make build fails on fresh install

Steps to reproduce:
  vagrant@localhost:/vagrant$ build-root/vagrant/build.sh
  ...
  @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@
  [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
  FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json
  AttributeError: 'module' object has no attribute 'dumps'

  This seems to be due to JSON.py namespace colliding with the standard lib json.py

Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
5 years agoL2-input: use vlib_buffer_enqueue_to_next 83/14783/2
Neale Ranns [Wed, 12 Sep 2018 13:42:50 +0000 (09:42 -0400)]
L2-input: use vlib_buffer_enqueue_to_next

use the same trick as l2-ouput to group the processing of packets
on the same interface.

Change-Id: Ib2a6a1b5f362372936197f5bb2fdd0fe9439226b
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agofix bihash test code 89/14789/2
Dave Barach [Wed, 12 Sep 2018 16:08:13 +0000 (12:08 -0400)]
fix bihash test code

Change-Id: Ie71b99385c33122cbf55f80ebabdc2ccdb4cf2ae
Signed-off-by: Dave Barach <dave@barachs.net>
5 years agocmake: create cmake VPP module, update sample-plugin so it uses it 73/14773/4
Damjan Marion [Wed, 12 Sep 2018 10:12:36 +0000 (12:12 +0200)]
cmake: create cmake VPP module, update sample-plugin so it uses it

Change-Id: I32e91ba8e55797ffe169f98b09bdb42caa5c7de2
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoAlways use 'lib' instead of 'lib64' 80/14780/3
Damjan Marion [Wed, 12 Sep 2018 12:01:10 +0000 (14:01 +0200)]
Always use 'lib' instead of 'lib64'

It is packaging responsibility to put libs in the right place.
Use of lib64 resulted in huge amount of files with hardcoded lib64.
This patch simplifies things...

Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoFix LB memory leak and remove useless code 77/14777/2
Pierre Pfister [Wed, 12 Sep 2018 12:08:53 +0000 (14:08 +0200)]
Fix LB memory leak and remove useless code

Vector sort_arr was actually never freed.

This change also removes some nearby code which
happens to be totally useless.

Change-Id: I2f265c1b4770cbcd75a2fb69ea54e46e1b54245a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
5 years agofix missing extern in vnet/ethernet/node.c 74/14774/3
Damjan Marion [Wed, 12 Sep 2018 11:32:01 +0000 (13:32 +0200)]
fix missing extern in vnet/ethernet/node.c

Change-Id: Idabdd1112ba7e390a7b14a83cc7fbd198c8754df
Signed-off-by: Damjan Marion <damarion@cisco.com>
5 years agoL2-Learn: use vlib_buffer_enqueue_to_next 78/14778/2
Neale Ranns [Wed, 12 Sep 2018 11:37:43 +0000 (07:37 -0400)]
L2-Learn: use vlib_buffer_enqueue_to_next

before:
  l2-learn ... 2.00e1 256.00
after:
  l2-learn ... 1.77e1 256.00

Change-Id: I22fe9ab4ec995ee22c547cfe16bf88c04838520c
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agovhost: Fix VPP crash when reloading VM with mixed-type ports [VPP-1406] 45/14545/6
Yichen Wang [Wed, 29 Aug 2018 06:05:27 +0000 (23:05 -0700)]
vhost: Fix VPP crash when reloading VM with mixed-type ports [VPP-1406]

When VM is having mixed type of vhost-user and SRIOV ports, QEMU (RedHat
v2.10) will not send disconnect signal to VPP, and just gives the new
memory region directly. VPP is not able to handle new memory region
mapping without disconnect signal first, which will result in a SEGV.
The fix will handle the VM reboot scenario without explict disconnect
signal from QEMU.

The fix is to invalidate the avail, desc, and used pointers in the txvq
when the new memory regions are received. This is because these pointers
are not valid anymore with the new memory regions. In the input node, check
to make sure the avail pointer is valid and punt if not.

Change-Id: Ieb8b427b202f4442a58907dab1661d63a03650de
Signed-off-by: Yichen Wang <yicwang@cisco.com>
5 years agoVXLAN-GBP: use common types on the API 63/14763/3
Neale Ranns [Tue, 11 Sep 2018 14:39:43 +0000 (07:39 -0700)]
VXLAN-GBP: use common types on the API

Change-Id: I11ec0d7048d36c30a97d437e5b0abd05f06ab0eb
Signed-off-by: Neale Ranns <nranns@cisco.com>
5 years agodevice flags will set in dpdk_update_link_state. 47/14647/8
Khers [Tue, 4 Sep 2018 12:00:37 +0000 (16:30 +0430)]
device flags will set in dpdk_update_link_state.

Change-Id: If74acb0168bed2201d2a8b47bf3f860540d1574b
Signed-off-by: Khers <s3m2e1.6star@gmail.com>
5 years agoAdd patch for ixgbe x550 SFP+ to DPDK 18.08 66/14766/2
Matthew Smith [Tue, 11 Sep 2018 18:50:48 +0000 (13:50 -0500)]
Add patch for ixgbe x550 SFP+ to DPDK 18.08

Patch for ixgbe which has been used with DPDK 18.02, 18.05.
If the link flaps before link status has been successfully
collected, the MAC will be reset and the PMD will not wait
long enough for it to come back up before giving up, which
will continue happening every time an attempt is made to
check the link status.

This patch was submitted to upstream DPDK in July 2018 but
it has not been included in a release yet.

Change-Id: Ib2100b33d2a986f3cf74e42fc5538412f76f42c7
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
5 years agoAdd and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics. 06/14606/7
Sirshak Das [Wed, 22 Aug 2018 00:46:52 +0000 (08:46 +0800)]
Add and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics.

This is the high version of extendto. This function accomplishes the
same task as both shuffling and extending done by SSE intrinsics.
This enables the NEON version for buffer indexes to buffer pointer
translation.

Change-Id: I52d7bbf3d76ba69c9acb0e518ff4bc6abf3bbbd4
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Steve Capper <steve.capper@arm.com>
Reviewed-by: Yi He <yi.he@arm.com>
Verified-by: Lijian Zhang <lijian.zhang@arm.com>
5 years agoFix create memif socket 24/13824/2
Ed Warnicke [Mon, 30 Jul 2018 20:48:32 +0000 (15:48 -0500)]
Fix create memif socket

create interface memif [id <id>] [socket-id <socket-id>] ...

Can optionally take a socket-id.

You create a socket-id with:

create memif socket [id <id>] [filename <path>]

Unfortunately, this doesn't work because "create memif" was
deprecated.  It results in:

vpp# create memif socket id 0 filename /run/vpp/test.socket
command deprecated. Please use 'create interface memif' instead.

This fixes it by clipping out the

create memif

command entirely.

Change-Id: If503758706bf758b6cb46e958200527a5856c600
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
5 years agovcl: add apis that expos fifo as buffer 68/14768/3
Florin Coras [Tue, 11 Sep 2018 23:33:36 +0000 (16:33 -0700)]
vcl: add apis that expos fifo as buffer

Change-Id: I4bd9c9f73499711e04b38d53daa5c917a4285bf5
Signed-off-by: Florin Coras <fcoras@cisco.com>
5 years agovcl: improve read and fifo event handling 64/14764/9
Florin Coras [Tue, 11 Sep 2018 07:10:41 +0000 (00:10 -0700)]
vcl: improve read and fifo event handling

Change-Id: Ic1c51818b8aa8dbd164e70bb3b7471868e5af6f6
Signed-off-by: Florin Coras <fcoras@cisco.com>