3436 Commits

Author SHA1 Message Date
Juraj Sloboda
07a45bd897 Fix missing dereference
Change-Id: I123259c131f1bd16c70990bf7f48d9a275c53ce2
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-01-08 19:55:26 +01:00
Matus Fabian
a431ad1c48 NAT64: IPFix (VPP-1106)
Change-Id: Ib90dc5613c9fdac0344b3bd7f163e2f7163c64d8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-01-08 01:51:24 -08:00
Matus Fabian
1049139a6d NAT: fixed get_worker_out2in bug (VPP-1116)
Change-Id: I5e080d69f28661cc0b1846885d5001526b54fbd9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-01-08 07:08:09 +00:00
Nitin Saxena
9cfb11787f Fix Debian Packaging on AARCH64
Error msg:
pkg-shlibdeps: error: couldn't find library libvppinfra.so.0 needed by
debian/vpp/usr/bin/vpp_json_test (ELF format: 'elf64-littleaarch64'; RPATH: '')
dpkg-shlibdeps: error: couldn't find library libvppinfra.so.0 needed by
debian/vpp/usr/bin/svmdbtool (ELF format: 'elf64-littleaarch64'; RPATH: '')
...

Changes to create architecture specific folder in /usr/lib/

Change-Id: Id0e42b175348e32e2c72b404ff60eb87c9146968
Signed-off-by: Nitin Saxena <nsaxena@cavium.com>
2018-01-08 01:29:34 +00:00
Gabriel Ganne
ae66b0d95a aarch64 - show cpu microarchitecture
Combine implementer, part, variant, and revision into one cpu
description line.
For example : ARM (Cortex-A57 PASS 1.2)

* get infos from /proc/cpuinfo
* only recognize armv8 processors
* add all given cavium processors
* Cavium starts counting variants from 1 instead of 0

Change-Id: I4f3820fb13a6bd2a0dc59e28fbe6f48a5b0ceb25
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2018-01-06 18:42:55 +00:00
Keith Burns (alagalah)
8aa9aaff8e Initial structure for VCL event logging.
- WIP: taking a LARGE patch and breaking into smaller chunks
- large LDP/VCL refactor in progress. This minimizes rebase.
- LARGE patch removed clib_warning()s erroneously
- VPPCOM_DEBUG checks duplicated deliberately as clib_warning()
  usage will be refactored.

Change-Id: I5905ed074187fe22c9f1320fd07ffcaab3a0f63c
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-01-06 18:25:17 +00:00
John Lo
101e005f41 GRE tunnel key should use fib_index instead of fib_id (VPP-1118)
The code path in src/vnet/gre/interface.c uses fib_id as a
component to generate hash key for GRE tunnel. This should be
fib_index as the GRE rx/decap data path will be using fib_index
to generate the hash key to lookup the GRE tunnel.

Change-Id: Ia7f0892d84f9dac79223a6e016775892b61eb5fb
Signed-off-by: John Lo <loj@cisco.com>
(cherry picked from commit 72247c803250894834d15952a6fddcd8f4a39a9c)
2018-01-06 15:33:21 +00:00
zhaoqingling
b4c42cdc6b VPP-1110 BVI reply ARP that doesn't request BVI loacl IP.
Change-Id: I66ae618edaa12c2b4e4afe276da689673b02c9cd
Signed-off-by: zhaoqingling <zhao.qingling@zte.com.cn>
2018-01-06 12:24:48 +00:00
Florin Coras
6d1caf9114 sock api: add first msg id retrieval function
Change-Id: I2032b5fc8e1904005b8eb871b9be06d025ed9b71
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-01-05 19:01:01 +00:00
Florin Coras
90a63988fa sock api: add infra for bootstrapping shm clients
- add function to sock client that bootstraps shm api
- allow sock clients to request custom shm ring configs

Change-Id: Iabc1dd4f0dc8bbf8ba24de37f4966339fcf86107
Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-01-05 19:00:45 +00:00
John Lo
e6bfeab1c3 Unify and cleanup usage of hash_set/unset_mem by various tunnels
Move the functions hash_set_key_copy() and hash_unset_key_free()
which are dupilicated in various tunnel support code modules to
hash.h as hash_set_mem_alloc() and hash_unset_mem_free() to be
used by all.

Change-Id: I40723cabe29072ab7feb1804c221f28606d8e4fe
Signed-off-by: John Lo <loj@cisco.com>
2018-01-05 16:50:02 +00:00
Juraj Sloboda
cba6936c45 Add support for 464XLAT NAT44 mode (VPP-1045)
Change-Id: I24e7a26972bbbfcea100292b212b29ae7a349335
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-01-05 10:18:22 +00:00
Ole Troan
e31d956d90 MAP: Add RFC6052 mapping to MAP-T
Change-Id: I2e311f8b7f50133678b9172e8d071826af491609
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-01-05 10:18:08 +00:00
zhaoqingling
d363833742 VPP-1115 Fix a debug log mistake when create AF_PACKET socket
Change-Id: Id6607adbe5da8ae8472dde8bb442ca5f68f6d84f
Signed-off-by: zhaoqingling <zhao.qingling@zte.com.cn>
2018-01-05 13:36:59 +08:00
Neale Ranns
842eb22e5d VOM: NAT coverity found bugs
Change-Id: Ic55ad2e0a1435f552ce84ed1a9b1981191bc178b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-01-04 01:11:44 -08:00
Dave Wallace
2d506675d1 Update package version
Change-Id: If16943e564b11ff7ac456b16896c62db1152d6dd
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2018-01-03 17:09:05 -05:00
Matus Fabian
a3a6ec63d3 NAT64: free port when dynamic BIB deleted (VPP-1107)
Change-Id: Id897ed61a26a4069678ed4ddac1ba28bf32809c3
Signed-off-by: Matus Fabian <matfabia@cisco.com>
v18.04-rc0
2018-01-03 11:44:40 +00:00
Neale Ranns
041fa507c0 VOM: NAT updates
Change-Id: I112afaa1f2ccd2ee62a436c73802afaea9b44779
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-01-02 00:47:16 -08:00
Florin Coras
b795bd0c5c tcp: add builtin server/client transfer test
Change-Id: Iab0baabf2f27bc7ad7fbf2d2789a493752b07d8a
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-12-22 19:25:46 +00:00
Sergio Gonzalez Monroy
1bb85ce9ca maintainers: update email
Change-Id: Ie915f7b0153bed2e603eedc642df852b85c8ad5c
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-12-22 09:37:18 +00:00
Florin Coras
79ae2d3062 fib: make deag entries urpf extempt
Change-Id: Ie8f6bb4fcd3e4fa269e86a77d2f21c87f372b783
Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-12-21 20:53:31 +00:00
Swarup Nayak
529a425b04 VPP-1109 Fix loop for some CLI (code review)
Change-Id: I518387ab479bee4778d45a33c95f7b0f72aa1b72
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
2017-12-21 11:37:38 +05:30
Neale Ranns
4ec387118e L2 emulation: remove usued ip-table-id from API
IP table mapping is set using 'set int ip table X Y"

Change-Id: I2adec40015f9281c9b00c55506000b322f42d91a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2017-12-20 08:54:55 -08:00
Andrew Yourtchenko
74579f44a7 acl-plugin: add a debug CLI to print 5-tuple structure in human readable format from hex representation
Even though the trace now prints the hex as well as human readable format for acl plugin,
it can be handy to have a separate function which allows to decode the hex. So add this debug CLI.

Change-Id: I1db133a043374817ea9e94ae3736b8a98630669d
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-12-20 16:37:16 +00:00
Neale Ranns
55d0378829 L2 Emulation
L2 Emulation is a feautre that is applied to L2 ports to 'extract'
IP packets from the L2 path and inject them into the L3 path (i.e.
into the appropriate ip[4|6]_input node).
L3 routes in the table_id for that interface should then be configured
as DVR routes, therefore the forwarded packet has the L2 header
preserved and togehter the L3 routed system behaves like an L2 bridge.

Change-Id: I8effd7e2f4c67ee277b73c7bc79aa3e5a3e34d03
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-12-20 16:26:04 +00:00
Gabriel Ganne
4c8a45491d fix kubeproxy some tests
* NAT46: fix test cleanup, missing del keyword
* NAT66: fix kube-proxy vip, is ipv6
* add some missing kp_put_writer_lock
* wipe flowtable after each unit test
  * Add new cli api: "test kube-proxy flowtable flush" to flushes everything
  * Call this new cli function after the end of each kube-proxy unit test.
  * same as commit b3d1b203579226ca5136b9d6a2744577d07cfcc6 for the lb plugin

Change-Id: I4146f44841328ec96eb66729e3bae3d40f33e4aa
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-12-20 15:57:32 +00:00
Juraj Sloboda
7b929793fe Translate matching packets using NAT (VPP-1069)
Add API function which enables forwarding of packets not matching
existing translation or static mapping instead of dropping them.

When forwarding is enabled matching packets will be translated
while non-matching packets will be forwarded without translation.

Change-Id: Ic13040cbad16d3a1ecdc3e02a497171bef6aa413
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-12-20 11:12:24 +00:00
Marek Gradzki
5ff506a194 Fix MPLS local-label CLI help string
CLI parsing code (unformat_fib_route_path) does not
recognise 'resolve-via-connected'.

However it understands 'resolve-via-attached'.

Change-Id: I57e5eb75199cb8ae72c0fc8642a41f042b022201
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2017-12-20 09:20:41 +00:00
Swarup Nayak
ecf844cbae VPP-1083 "ip punt redirect add" crashed if not mentioned any other parameter
Change-Id: Ibb6f450783d0ab64bd943c19f12d0954b0a94b24
Signed-off-by: Swarup Nayak <swarupnpvt@gmail.com>
2017-12-20 06:13:44 +00:00
Neale Ranns
be302d7203 BIER coverity fix in route downlaod
Change-Id: I9341f1554d804dfeeecef656e59e8598704863dc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-12-19 18:43:59 +00:00
Neale Ranns
4bc2d7ab39 FIB memory leak during recursive loop detection
Change-Id: I5ecd43330b3329b072e6da62a4eed1641eb17f8f
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-12-19 18:43:32 +00:00
Dave Barach
5e30aceb3a VPP-1032: fix coverity warning in bier
Change-Id: I0f8d2d9be78d4d936ed61538aee1b7207871347b
Signed-off-by: Dave Barach <dave@barachs.net>
2017-12-19 16:10:53 +00:00
Juraj Sloboda
3e86a30a83 Fix passing bad context for callback function
Change-Id: I61e6019ab34f52c82bf3f1e5327501a613f58bd9
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2017-12-19 14:39:29 +00:00
Matus Fabian
b932d26ea4 NAT: Twice NAT44 (VPP-969)
Translation of both source and destination addresses and ports for 1:1 NAT
session initiated from outside network (ExternalIP K8 use case).

Change-Id: Ic0000497cf71619aac996d6d580844f0ea0edc14
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-12-19 10:34:07 +00:00
Dave Wallace
f13f6a4dc9 lldp: Fix Coverity Warnings CID 177942, CID 177945
Change-Id: Ic1ab32c5df3f7a613fe0dcd6bfc15037fa2a008b
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-12-19 00:12:20 +00:00
Dave Wallace
97b1a27130 session api: Fix Coverity Warning CID 180115
Change-Id: I87e3de556910851d16af343bfcbede49500843ff
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-12-18 23:12:11 +00:00
Dave Wallace
bbfa303097 API: Fix Coverity Warning CID 177944
Change-Id: I5dbd5e5673ecb0d3878053ae9985478740cf3bc6
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2017-12-18 15:40:53 -05:00
Matus Fabian
e4d1283651 NAT: Add performance testing TRex scripts and config (VPP-832)
Change-Id: I149a20f183b836db4c32fb4e4a8438b3a14c1c26
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-12-18 17:18:22 +00:00
Radu Nicolau
ff9f040e63 Updated MAINTAINERS
Added Radu Nicolau as maintainer for
src/devices/dpdk/ipsec/ and src/vnet/ipsec/

Change-Id: If354344f5685ce0e431757768b77c4d5e8e409f9
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-12-18 16:16:22 +00:00
Dave Barach
e6e012f6f5 Fix nat44 identity mapping
Set l_addr to the interface address if the interface address is known
when the identity mapping is created.

Change-Id: I61af0f5248c9d86d23a24457b342b2e1fb4ac726
Signed-off-by: Dave Barach <dave@barachs.net>
2017-12-18 15:35:20 +00:00
Ed Warnicke
798150b195 Provide useful output when installed vpp-dpdk version is incorrect
Change-Id: Icb931de82cb5969fa4976611629e2f882c720a99
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2017-12-18 14:19:15 +00:00
Hongjun Ni
c91f50242f Support kube-proxy data plane
This plugin provides kube-proxy data plane on user space,
which is used to replace linux kernal's kube-proxy based on iptables.
The idea is largely inspired from VPP LB plugin.

Currently, kube-proxy plugin supports three service types:
1) Cluster IP plus Port: support any protocols, including TCP, UDP.
2) Node IP plus Node Port: currently only support UDP.
3) External Load Balancer.

Please refer to kp_plugin_doc.md for details.

Change-Id: I36690e417dd26ad5ec1bd77c7ea4b8100416cac6
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-12-18 13:55:45 +00:00
Pablo Camarillo
42998828c9 SR-MPLS: binary API and automated steering
Change-Id: Iacfbaaa91ea8bd92790dec9fce567063bdbc5d64
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-12-18 13:41:36 +00:00
Krishanpal singh
d2fec4a255 VPP-269 Coding standards cleanup - vnet/vnet/policer
Change-Id: Ib92794205027d3242c6f0c8962fe02ac38c7129b
Signed-off-by: Krishanpal singh <krish.singh03@gmail.com>
2017-12-18 12:23:58 +00:00
Jan Gelety
3df8728088 Update CSIT tests 171204 -> 171218
- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I5ad0e36fa40095cc107a31b32dd2bbf936636dc4
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2017-12-18 09:03:17 +01:00
Ole Troan
034e05567f PAPI: Add docstrings to unit tests.
Change-Id: I0e20100c9e2ca4e951f605a79d48c04ff47864cb
Signed-off-by: Ole Troan <ot@cisco.com>
2017-12-16 22:16:24 +00:00
Neale Ranns
33ce60d675 GRE tunnel key includes the FIB table
- GRE tunnels with the same src,dst addresses are not the same tunnel
- Two data-plane improvements:
  - the cached key was never updated and so useless
  - no need to dereference the tunnel's HW interface to get the sw_if_index

Change-Id: I2f2ea6e08c759a810b753cec22c497e921a2ca01
Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-12-16 19:39:26 +00:00
Gabriel Ganne
8e66b9bf4b Use crc32 wrapper (VPP-1086)
This allows arm platforms to also take advantage of crc32 hardware
acceleration.

* add a wrapper for crc32_u64. It's the only one really used. Using it
  instead of a call to clib_crc32c() eases building symmetrical hash
  functions.
* replace #ifdef on SSE4 by a test on clib_crc32c_uses_intrinsics.
  Note: keep the test on i386
* fix typo in lb test log

Change-Id: I03a0897b70f6c1717e6901d93cf0fe024d5facb5
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
2017-12-16 19:32:25 +00:00
Damjan Marion
f9dc9c4629 dpdk: unset ETH_TXQ_FLAGS_NOXSUMS only for selected PMDs
Change-Id: I1699e440052faa317b06d46692e8656a41d21bfe
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-12-16 11:52:52 +00:00
Dave Barach
2877eee189 VPP-1102: fix dangling references in RPC handling
Queue RPC calls and send them from the main dispatch loop. As things stood,
if the vpp main input queue filled, worker threads could enter a
barrier-sync spin-wait in the middle of processing a frame. If thread
0 decided to recreate worker thread data structures, the worker thread(s)
could easily crash.

Legislate the problem out of existence by enqueueing RPC messages only
from the main dispatch loop. At that point, doing a barrier-sync wait
is perfectly OK.

Change-Id: I18da3e44bb1f29a63fe5f30cf11de732ecfd5bf7
Signed-off-by: Dave Barach <dave@barachs.net>
2017-12-15 22:32:11 +00:00