4915 Commits

Author SHA1 Message Date
Neale Ranns
d1e68ab77e Source VRF Select
match against a packet's source address to determine
the VRF for the subsequent destination address lookup.

Change-Id: I48ee0ef54dcb891f0ec7f879e4d3b925a0ed0081
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-01 17:08:55 +00:00
Paul Vinciguerra
346ed07526 Rename device class from PPPPOE to PPPoE
Change-Id: Ia20eee6cef360b1acd768101df0713f0005a7d14
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-10-01 17:07:24 +00:00
Radu Nicolau
8b9525c21d dpdk: updated makefile to enable QAT cryptodev
Change-Id: I2d70f2f29f3af10b6e43dde235fdf90a4596eb35
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2018-10-01 17:06:16 +00:00
Neale Ranns
14260393c0 Add adjacency counters to the stats segment
Change-Id: I6b59df939c9daf40e261d73d19f500bd90abe6ff
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-10-01 17:02:18 +00:00
Mohsin Kazmi
5df628bb8a vat: fix coverity warning for show_threads
Change-Id: I8c226b91cc45f6f345444afd8d168e1292371582
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-01 17:02:02 +00:00
Dave Barach
c3a06556d1 API / CLI event-log tracing
Add an "elog trace [api][cli][barrier]" debug CLI command. Removed the
barrier elog test command. Remove unused reliable multicast code.

Change-Id: Ib3ecde901b7c49fe92b313d0087cd7e776adcdce
Signed-off-by: Dave Barach <dave@barachs.net>
2018-10-01 15:59:35 +00:00
Yalei Wang
904a850899 Fix the path error inside vcl socket_test.sh
Change-Id: I5bcfbd436839e7a6dd82dc57cdb3b7fb6200a69c
Signed-off-by: Yalei Wang <william.wangyalei@huawei.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-10-01 13:48:41 +00:00
Mohsin Kazmi
5d64c7868f thread: Add show threads api
Change-Id: I3124238ab4d43bcef5590bad33a4ff0b5d8b7d15
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-10-01 09:44:58 +00:00
Neale Ranns
28c142e3de mroute routers in the stats segment
Change-Id: I798e4fb6470ae9e763f8de1c290ff0fc3c0b7f9e
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-01 09:43:22 +00:00
Neale Ranns
c17776e9fe IGMP: handle (*,G) report with no source addresses
Change-Id: I363370b9d4a27b992bad55c48fc930a2fbea2165
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-10-01 09:42:27 +00:00
Marco Varlese
9382673d93 SCTP: fix overflow issue with timestamp
Change-Id: I03bb47a2baa4375b7bf9347d95c4cc8de37fe510
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-10-01 09:41:57 +00:00
Lijian Zhang
2e2372117d Support dynamic dual/quad loop selection on aarch64
Currently, there are three variants available on aarch64, qdf24xx, thunderx2t99, and cortex-a72.
-DCLIB_N_PREFETCHES is passed to source code to select dual/quad implementation.
Besides, different compiler options are applied on these critical functions.

gcc-7.3.0 reports ICE(internal compiler error) with -mtune=thunderx2t99,
so -mtune=thunderx2t99 is enabled only when gcc version is greater than 7.3.0

Cavium ThunderX2, Impermenter 0x43, Part 0x0af
    -march=armv8-a+crc+crypto -mtune=thunderx2t99
Qualcomm Centriq 2400, Impermenter 0x51, Part 0xc00
    -march=armv8.1-a+crc+crypto -mtune=qdf24xx
Cortex-A72, Impermenter 0x41, Part 0xd08
    -march=armv8-a+crc+crypto -mtune=cortex-a72

Change-Id: Id5649c6325c1e642d0fd42535e3908793b13e02a
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
Reviewed-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
2018-10-01 09:28:41 +00:00
Dave Barach
88c6e0086b vlib: barrier sync elog tracing improvements
Change-Id: I2d3b8d5a7192ff68bee443a99346ecb807b2d833
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-30 15:55:09 -04:00
Mohsin Kazmi
762d83c198 vom: Fix the l2 port type in bridge domain
Change-Id: I8aba11142daeacce892ec529c2229ec54ee427e2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-29 17:06:30 +00:00
Florin Coras
539663c401 vcl: handle old events before blocking in epoll
Change-Id: I3e62c787882d93c3bfb398ed0d04ef56b3a60b2b
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-29 07:17:02 +00:00
Florin Coras
537b17ef95 session: lock msg queues while generating control events
Change-Id: I229ce9c306a97956c87ccb8f7a1c5c9dac94ab31
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-29 07:17:02 +00:00
Florin Coras
6648fc7e42 gitignore: build/external/downloads
Change-Id: I041764a5546352086aa9803e4bbeb9dff5f8d69a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-28 15:03:41 -07:00
Steven
c4e99c5d6f bond: tx performance enhancement part deux
- Reduce per packet cost by buffering the output packet buffer indexes in the queue and
process the queue outside the packet processing loop.
- Move unnecessary variable initialization outside of the while loop.
- There is no need to save the old interface if tracing is not enabled.

Test result for 256 bytes packet comparison. Other packet size shows similar improvement.

With the patch
--------------
BondEthernet0-output             active              52836        13526016               0          1.71e1          256.00
BondEthernet0-tx                 active              52836        13526016               0          2.68e1          256.00
TenGigabitEthernet6/0/0-output   active              52836         6762896               0          9.17e0          127.99
TenGigabitEthernet6/0/0-tx       active              52836         6762896               0          6.97e1          127.99
TenGigabitEthernet6/0/1-output   active              52836         6763120               0          9.40e0          128.00
TenGigabitEthernet6/0/1-tx       active              52836         6763120               0          7.00e1          128.00
bond-input                       active              52836        13526016               0          1.76e1          256.00

Without the patch
-----------------
BondEthernet0-output             active              60858        15579648               0          1.73e1          256.00
BondEthernet0-tx                 active              60858        15579648               0          2.94e1          256.00
TenGigabitEthernet6/0/0-output   active              60858         7789626               0          9.29e0          127.99
TenGigabitEthernet6/0/0-tx       active              60858         7789626               0          7.01e1          127.99
TenGigabitEthernet6/0/1-output   active              60858         7790022               0          9.31e0          128.00
TenGigabitEthernet6/0/1-tx       active              60858         7790022               0          7.10e1          128.00
bond-input                       active              60858        15579648               0          1.77e1          256.00

Change-Id: Ib6d73a63ceeaa2f1397ceaf4c5391c57fd865b04
Signed-off-by: Steven <sluong@cisco.com>
2018-09-28 19:39:50 +00:00
Ole Troan
9be93c8f85 MAP: Add check for well known ports.
And more unit-tests.

Change-Id: I4667d82d928b7ba8d96b5a5648d464115b3ed216
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28 18:19:56 +02:00
Ole Troan
bf4d126b81 IP ttl check in ip4-input missing for single packet path.
Change-Id: Idc17b2f8794d37cd3242a97395ab56bd633ca575
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28 14:27:24 +02:00
Ole Troan
f94c63ea39 stats: Split stat_segment and stats code in preparation for deprecation.
Split the stat_segment.c code from stats.c.
Rename stats.[ch] to prepare for removing (19.01?)
In addition stats.api can be removed.

Since the stats aggregation for the stat segment does not use the API, that
part is now done on the main thread. (Old stats aggregator is also left in place).

Change-Id: I9867429f4fc547b1a7ab7f88bc4f3625428d681b
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-28 12:05:25 +00:00
Damjan Marion
09cce66888 Revert "japi: Move Java API binding to cmake"
components:  Development
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.10/Modules/FindJNI.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:37 (find_package)
-- Configuring incomplete, errors occurred!
See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeOutput.log".
See also "/scratch/vpp-tmp/build-root/build-vpp-native/japi/CMakeFiles/CMakeError.log".
Makefile:640: recipe for target 'japi-configure' failed
make[2]: *** [japi-configure] Error 1
make[2]: Leaving directory '/scratch/vpp-tmp/build-root'


This reverts commit a33db2528485ac39e8987bec7b138dbdad21dc5a.

Change-Id: I8a818ce70a8379656c1134432e22db418a4690fe
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27 20:00:43 +00:00
Ole Troan
430420fbba MAP: Correctly print ea-bits-len in map commands.
Change-Id: I17b19875547cd6056aaf8f8fde439caa8e42d274
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27 20:00:29 +00:00
Ole Troan
0fb2cc6513 MAP: 64-bit DMR
Change-Id: I261e11f1006039e4a4019fec2fd3271763ae476a
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27 20:00:26 +00:00
Paul Vinciguerra
ec11b13a21 Trivial: Cleanup some typos.
This is a new commit for code under a different maintainer.

Change-Id: I79fa403fec6a312238a9a4b18b35dbcafaa05439
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-27 19:59:44 +00:00
Damjan Marion
7d426535b4 Add logging to vfio code
Change-Id: Iacdff0a5006a0617e3c9559ce7b258f26e256abb
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27 18:35:35 +00:00
Sirshak Das
c263e48bdb dpdk_plugin: fix mlx5 build and runtime issues
There are issues with VPP finding and linking the mlx5 shared glue
library which was built by default if mlx5 was enabled.

Runtime Errors this patch fixes:

net_mlx5: cannot load glue library: librte_pmd_mlx5_glue.so.18.05.0:
cannot open shared object file: No such file or directory

net_mlx5: cannot initialize PMD due to missing run-time dependency on
rdma-core libraries (libibverbs, libmlx5)

This patch introduces additional config parameter to disable glue
library building and instead statically link ibverbs and mlx5
libraries to the PMD and dpdk_plugin.

Change-Id: I0b2f67652a57854c778e991780903fb15706ace8
Signed-off-by: Sirshak Das <sirshak.das@arm.com>
Reviewed-by: Lijian Zhang <Lijian.Zhang@arm.com>
2018-09-27 18:33:07 +00:00
Jakub Grajciar
412e7b64f9 libmemif: external region bugfix
Change-Id: I7dbece80dda917ff78f53f8f4074132895aed316
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-09-27 18:32:22 +00:00
Jakub Grajciar
b1be2a0bb8 memif: Memif Test Case
Change-Id: Ic0d5fc6ccbd496afcc870b908ef799af7c804c30
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-09-27 18:31:53 +00:00
Dave Barach
10a690bee9 "show log": print wall-clock time
Change-Id: I36f42c03f778955dd543da6c878be090d0443922
Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-27 18:31:24 +00:00
Florin Coras
45ca73f6af tcp: use scaled window for new connects
Change-Id: Idf83fce8ca176e57b323e3741034e3223f1d195a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-27 09:47:26 -07:00
Ping Yu
7d7b8c6dd7 add cmake build option to build openssl async
This code is orignally in automake, but it is missing in cmake.
Thus add it to make openssl async work in cmake build system

Change-Id: Ie69ee9c2099273e51ce13ccab27bdd2619db4814
Signed-off-by: Ping Yu <ping.yu@intel.com>
2018-09-27 14:30:47 +00:00
Steven
258c2f6c63 avf: may crash if failed to allocate buffers to ring
In avf_rxq_refill, we invoke vlib_buffer_alloc_to_ring which may fill buffers from the
end of the ring and continue to the beginning of the ring. If we fill some in the end and
continue to fill some in the beginning, but does not have enough buffers to fill the
whole request, n_alloc returns a value which is not equal to n_refill to indicate partial
refill. We don't like partial refill and invoke vlib_buffer_free to get rid of
the buffers that just got refilled. However, vlib_buffer_free API is to free the buffers
from the slot continuously. It does not know how to free some from rxq->bufs[slot], and then
continue to free the rest when it reaches the end of the ring.

The fix is to use vlib_buffer_free_from_ring which is smart enough to figure that stuff
out.

Change-Id: I93c28e0b0d8d8f22c321d1a5912e00c27b4e2e8d
Signed-off-by: Steven <sluong@cisco.com>
2018-09-27 12:10:50 +00:00
Marco Varlese
baf740512a SCTP: fix advanced debug output
Change-Id: Ied63ebaec8e19189f8b1ab2a7f6d7474c3f2ad6e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-09-27 12:09:40 +00:00
juraj.linkes
8e26f6dbcf Test typo fixes
Renamed one acl testcase class which was copy-pasted and fixed one
inheritance issue.

Renamed one bihash testcase class.

Change-Id: I70d911ee7872d8d9ddba96c7f721dd099f0152f7
Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2018-09-27 12:08:02 +00:00
Damjan Marion
74447d4fc5 fix typo in vpp-ext-deps rpm packaging
Change-Id: Ia23a876cefbfd32d6f543a77dfec57a4aa5676ae
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-27 14:05:18 +02:00
Ole Troan
282093f1fe IPIP and IPv6 fragmentation
- Error where ICMPv6 error code doesn't reset VLIB_TX = -1
  Leading to crash for ICMP generated on tunnelled packets
- Missed setting VNET_BUFFER_F_LOCALLY_ORIGINATED, so
  IP in IPv6 packets never got fragmented.
- Add support for fragmentation of buffer chains.
- Remove support for inner fragmentation in frag code itself.

Change-Id: If9a97301b7e35ca97ffa5c0fada2b9e7e7dbfb27
Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-27 08:47:40 +00:00
Mohsin Kazmi
e23edac38e vom: Add ip punt redirect
Change-Id: I5c7b925b22b53f18b0c45374883a6a4bff580c75
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-27 07:17:36 +00:00
Steven
84f36cb096 vnet: show interface rx-placement may display garbage characters
Before
------
DBGvpp# sh int rx-mode
sh int rx-mode
Thread 1 (vpp_wk_0^@):
  node vmxnet3-input:
    vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1^@):
  node vmxnet3-input:
    vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#

After
-----
DBGvpp# sh int rx-placement
sh int rx-placement
Thread 1 (vpp_wk_0):
  node vmxnet3-input:
    vmxnet3-0/b/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node vmxnet3-input:
    vmxnet3-0/13/0/0 queue 0 (polling)
DBGvpp#

Change-Id: I5910d502757054c3942fac9d20c5104e95fc6b56
Signed-off-by: Steven <sluong@cisco.com>
2018-09-26 22:52:52 +00:00
Steven
0296efdf58 vmxnet3: delete interface causes a crash
Need to free the buffers starting from ring->consume+1, not ring->consume
Make use of the cool API vlib_buffer_free_from_ring
Fix a memory leak in vmxnet3_txq_init

Change-Id: I0a539ea75211408d84ce433d97a0a0aec5a9618d
Signed-off-by: Steven <sluong@cisco.com>
2018-09-26 22:51:50 +00:00
Andrew Yourtchenko
fae833799f acl-plugin: fix the stateful ICMP handling and add testcases
The stateful ICMP/ICMPv6 handling got broken.
Fix that and introduce testcases to catch in the future.

Change-Id: Ie602e72d6ac613d64ab0bf6693b6d75afb1a9552
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-09-26 22:50:29 +00:00
Neale Ranns
f5fa5ae2b0 MPLS tunnel dump: use sw_if_index not tunnel_index
Change-Id: I6c0d5aec6ee96a0d40358f0e09a0901b22265063
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-26 16:54:46 +00:00
Florin Coras
2ac7edeeaf perftool: fix c2cpel
Change-Id: I0f39477bbf88d490409fdcd5f58df55cfe2ec531
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-26 15:51:17 +00:00
Kingwel Xie
fc91a17600 forget to assign spd_index to config
Change-Id: I35dcb987edf11097f34a633ac36d87cecd12088f
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26 15:50:57 +00:00
Mohsin Kazmi
a33db25284 japi: Move Java API binding to cmake
Change-Id: Ia7ddd9f9e2e2d9c133967593c3e187fe42501eac
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-26 15:50:15 +00:00
Mohsin Kazmi
7b2017ddf7 rpm: Fix the spec file to look into right directories
Change-Id: If526e9f17226d7c371a8a98b9ac932196dab547a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-26 15:50:09 +00:00
Kingwel Xie
a0060659d8 mismatch bi0 and b0 when finalizing ip reassembly.
bi0 always points to the first buffer in chain but b0 could be any fragment in a ip packet.
It causes a vnet_feature_next function call to the wrong buffer
and crashes sometime when there is >1 feature nodes under ip-unicast.
The fix is simple, makes b0 and bi0 both pointed to the first buffer

Change-Id: I7de36e68fb42b050fa63201abd98aeb6ba2e0cd3
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2018-09-26 15:48:38 +00:00
Damjan Marion
0275607475 dpdk: fix QSFP+ module info
Change-Id: I89c7df778e66a5d2147190dc99445405d81964e5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-26 15:48:01 +00:00
Alexander Chernavin
e178b27f6e Modify return values of L2 bridge API handlers
Change-Id: Ie6a6dde1fdc0e4fa8560682072a69876867a88d3
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2018-09-26 15:13:06 +00:00
Matus Fabian
37a3a2a08f NAT44: endpoint-dependent mode session timeout improvement (VPP-1423)
Change-Id: Ib62e503f4eb5d72431288de32f417a4553df4e0c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-09-26 12:45:40 +00:00