vpp.git
6 years agoBIER: fix support for longer bit-string lengths 73/10373/4
Neale Ranns [Wed, 31 Jan 2018 19:35:41 +0000 (11:35 -0800)]
BIER: fix support for longer bit-string lengths

Change-Id: I2421197b76be58099e5f8ed5554410adff202109
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoVCL: Fix type in trace output. 17/10417/2
Dave Wallace [Tue, 6 Feb 2018 01:03:01 +0000 (20:03 -0500)]
VCL: Fix type in trace output.

Change-Id: I7834e676c23a697a12a6e06111c68450ba787fc9
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoSCTP: missing spinlock init when multiple threads 22/10422/4
Marco Varlese [Tue, 6 Feb 2018 08:01:39 +0000 (09:01 +0100)]
SCTP: missing spinlock init when multiple threads

When the number of threads results being more than 1, the spinlock
structure requires to be initialized otherwise subsequent calls to
the "lock" API (clib_spinlock_lock_if_init) would result in a void
operation.

Change-Id: Ia268c4687252e41962bb3f1217f0a849d8c40385
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoReflexive ACL support on ICMP 18/10418/2
Steve Shin [Tue, 6 Feb 2018 00:44:19 +0000 (16:44 -0800)]
Reflexive ACL support on ICMP

Normally session keys are generated by mirroring the packets sent.
ICMP message type should be used and inverted for the stateful ACL.

Supported ICMP messages with this patch:
 - ICMPv4: Echo/Timestamp/Information/Address Mask requests
 - ICMPv6: Echo request/Node Information Queury

The invmap & valid_new tables can be modified to make any other
ICMP messages to be reflexive ACL.

Change-Id: Ia47b08b79fe0a5b1f7a995af78de3763d275dbd9
Signed-off-by: Steve Shin <jonshin@cisco.com>
6 years agoProvide page-aligned length to ftruncate. 15/10415/2
Igor Mikhailov (imichail) [Mon, 5 Feb 2018 20:09:36 +0000 (12:09 -0800)]
Provide page-aligned length to ftruncate.

For some files such as hugepages files, ftruncate() fails with the error
"Invalid argument" if the 'length' parameter is not on a page boundary.

Change-Id: I42a9cde98707da15e3c5d1653046e2277fc7a424
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
6 years agosession: segment manager refactor 71/10371/14
Florin Coras [Wed, 31 Jan 2018 14:52:17 +0000 (06:52 -0800)]
session: segment manager refactor

- use valloc as a 'central' segment baseva manager
- use per segment manager segment pools and use rwlocks to guard them
- add session test that exercises segment creation
- embed segment manager properties into application since they're shared
- fix rw locks

Change-Id: I761164c147275d9e8a926f1eda395e090d231f9a
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoNAT64: Run nat64-expire-worker-walk only when NAT64 is configured (VPP-1162) 08/10408/2
Matus Fabian [Mon, 5 Feb 2018 10:57:47 +0000 (02:57 -0800)]
NAT64: Run nat64-expire-worker-walk only when NAT64 is configured (VPP-1162)

Change-Id: Ic5e8d74bf5ac84cce5661de44778c89541c67636
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoFix ip4/6_reass_main.ip4/6_reass_expire_node_idx used before set 09/10409/2
Dave Barach [Mon, 5 Feb 2018 14:45:43 +0000 (09:45 -0500)]
Fix ip4/6_reass_main.ip4/6_reass_expire_node_idx used before set

Add an ASSERT to vlib_process_signal_event_helper to catch future
instances of passing node_index = 0 to vlib_process_signal_event().

Change-Id: Iec896fc7c3917feb2fd3198cea42851ba88e64e5
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoSCTP: calculate RTO / RTT and RTTVAR as per RFC 99/10399/4
Marco Varlese [Fri, 2 Feb 2018 16:17:51 +0000 (17:17 +0100)]
SCTP: calculate RTO / RTT and RTTVAR as per RFC

This patch addresses the need to calculate the RTO / RTT and RTTVAR
according to the rules depicted by the RFC4960 at section 6.3.1

Change-Id: I1d346f3c67610070b3f602f32c7738d58b99ffed
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agovhost_user: code cleanup 77/10177/3
Haiyang Tan [Sat, 20 Jan 2018 09:48:53 +0000 (04:48 -0500)]
vhost_user: code cleanup

1. Replace the magic number '-1' with MAP_FAILED
2. On x86 platform, QEMU uses vhostuser required the memory back-end is file based,
   the file could be tmpfs(4K page size) or hugetlbfs(2M or 1G page size)

Change-Id: If1818cb6833728d641f68e4d4a3bc645e70f2ee6
Signed-off-by: Haiyang Tan <haiyang.tan.dev@gmail.com>
6 years agoIP reassembly: workaround coverity warnings 95/10395/2
Klement Sekera [Fri, 2 Feb 2018 15:17:55 +0000 (16:17 +0100)]
IP reassembly: workaround coverity warnings

Change-Id: Ide577f036d9d8dcedd99cdb4666a0eaf8a19b92e
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoClean up for vcl.am, making vppcom.h C++ aware 01/10401/4
Keith Burns (alagalah) [Fri, 2 Feb 2018 16:21:56 +0000 (08:21 -0800)]
Clean up for vcl.am, making vppcom.h C++ aware

Change-Id: I2548ebd37e16bed50b5c8046b728415a341413e3
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agolisp-cp: fix handling of ndp without source link addr VPP-1159 98/10398/2
Florin Coras [Tue, 30 Jan 2018 11:21:32 +0000 (03:21 -0800)]
lisp-cp: fix handling of ndp without source link addr VPP-1159

Change-Id: Idddb60bbc7fcc701d39212f6422a6b2f6dc75221
Signed-off-by: Florin Coras <fcoras@cisco.com>
(cherry picked from commit cba3675fabe618194bf80a9de0e9c53b89a541ca)

6 years agomake test: use random seed 88/10388/2
Klement Sekera [Fri, 2 Feb 2018 10:27:53 +0000 (11:27 +0100)]
make test: use random seed

This fixes a constant setting of random seed forgotten from testing.

Change-Id: Ie3c4db8bb2b4b73ba33de1ffc02cb563391fd31c
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoVOM: route-domain find() fix 83/10383/2
Neale Ranns [Thu, 25 Jan 2018 15:28:19 +0000 (07:28 -0800)]
VOM: route-domain find() fix

Change-Id: I5b7117f3568e3ba979baa15521b2cfc180abb682
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agovlmemory/svm: fix client detach from svm region 15/10315/4
Florin Coras [Mon, 29 Jan 2018 13:11:24 +0000 (05:11 -0800)]
vlmemory/svm: fix client detach from svm region

Clients cannot know at svm region detach time if the shm backing files
have been recreated (e.g., if vpp restarts) and therefore should not try
to unlink them. Otherwise, terminating clients attached to previous
instantiations of a re-allocated region end up making the new instance
un-mappable by removing its backing file.

Change-Id: Idcd0cab776e63fd75b821bc9f0fac58217b9ccbe
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoAdd link to 18.01 test framework documentation. 50/10250/2
Dave Wallace [Thu, 25 Jan 2018 19:27:54 +0000 (14:27 -0500)]
Add link to 18.01 test framework documentation.

Change-Id: I030602391ea3b612ac9a6780399cc30b427cc3a5
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 92b15bcea4c6c5e62415a8207463eb9a897630c6)

6 years agoUpdate 18.01 Release Notes 51/10251/3
Dave Wallace [Wed, 24 Jan 2018 14:37:59 +0000 (09:37 -0500)]
Update 18.01 Release Notes

Change-Id: Id2f13c59c6f4e7bc79f6e77d6dab752bf6dfb06a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit a1a382bb2bc2fbf6bf947a24a263fefbe32497e7)

6 years agovlib_buffer_clone: allow client to request the maximum number of clones; 256 78/10078/7
Neale Ranns [Thu, 11 Jan 2018 17:02:01 +0000 (09:02 -0800)]
vlib_buffer_clone: allow client to request the maximum number of clones; 256

Change-Id: Id96dc5d86719546268b50a9999a06387d2d9075c
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agoAdd L3DSR feature in LB plugin 03/10203/9
Hongjun Ni [Tue, 23 Jan 2018 11:17:23 +0000 (19:17 +0800)]
Add L3DSR feature in LB plugin

L3DSR is used to overcome Layer 2 limitations
of Direct Server Return Load Balancing.
It maps VIP to DSCP bits, and reuse TOS bits to transfer it
to server, and then server will get VIP from DSCP-to-VIP mapping.
Please refer to https://www.nanog.org/meetings/nanog51/presentations/Monday/NANOG51.Talk45.nanog51-Schaumann.pdf

Change-Id: I403ffeadfb04ed0265086eb2dc41f2e17f8f34cb
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
6 years agoOut-of-order data chunks handling and more 45/10345/2
Marco Varlese [Wed, 31 Jan 2018 10:00:01 +0000 (11:00 +0100)]
Out-of-order data chunks handling and more

This patch addresses the need to handle out-of-order data chunks
received by a peer. To do that effectively, we had to add the handling
of data chunks flags (E/B/U bit) to understand whether the stream is
fragmenting user-message data and in that case if a fragment is the
FIRST/MIDDLE/LAST one of a transmission.
The same patch also addresses the security requirement to have a HMAC
calculated and incorporated in the INIT_ACK and COOKIE_ECHO chunks. The
algorithm used is the HMAC-SHA1.

Change-Id: Ib6a9a80492e2aafe5c8480d6e02da895efe9f90b
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoIPv4/6 reassembly 32/9532/10
Klement Sekera [Wed, 20 Sep 2017 06:26:30 +0000 (08:26 +0200)]
IPv4/6 reassembly

Change-Id: Ic5dcadd13c88b8a5e7896dab82404509c081614a
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agovxlan: Lookup FIB in either IPv4 or IPv6 families. 82/10382/1
Jon Loeliger [Thu, 1 Feb 2018 18:10:40 +0000 (12:10 -0600)]
vxlan: Lookup FIB in either IPv4 or IPv6 families.

Prior to this commit, the VXLAN "create" API assumed
the vrf_id belonged to only the IPv4 FIB tables space.
With this commit, the FIB table is found in either the
IPv4 or IPv6 table as determined by the is_ipv6 flag.

This follows the same pattern that was already being
done in the CLI code for the VXLAN "create" command.

Change-Id: I35d5e37db24efa858e4696dc2c004fa64bb4a4a8
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agoFIB: Consolidate several copies of fib_ip_proto() into one. 79/10379/2
Jon Loeliger [Thu, 1 Feb 2018 17:19:29 +0000 (11:19 -0600)]
FIB: Consolidate several copies of fib_ip_proto() into one.

Rather than having multiple copies of the same function
scattered around, promote the function into the FIB
PROTOCOL definitions in fib_types.h.

Change-Id: I11c4d85931167d3a5f3dc1278afecc8845b23cd7
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agotcp: tcp_output.c failed to compile when VLIB_BUFFER_TRACE_TRAJECTORY is enabled 77/10377/1
Steven [Thu, 1 Feb 2018 17:17:17 +0000 (09:17 -0800)]
tcp: tcp_output.c failed to compile when VLIB_BUFFER_TRACE_TRAJECTORY is enabled

Fixed a typo in tcp_push_header(). The typo only kicks in when the macro
VLIB_BUFFER_TRACE_TRAJECTORY is enabled.

Change-Id: I62832a4932ec5b14e3063d5eac113780851aae59
Signed-off-by: Steven <sluong@cisco.com>
6 years agodpdk:fix typo in prefetch sequence 92/10292/2
Eyal Bari [Sun, 28 Jan 2018 07:11:50 +0000 (09:11 +0200)]
dpdk:fix typo in prefetch sequence

Change-Id: I7110436626352d45ffe0ca71fb88dea2c77ab639
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoAdd flowhash hash table to vppinfra 84/10084/9
Pierre Pfister [Fri, 12 Jan 2018 08:41:16 +0000 (09:41 +0100)]
Add flowhash hash table to vppinfra

This hash table intends to provide an alternative to the widely
used bihash table in places where either:
- Hash entry timeout is required
- The hash table data does not fit in CPU cache

Although the bihash table is very fast, each lookup requires
accessing two cache lines in a serialized fashion. It works fine
when the hash table is in cache, but hits a wall when it does not.

The 'flowhash' table uses a simplified design (at the cost of a
less good bucket auto-scaling) where each access only requires
a single memory lookup (in the absence of collision). The hash
table also uses a reduced number of registers.

In practice, a VPP node implementing a stateful feature would
typically:
- prefetch buffer metadata (in-cache)
- prefetch packet header (in-cache)
- compute hash & prefetch hash bucket (possibly in RAM)
- read/write key and value from bucket

Using this hash table, it is possible to pipeline accesses in a way
that does not exhaust CPU's line field buffers, even when the
requested value is located in RAM (i.e. not in cache).

Measurements showed it was possible to scale to tens of millions
of flows (with a full 5-tuple matching and 32B value, i.e. 1
cache line per flow) with no performance degradation when
the hash table grows to the point it doesn't fit in cache anymore.

I have used this table in a couple of non-open-sourced projects,
but think it might be useful to lb, nat, and possibly other VPP
subsystems.

More information in the .h file.

Change-Id: I2b13dde0eabd868b75da1cedbfca0bf74d705102
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
6 years agosrv6-ad: fixing coverity issues 49/10349/2
Francois Clad [Wed, 31 Jan 2018 13:46:45 +0000 (14:46 +0100)]
srv6-ad: fixing coverity issues

Change-Id: Ica6d8dd773bb3b478f1c7e40d59dfbdd4b588b85
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agosrv6-as: fixing coverity issues 62/10362/2
Francois Clad [Wed, 31 Jan 2018 15:45:25 +0000 (16:45 +0100)]
srv6-as: fixing coverity issues

Change-Id: I911e09aadd3df1123634fd97098920f107f9a2fc
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoFix VNET_BUFFER_F_SPAN_CLONE flag 68/10368/2
Damjan Marion [Wed, 31 Jan 2018 19:03:18 +0000 (20:03 +0100)]
Fix VNET_BUFFER_F_SPAN_CLONE flag

Change-Id: I670e41bcfc61a45555431603c937f8dad4d165e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoRPMS: Also install C.py, JSON.py for vppapipgen. 61/10361/2
Jon Loeliger [Wed, 31 Jan 2018 15:45:11 +0000 (09:45 -0600)]
RPMS: Also install C.py, JSON.py for vppapipgen.

When building plugins outside of the VPP tree, the vppapigen
tool requires the use of the C.py / JSON.py code.  To that end,
install it in /usr/share/vpp as referenced.

Change-Id: I457d58e7bde7140c7811fa0a93b4f44d1310784a
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agovlib: allocating buffers on thread-x and freeing them on thread-y causes 34/10334/2
Steven [Tue, 30 Jan 2018 04:09:09 +0000 (20:09 -0800)]
vlib: allocating buffers on thread-x and freeing them on thread-y causes
a crash on debug image (VPP-1151)

In debug image, there is extra code to validate the buffer when it is
freed. It uses the hash table to lookup the buffer index with spinlock
to prevent contention. However, there is one spinlock for each worker
thread. So allocating the buffer on thread-x and freeing the same buffer
on thread-y causes the validation to fail on thread-y. The fix is to
have only one spinlock, stored in vlib_global_main.

Change-Id: Ic383846cefe84a3e262255afcf82276742f0f62e
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit a7effa1b072463f12305a474f082aeaffb7ada4b)

6 years agoImproved tracing for the IP[46] not-enabled case. 35/10335/3
Neale Ranns [Tue, 30 Jan 2018 17:02:20 +0000 (09:02 -0800)]
Improved tracing for the IP[46] not-enabled case.

now we get
00:00:03:665501: pg-input
 ...
00:00:03:665681: ethernet-input
 ...
00:00:03:665691: ip6-input
  UDP: 2001::1 -> ffef::1
    tos 0x00, flow label 0x0, hop limit 64, payload length 108
  UDP: 1234 -> 1234
    length 108, checksum 0x7b25
00:00:03:665695: ip6-not-enabled
    UDP: 2001::1 -> ffef::1
      tos 0x00, flow label 0x0, hop limit 64, payload length 108
    UDP: 1234 -> 1234
      length 108, checksum 0x7b25
00:00:03:665706: error-drop
  ethernet-input: no error

Same goes for IPv4

Change-Id: Ia360df39b43281d3a0aa1b686f04b73cfa37c546
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoNAT66 1:1 mapping (VPP-1108) 96/10196/2
Matus Fabian [Mon, 22 Jan 2018 11:41:53 +0000 (03:41 -0800)]
NAT66 1:1 mapping (VPP-1108)

Support the 1:1 translation of source address for IPv6

Change-Id: I934d18e5ec508bf7422d796ee5f172b79c048011
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT44: in2out output feature skip translation for already translated packets (VPP... 29/10329/3
Matus Fabian [Tue, 30 Jan 2018 11:04:17 +0000 (03:04 -0800)]
NAT44: in2out output feature skip translation for already translated packets (VPP-1156)

Change-Id: I5395245c9e49f741a949ada1f725c34f9379c249
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT44: Delete dynamic sessions matching new 1:1NAT (VPP-1158) 58/10358/1
Matus Fabian [Wed, 31 Jan 2018 13:50:21 +0000 (05:50 -0800)]
NAT44: Delete dynamic sessions matching new 1:1NAT (VPP-1158)

Change-Id: Ib99b597502b8335e57ecfa122b12e2e5aa45ee1a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT44: nat44_static_mapping_details protocol=0 if addr_only=0 (VPP-1158) 44/10344/1
Matus Fabian [Wed, 31 Jan 2018 09:13:23 +0000 (01:13 -0800)]
NAT44: nat44_static_mapping_details protocol=0 if addr_only=0 (VPP-1158)

Change-Id: I1e3cfc751e7657464fc850dc56ddf763df45f62e
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoPrep-work patch for congestion-control 72/10272/4
Marco Varlese [Fri, 26 Jan 2018 15:50:01 +0000 (16:50 +0100)]
Prep-work patch for congestion-control

This patch addresses the missing field in various data-structures to
track valuable information to implement the congestion-control
algorithms and manage sub-connections states.

It adds the possibility to queue up to 2 SACKs chunks when the connection
is not gapping.

At the same time, it pushes some variable/field renaming for better
readibility.

Change-Id: Idcc53512983456779600a75e78e21af078e46602
Signed-off-by: Marco Varlese <marco.varlese@suse.de>
6 years agoCompile valloc.c, install header file, etc. 36/10336/1
Dave Barach [Tue, 30 Jan 2018 19:12:31 +0000 (14:12 -0500)]
Compile valloc.c, install header file, etc.

Change-Id: Ibc252d9ed595be955790ec1c97d8730e43ad89b2
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVPP-899: Run VPP under SELinux 11/10111/4
Billy McFall [Mon, 15 Jan 2018 22:54:52 +0000 (17:54 -0500)]
VPP-899: Run VPP under SELinux

Add an SELinux profile such that VPP can run under SELinux on RPM based
platforms. The SELinux Policy is currently only implemented for RPM
packages, specifically, Fedora, CentOS and RHEL. Doxygen User
Documentation has been included (selinux_doc.md). Once some discussion
on file locations has completed (see vpp-devlist), updates to the Debug
CLI documentation will also need to be updated.

Additional changes:
Patch Set 2:
- Rework selinux_doc.md such that each line is only 80 characters
  instead of each sentence on a line. Made additonal minor chnages
  to the text.
- Update vHost Debug CLI documentation to reflex new socket location.
  Cleaned up some text from when I originally wrote it, to better
  reflex proper use.
- Update exec Debug CLI documentation to be more inline with suggested
  helptext, added text regarding recommended script file location.
- For Debian builds, create the /var/log/vpp/ directory. I don't use
  Debian very much, so please pay extra attention to
  build-data/platforms.mk and build-root/deb/debian/.gitignore.
- Per discussion on VPP call, changed the default log location to
  /var/log/vpp/vpp.log.
- Changed the socket location for vHost in AutoConfig to
  /var/run/vpp/.
Patch Set 3:
- Update selinux_doc.md based on comments.

Change-Id: I400520dc33f1ca51012d09ef8fe5a7b7b96c631e
Signed-off-by: Billy McFall <bmcfall@redhat.com>
6 years agoArm system counter cleanup 13/10313/2
Brian Brooks [Tue, 9 Jan 2018 22:39:07 +0000 (16:39 -0600)]
Arm system counter cleanup

Add some description and cleanup code that uses Arm system counter.

Change-Id: Ie1fe00e3e4b5d98867617b7b0184ac526e333c53
Signed-off-by: Brian Brooks <brian.brooks@arm.com>
6 years agoNAT: add missing CLI and API documentation (VPP-1142) 97/10297/2
Matus Fabian [Mon, 29 Jan 2018 10:46:25 +0000 (02:46 -0800)]
NAT: add missing CLI and API documentation (VPP-1142)

Change-Id: I4e93595665b8d0e373c4df27311c27a51222961c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT: replace format_vnet_sw_interface_name with format_vnet_sw_if_index_name (VPP... 66/10266/2
Matus Fabian [Fri, 26 Jan 2018 13:07:23 +0000 (05:07 -0800)]
NAT: replace format_vnet_sw_interface_name with format_vnet_sw_if_index_name (VPP-1149)

Avoid crash when interface was deleted.

Change-Id: I2ac3031c13ca5ad3360495e1c4cb90b0002be5ff
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoAllow the provider of a midchain adjacency to pass context data that is returned... 10/10310/2
Neale Ranns [Mon, 29 Jan 2018 18:43:33 +0000 (10:43 -0800)]
Allow the provider of a midchain adjacency to pass context data that is returned in the fixup function

Change-Id: I458e6e03b03e27775df33a2fd302743126d6ac44
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agovcl: fix VPPCOM_ATTR_GET_LIBC_EPFD elog 16/10316/1
Florin Coras [Mon, 29 Jan 2018 16:55:25 +0000 (08:55 -0800)]
vcl: fix VPPCOM_ATTR_GET_LIBC_EPFD elog

Change-Id: Idc3e8f4ee69d8871534a94d4f485e695fac81756
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoDRAFT ip4/6_frag to support DPO Style based Next Node 52/10252/2
Vijayabhaskar Katamreddy [Thu, 25 Jan 2018 23:12:11 +0000 (15:12 -0800)]
DRAFT ip4/6_frag to support DPO Style based Next Node

Change-Id: I1df3d23c1c5668b83d52b41f51c0e3f24183af9e
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
6 years agomemif: Add new API calls to manage memif socket names. 72/10172/4
Jon Loeliger [Tue, 16 Jan 2018 22:37:16 +0000 (16:37 -0600)]
memif: Add new API calls to manage memif socket names.

New API calls and corresponding CLI commands allow the user
to manage the socket filenames for memif connections using:

    vppctl# create memif id <u32> filename <socket-filename>
    vppctl# delete memif id <u32>

and then referencing it later in a memif interface:

    vppctl# create memif <u32> socket-id <id> mode <mode> <master|slave> ...

Corresponding VAT cli entries have also been added.

The default memif socket file at id 0 are still always present.
The existing memif create/delete CLI commands have been slightly
altered into the new syntax:

    vppctl# create interface memif ...
    vppctl# delete interface memif ...

Change-Id: If2bdc7eac3d81e1d9011a5869747e52fc5e11639
Signed-off-by: Jon Loeliger <jdl@netgate.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoSRv6 dynamic proxy plugin 37/10137/8
Francois Clad [Wed, 17 Jan 2018 11:18:41 +0000 (12:18 +0100)]
SRv6 dynamic proxy plugin

Change-Id: Ie460005510b8a70d00de31b6651e762cc3a63229
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoRemove last vestigies of auto-ip-table create 47/10247/3
Neale Ranns [Thu, 25 Jan 2018 15:48:12 +0000 (07:48 -0800)]
Remove last vestigies of auto-ip-table create

Change-Id: If0f8472c0de5e324b24c9c672c0f8b57cc9f49a8
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
6 years agosession: use clib rwlocks instead of custom implementation 40/10240/3
Florin Coras [Wed, 24 Jan 2018 18:49:23 +0000 (10:49 -0800)]
session: use clib rwlocks instead of custom implementation

Change-Id: I68933d709ce9cc686ba06466e136434b663920ef
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoFirst-fit virtual space allocator 38/10238/3
Dave Barach [Thu, 25 Jan 2018 00:20:55 +0000 (19:20 -0500)]
First-fit virtual space allocator

Change-Id: I75e6c7d1a6ff1fcebc81ec10bd86b79f2bf3dc22
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoFix session/tcp coverity warnings 76/10276/3
Florin Coras [Fri, 26 Jan 2018 09:27:01 +0000 (01:27 -0800)]
Fix session/tcp coverity warnings

Change-Id: I5c404eacb4a6c1e16485a6656168d9171ff49a8b
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agojvpp: map VPP API enums to primitive types 63/10263/2
Marek Gradzki [Wed, 24 Jan 2018 15:35:11 +0000 (16:35 +0100)]
jvpp: map VPP API enums to primitive types

Adding enum support (VPP-1153) requires
JVPP generator refactoring
(see: VPP-1154, VPP-1155, VPP-480)

As a workaround we just update all the mappings
used for VPP API definitions to JAVA and C/JNI translation.

Change-Id: I9dff83e5199039a1a46a3d4685ce57cdeeeb2014
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agojvpp: use Python's logging API 61/10261/3
Marek Gradzki [Fri, 26 Jan 2018 10:39:27 +0000 (11:39 +0100)]
jvpp: use Python's logging API

Change-Id: Iec437e4672af1f0d1a24458afb977ba6fbeba4ed
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
6 years agosession: disconnect and echo client improvements 85/10285/2
Florin Coras [Fri, 26 Jan 2018 14:36:04 +0000 (06:36 -0800)]
session: disconnect and echo client improvements

Change-Id: If421bad17b6cfe8e321257c93bb38931e37d7b64
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoAdd support for 18.01. 84/10284/1
John DeNisco [Fri, 26 Jan 2018 19:55:33 +0000 (14:55 -0500)]
Add support for 18.01.
Fixed bugs.
Improved some config as the result of Tetration experience.

Change-Id: Ie4b8d2d77ca3ad165675c42fa2d9a4798d871f9d
Signed-off-by: John DeNisco <jdenisco@cisco.com>
6 years agosession: move builtin apps to their own folder 53/10253/5
Florin Coras [Thu, 25 Jan 2018 14:34:42 +0000 (06:34 -0800)]
session: move builtin apps to their own folder

This consolidates builtin apps under session-apps folder. It also
removes duplicate builtin echo server/client implementations.

Change-Id: I75ed879399c5aa9b75b1eb38b33aedf69dd8df3f
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoNAT44: fix ICMP error translation for endpoint dependent sessions (VPP-1150) 60/10260/2
Matus Fabian [Fri, 26 Jan 2018 11:17:01 +0000 (03:17 -0800)]
NAT44: fix ICMP error translation for endpoint dependent sessions (VPP-1150)

Change-Id: I85c799f28c4246884107e569a36482af10d9be9d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT44: add opaque string tag to static mapping APIs (VPP-1147) 54/10254/1
Matus Fabian [Fri, 26 Jan 2018 05:59:16 +0000 (21:59 -0800)]
NAT44: add opaque string tag to static mapping APIs (VPP-1147)

Change-Id: I620e2081285ca8ac5c2da8efc12fe6f540ea4fd1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agovppinfra: add readers-writer lock 24/10224/4
Florin Coras [Wed, 24 Jan 2018 02:17:44 +0000 (18:17 -0800)]
vppinfra: add readers-writer lock

Change-Id: I606fd89c410369cbd9ce9dcaaaa9dc58796e7c0e
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agosession: add support for memfd segments 09/10109/17
Florin Coras [Mon, 15 Jan 2018 09:08:33 +0000 (01:08 -0800)]
session: add support for memfd segments

- update segment manager and session api to work with both flavors of
  ssvm segments
- added generic ssvm slave/master init and del functions
- cleanup/refactor tcp_echo
- fixed uses of svm fifo pool as vector

Change-Id: Ieee8b163faa407da6e77e657a2322de213a9d2a0
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoEvent log entries for VCL 75/10175/3
Keith Burns (alagalah) [Fri, 19 Jan 2018 22:26:35 +0000 (14:26 -0800)]
Event log entries for VCL

Change-Id: I8303859ef65552f64c94525c9b1112ec9a1a88d0
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years ago18.01 Release Notes 48/10248/1
Dave Wallace [Wed, 24 Jan 2018 06:02:37 +0000 (01:02 -0500)]
18.01 Release Notes

Change-Id: I2493a6135aecb4e2eead20a71dcb9ca16834cd63
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 9d21268d0a2277fb5a70db960d0d538620401834)

6 years agoUpdate CSIT tests 180115 -> 180122 80/10180/2
Jan Gelety [Mon, 22 Jan 2018 07:35:06 +0000 (08:35 +0100)]
Update CSIT tests 180115 -> 180122

- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I1a5afd49c37e1faf59311e16389b3b5deff015a3
Signed-off-by: Jan Gelety <jgelety@cisco.com>
6 years agoVPP-1144: PAPI Import leads to duplicate type definition. 41/10241/2
Ole Troan [Thu, 25 Jan 2018 08:53:31 +0000 (09:53 +0100)]
VPP-1144: PAPI Import leads to duplicate type definition.

Change-Id: I54c147004fd93681a6a9cf30fa5277c1dabce67c
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agosrv6-as: fixing version 33/10233/3
Francois Clad [Wed, 24 Jan 2018 15:24:03 +0000 (16:24 +0100)]
srv6-as: fixing version

Change-Id: I0ce60729e82536d9a97823bc6701e62bf364ea6c
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoNAT: nat.c refactor (split out CLI) (VPP-1140) 45/10245/2
Matus Fabian [Thu, 25 Jan 2018 09:13:22 +0000 (01:13 -0800)]
NAT: nat.c refactor (split out CLI) (VPP-1140)

Moved CLI from nat.c to nat44_cli.c
Split "show nat44" to:
show nat44 addresses
show nat44 interfaces
show nat44 static mappings
show nat44 interface address
show nat44 sessions detail
show nat44 deterministic mappings
show nat44 deterministic timeouts
show nat44 deterministic sessions
show nat workers

Change-Id: I2d1be8941dd0e4a9e037f4a4d2cd192389beb8ed
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agofixup python ply package name for fedora >= 25 42/10242/1
Gabriel Ganne [Thu, 25 Jan 2018 09:03:13 +0000 (10:03 +0100)]
fixup python ply package name for fedora >= 25

package name is:
 * python-ply for centos7/rhel7
 * python2-ply / python3-ply for fedora >= 25

Change-Id: Id021802a46a0cc29e9db57e18841a76575437002
Signed-off-by: Gabriel Ganne <gabriel.ganne@enea.com>
6 years agomake test: verify that /dev/shm is big enough 25/10225/2
Klement Sekera [Wed, 24 Jan 2018 12:41:50 +0000 (13:41 +0100)]
make test: verify that /dev/shm is big enough

Verify that /dev/shm size is >= 512M, which should be enough for `make
test' needs. If the verification fails, try to enlarge it automatically.
This helps avoid docker vpp/make test crashes (seen as SIGBUS).

Change-Id: I4e23d59ff8bf8befc320fa229fb6c9bfeb809a8f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoSRv6 masquerading proxy plugin 39/10139/7
Francois Clad [Wed, 17 Jan 2018 15:08:41 +0000 (16:08 +0100)]
SRv6 masquerading proxy plugin

Change-Id: Ia65cf2c7b7fdf84c64e60af4cc815251022c53a9
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoMakefile: Add python-ply to RPM_DEPENDS list. 35/10235/1
Jon Loeliger [Wed, 24 Jan 2018 19:47:46 +0000 (13:47 -0600)]
Makefile: Add python-ply to RPM_DEPENDS list.

Change-Id: I1bbb29ec2303f87c0053691fc157a747bff1626d
Signed-off-by: Jon Loeliger <jdl@netgate.com>
6 years agoSCTP stack (RFC4960) 50/9150/74
Marco Varlese [Mon, 30 Oct 2017 17:17:21 +0000 (18:17 +0100)]
SCTP stack (RFC4960)

== CONTENT ==
* SCTP chunks definition as per RFC4960;
* Helper functions to set/get values to/from the corresponding chunks;
* Hooks to the session/application layers;
* Complete state-machine handling;
* Implementation for unexpected chunk received in a certain
state (state-machine error handling)
* Support for 1-single connection;
* Sample application to test receive/transmit data-path;
* Test to validate SCTP stack;

Change-Id: I1b55c455ab400be9513f4e094dadfc3181d2ebc9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoImprove the error reporting for a IP multicast RPF miss. 12/10212/3
Neale Ranns [Tue, 23 Jan 2018 16:38:50 +0000 (08:38 -0800)]
Improve the error reporting for a IP multicast RPF miss.

now we get:

00:00:04:288925: pg-input
 ...
00:00:04:289345: ethernet-input
 ...
00:00:04:289524: ip6-input
 ...
00:00:04:289553: ip6-mfib-forward-lookup
 ...
00:00:04:289584: ip6-mfib-forward-rpf
  entry 14 itf 2 flags Forward,
00:00:04:289754: ip6-drop
    UDP: 2002::1 -> ff01:2::255
      tos 0x00, flow label 0x0, hop limit 64, payload length 21
    UDP: 1234 -> 1234
      length 21, checksum 0x90d1
00:00:04:289802: error-drop
  ip4-input: Multicast RPF check failed

08:36:44,517    Count                    Node                  Reason
       182                ip4-input               Multicast RPF check failed
         8             ip6-icmp-input             neighbor advertisements sent
         8             ip6-icmp-input             router advertisements sent
         8                arp-input               ARP replies sent

Change-Id: I1b29cda4ec77a88db45bfb25c7473cd64bbf501a
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoImprove tunnel interface creation performance 16/10216/4
John Lo [Wed, 24 Jan 2018 00:21:34 +0000 (19:21 -0500)]
Improve tunnel interface creation performance

Modify interface creation to allow creation of tunnel interfaces
without dedicated per tunnel output and tx nodes which are not
used for most tunnel types. Also changed interface-output node
function vnet_per_buffer_interface_output() so it does not rely
on hw_if_index as the next node index which is not flexible nor
efficient for large scale tunnel interfaces.

The improvenemts are done for VXLAN, VXLAN-GPE, GENEVE and GTPU
tunnels. GRE tunnel is still using per tunnel output nodes which
will be changed in a separate patch with other GRE enhencements.

Change-Id: I4123c01c0d2ead814417a867adb8c8a407e4df55
Signed-off-by: John Lo <loj@cisco.com>
6 years agoNAT44: asymmetrical static mapping and one-armed NAT (VPP-1138) 06/10206/2
Matus Fabian [Tue, 23 Jan 2018 14:07:01 +0000 (06:07 -0800)]
NAT44: asymmetrical static mapping and one-armed NAT (VPP-1138)

One-armed NAT should work for asymmetrical static mappings without adding external address to the NAT44 pool.

Change-Id: Ie886b75b55c3b552d1029a50bd967625fde80f09
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agodocs: Clean up TOC 17/10217/1
Dave Wallace [Tue, 23 Jan 2018 22:47:02 +0000 (17:47 -0500)]
docs: Clean up TOC

Change-Id: I5415c002a431d84372f56d4a77dc2aabd6ef55f7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 1eb970d16028e9a987c1dd2bfe217d1313262b81)

6 years agoAdding a format function for bihash init routine to format the key, value, when verbo... 50/9850/5
Vijayabhaskar Katamreddy [Thu, 14 Dec 2017 21:20:50 +0000 (13:20 -0800)]
Adding a format function for bihash init routine to format the key, value, when verbose option is used

Change-Id: Ib63ead4525332f897b8a1d8a4cf5a0eb1da1e7f3
Signed-off-by: Vijayabhaskar Katamreddy <vkatamre@cisco.com>
6 years agoFix typo / coverity warning 07/10207/1
Dave Barach [Tue, 23 Jan 2018 15:04:08 +0000 (10:04 -0500)]
Fix typo / coverity warning

Change-Id: I4a3a6803083f3d707351440486bba59d8194339f
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoFor DHCP client configuration control the setting of the broadcast flag in the 69/10169/2
Neale Ranns [Wed, 17 Jan 2018 18:29:10 +0000 (10:29 -0800)]
For DHCP client configuration control the setting of the broadcast flag in the
DISCOVER message sent.

According to RFC2131:

   In the case of a client using DHCP for initial configuration (before
   the client's TCP/IP software has been completely configured), DHCP
   requires creative use of the client's TCP/IP software and liberal
   interpretation of RFC 1122.  The TCP/IP software SHOULD accept and
   forward to the IP layer any IP packets delivered to the client's
   hardware address before the IP address is configured; DHCP servers
   and BOOTP relay agents may not be able to deliver DHCP messages to
   clients that cannot accept hardware unicast datagrams before the
   TCP/IP software is configured.

   To work around some clients that cannot accept IP unicast datagrams
   before the TCP/IP software is configured as discussed in the previous
   paragraph, DHCP uses the 'flags' field [21].  The leftmost bit is
   defined as the BROADCAST (B) flag.  The semantics of this flag are
   discussed in section 4.1 of this document.  The remaining bits of the
   flags field are reserved for future use.  They MUST be set to zero by
   clients and ignored by servers and relay agents.  Figure 2 gives the
   format of the 'flags' field.

this changes means VPP conforms to the:
   "SHOULD accept and forward to the IP layer any IP packets delivered
    to the client's hardware address before the IP address is configured"
with the caveat that VPP allows DHCP packets destined to the stanard client
DHCP port to be delivered. With this enhancement the control-plane is now
able to choose the setting of the broadcast flag.

Change-Id: Ia4eb2c9bb1e30c29f9192facc645e9533641955a
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoVPPAPIGEN: vppapigen replacement in Python PLY. 81/8781/23
Ole Troan [Thu, 12 Oct 2017 11:06:35 +0000 (13:06 +0200)]
VPPAPIGEN: vppapigen replacement in Python PLY.

This is a version of the VPP API generator in Python PLY. It supports
the existing language, and has a plugin architecture for generators.
Currently C and JSON are supported.

Changes:
 - vl_api_version to option version = "major.minor.patch"
 - enum support
 - Added error checking and reporting
 - import support (removed the C pre-processor)
 - services (tying request/reply together)

Version:
 option version = "1.0.0";

Enum:
 enum colours {
   RED,
   BLUE = 50,
 };
 define foo {
  vl_api_colours_t colours;
 };

Services:
 service {
  rpc foo returns foo_reply;
  rpc foo_dump returns stream foo_details;
  rpc want_stats returns want_stats_reply
      events ip4_counters, ip6_counters;
 };

Future planned features:
 - unions
 - bool, text
 - array support (including length)
 - proto3 output plugin
 - Refactor C/C++ generator as a plugin
 - Refactor Java generator as a plugin

Change-Id: Ifa289966c790e1b1a8e2938a91e69331e3a58bdf
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agoNAT44: Fix interface feature removal. 95/10195/2
Milan Lenco [Mon, 22 Jan 2018 13:05:14 +0000 (14:05 +0100)]
NAT44: Fix interface feature removal.

Change-Id: Ie7cd809f30decc36cb8e1f4d8acc4b41f17cd390
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
6 years agovom: acl: Fix l3 acl handle populate 07/10107/2
Mohsin Kazmi [Mon, 15 Jan 2018 13:16:45 +0000 (14:16 +0100)]
vom: acl: Fix l3 acl handle populate

Change-Id: I5f105a1abb8a28645d6c961ad92f91c23787047f
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agovom: ip_route: fix handle populate 06/10106/2
Mohsin Kazmi [Fri, 12 Jan 2018 18:11:44 +0000 (19:11 +0100)]
vom: ip_route: fix handle populate

Change-Id: I91892084133daadb74caa7aa13ee1071599ba892
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agovom: Fix connection to VAPI and add disconnect function 05/10105/3
Mohsin Kazmi [Mon, 8 Jan 2018 11:58:32 +0000 (12:58 +0100)]
vom: Fix connection to VAPI and add disconnect function

Change-Id: I2dd5dbafe36e5ae536b3e600beb6920a71238b7a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agosvm: queue sub: Add conditional timed wait 60/9960/6
Mohsin Kazmi [Thu, 4 Jan 2018 17:57:26 +0000 (18:57 +0100)]
svm: queue sub: Add conditional timed wait

On reviece side svm queue only permits blocking and
non-blocking calls. This patch adds timed wait blocking
functionality which returns either on signal/event or
on given time out.

It also preserves the original behavior, so it will not
hurt client applications which are using svm queue.

Change-Id: Ic10632170330a80afb8bc781d4ccddfe4da2c69a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
6 years agoNAT44: asymmetrical static mapping rule (VPP-1135) 54/10154/2
Matus Fabian [Thu, 18 Jan 2018 11:38:45 +0000 (03:38 -0800)]
NAT44: asymmetrical static mapping rule (VPP-1135)

add option to NAT44 static mapping API/CLI to make rule asymmetrical (rule match only out2in direction)

Change-Id: If262a3ff375a24d3059f0de1f1ac387a4fe09475
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agovhost_user: 'nregions' saves the actual number of mapped guest physical address area 76/10176/3
Haiyang Tan [Sat, 20 Jan 2018 09:01:28 +0000 (04:01 -0500)]
vhost_user: 'nregions' saves the actual number of mapped guest physical address area

This patch fixed the VMA leak that if mapping one of guest physical address area get failed.

Change-Id: I07b0b9a932209561d6ff2b2dd08a111ea5db2209
Signed-off-by: Haiyang Tan <haiyang.tan.dev@gmail.com>
6 years agoVCL/LD_PRELOAD: Fix unfiltered debug output. 63/10163/2
Dave Wallace [Thu, 18 Jan 2018 22:01:40 +0000 (17:01 -0500)]
VCL/LD_PRELOAD: Fix unfiltered debug output.

Change-Id: I625b219fe6ffd21f87a163244569a4075cd432a4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoFix MP hazard in interrupt node scheduling 73/10173/3
Dave Barach [Fri, 19 Jan 2018 18:09:20 +0000 (13:09 -0500)]
Fix MP hazard in interrupt node scheduling

Change-Id: Iff14ed6ffd822eb2286aac6af467d9c8660e3d81
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoSRv6 static proxy plugin 35/10135/4
Francois Clad [Tue, 16 Jan 2018 16:52:24 +0000 (17:52 +0100)]
SRv6 static proxy plugin

Change-Id: Ia0654461d9fa36503323a8375997719c873d23b9
Signed-off-by: Francois Clad <fclad@cisco.com>
6 years agoLD_PRELOAD: Fix Coverity Warning CID 182227 70/10170/2
Dave Wallace [Fri, 19 Jan 2018 17:17:08 +0000 (12:17 -0500)]
LD_PRELOAD: Fix Coverity Warning CID 182227

Change-Id: I2698a59db29cbace49335e035478b5f456d0b06a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agovxlan:restructure encap loop 38/10138/3
Eyal Bari [Wed, 17 Jan 2018 10:06:32 +0000 (12:06 +0200)]
vxlan:restructure encap loop

unified some code from IPv4/6 pathes
replaced unrolled rewrite copy with simple assignment
refactored stats handling
was not tested for performance

Change-Id: I00aeb9dd5b72584e6606e1a076e5c8270389aaa4
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoSub-Interface deletion not cleanup hash's properly (VPP-1136) 68/10168/2
John Lo [Thu, 18 Jan 2018 17:44:50 +0000 (12:44 -0500)]
Sub-Interface deletion not cleanup hash's properly (VPP-1136)

On deleting sub-interfaces, functions vnet_delete_sub_interface()
and vnet_delete_hw_interface() are not cleaning up sub-interface
related hash tables and memory properly.

Change-Id: I17c7c4b2078c062c77bfe48889beb677610035ca
Signed-off-by: John Lo <loj@cisco.com>
(cherry picked from commit 7f5bec647c9dc743c015d461d040e63a77fd0a08)

6 years agoElog entries for VCL 65/10165/2
Keith Burns (alagalah) [Fri, 19 Jan 2018 00:01:34 +0000 (16:01 -0800)]
Elog entries for VCL

Change-Id: Ica8470aaf581e69a74fe4f0fc0296ff3fb6f87d3
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agoLD_PRELOAD: Fix coverity warnings 64/10164/1
Dave Wallace [Thu, 18 Jan 2018 22:21:19 +0000 (17:21 -0500)]
LD_PRELOAD: Fix coverity warnings

** CID 182185:  Memory - illegal accesses  (UNINIT)
** CID 182184:  Memory - illegal accesses  (UNINIT)
** CID 182183:    (UNINIT)
** CID 182182:  Memory - illegal accesses  (UNINIT)
** CID 182181:  Memory - illegal accesses  (UNINIT)
** CID 182180:  Uninitialized variables  (UNINIT)
** CID 182179:  Null pointer dereferences  (REVERSE_INULL)
** CID 182178:  Uninitialized variables  (UNINIT)
** CID 182177:  Uninitialized variables  (UNINIT)

Change-Id: I33e043572db493eef58d85c5096ceac5a7d41c7a
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agovlib: add vlib_buffer_alloc_to_ring API 58/10158/2
Damjan Marion [Thu, 18 Jan 2018 13:54:04 +0000 (14:54 +0100)]
vlib: add vlib_buffer_alloc_to_ring API

Change-Id: I4e2804754b443f5f41fb25eed8334908c4a70f84
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agotapv2: add option to set host-side default gw 55/10155/3
Damjan Marion [Thu, 18 Jan 2018 12:35:11 +0000 (13:35 +0100)]
tapv2: add option to set host-side default gw

Change-Id: I76fd655ecd9445299b94b3b5af10e7b1588584e4
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVPP-1119: PPPoE's destination MAC was overwritten 62/10062/2
Hongjun Ni [Mon, 8 Jan 2018 22:52:19 +0000 (06:52 +0800)]
VPP-1119: PPPoE's destination MAC was overwritten

Change-Id: I6ae99c00e76058654f2c5e71377e9fd1bd13b47b
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
(cherry picked from commit c287cd550b91be7a93bae76d0086db87f575e3d3)

6 years agoEvent log entries for VCL 50/10150/2
Keith Burns (alagalah) [Wed, 17 Jan 2018 23:16:32 +0000 (15:16 -0800)]
Event log entries for VCL

Change-Id: I288ecd7f39422ed900a5c6fbaf9c939ab5c06880
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
6 years agoFIB Inherited Srouce 77/9477/6
Neale Ranns [Thu, 6 Apr 2017 11:41:02 +0000 (04:41 -0700)]
FIB Inherited Srouce

forwarding provided by the source is pushed to all other entries
it covers in the sub-tree

Change-Id: I2a45222ef653358f55c2436de3e3c6353cfadba2
Signed-off-by: Neale Ranns <nranns@cisco.com>