Neale Ranns [Mon, 14 Aug 2017 14:18:42 +0000 (07:18 -0700)]
FIB table add/delete API only
commit only the addition of the .api definition and their invocation through VAT so CSIT can use it
Change-Id: Id510f14b1ce007fe5e92120507ea34100652fc64
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Mon, 14 Aug 2017 15:45:15 +0000 (08:45 -0700)]
TCP: update builtin server/client cli help
Change-Id: I224ef3ce1c4ac2ade5ba733a42c78b7ba5c0040e
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Fri, 11 Aug 2017 08:06:15 +0000 (10:06 +0200)]
make test: properly handle ctrl-c
Change-Id: Iab88886ebc1582626813777ea45ce97fc8e36443
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Marek Gradzki [Thu, 10 Aug 2017 12:57:42 +0000 (14:57 +0200)]
jvpp: ignore messages if callback method is missing (VPP-548)
Change-Id: I6a06dbcd8339bd6645a6b02ae70154aa0885dcf8
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Sergio Gonzalez Monroy [Mon, 14 Aug 2017 08:26:44 +0000 (09:26 +0100)]
dpdk: force libdir for isa-l crypto library
Depending on the OS, the default libdir might change.
RHEL/Ubuntu:
libdir={exec_prefix}/lib
OpenSUSE:
libdir={exec_prefix}/lib64
Change-Id: I5f1672e5815ad821e6ac5fff95de5232ab735b67
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Marco Varlese [Mon, 14 Aug 2017 08:53:28 +0000 (10:53 +0200)]
Added MD5SUM for DPDK 17.08 tarball as a first step towards migration
Change-Id: Ic73b857c4e3d5a3f695e93924de5a5bed0af5019
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Sergio Gonzalez Monroy [Mon, 14 Aug 2017 08:46:19 +0000 (09:46 +0100)]
dpdk: cleanup unused build option *_uses_dpdk_cryptodev_sw
Change-Id: I62939592bd3cb151e02c55a3f1ee6e7d1ce469cb
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Jan Srnicek [Fri, 24 Mar 2017 09:18:11 +0000 (10:18 +0100)]
jvpp: make shm_prefix configurable (VPP-591)
svm.c - set default map region root path only if root path is not
already present
memory_shared.c - added option for tests to send memory region name
and root path in one variable, if so name and root path are
separated here and set to map region structure so find function
can find it properly
jvpp-registry.c - added parameters shmPrefix to be able pass +
removed sudo restriction
specific shared memory prefix that is used while starting
python tests(see framework.py)
JVppRegistyImpl - added option to specify shmPrefix
VppJNIConnection - added option to specify shmPrefix
Change-Id: I3f89f867fb9b20eef00fbd497cb0e41b25d6eab7
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Signed-off-by: Matej Perina <mperina@cisco.com>
Neale Ranns [Sat, 12 Aug 2017 19:52:54 +0000 (12:52 -0700)]
default update adjacency function deos not return multicast adjacency
by not returning a multicast adjacency type when requested, but instead returning a nbr type, the mcast adj was never correctly deleted. hence when reused the adjacency object was not realocated from the pool and when it was freed a second time a crash occured.
Change-Id: Ia74ae3e889db0dfba8ec3c6a0cccfef215587ff6
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Sat, 12 Aug 2017 01:26:23 +0000 (18:26 -0700)]
LISP: fix fid nsh address formatting
Change-Id: I912fa53c02c720901c9fb253550790829107de39
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Fri, 11 Aug 2017 04:56:05 +0000 (06:56 +0200)]
make test: fix broken DEBUG=gdb* options
Change-Id: I5d80982eeab78a629760f567eda3b1539d96e3a8
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Florin Coras [Tue, 1 Aug 2017 23:56:58 +0000 (16:56 -0700)]
Fix tcp multi buffer segments retransmission
- Fix tcp/udp sw checksum computation
- Fix allocation of multi buffer tcp segments for retransmits
- Send FIN only if/when tx fifo is empty
Change-Id: I2e43a14b87a72c9e547b4339b9a51811cf5732c4
Signed-off-by: Florin Coras <fcoras@cisco.com>
Hongjun Ni [Tue, 25 Jul 2017 14:03:08 +0000 (22:03 +0800)]
Fix IP fragment-id and offset issue in LB-GRE4
Change-Id: Ic1c440b2594c3ec4cdc75730069f16432cdb9587
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Filip Tehlar [Tue, 8 Aug 2017 11:11:22 +0000 (13:11 +0200)]
LISP: fix wrong reply message in map_register_fallback_threshold call
Change-Id: I0011c211908db6067f918fbaaa7d6863191d5bd3
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Neale Ranns [Mon, 7 Aug 2017 14:53:49 +0000 (07:53 -0700)]
Dedicated SW Interface Event
Change-Id: I06a10a4291e61aec3f1396d2514ed6fe3901897a
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Neale Ranns [Thu, 10 Aug 2017 18:34:12 +0000 (11:34 -0700)]
the automatic addition of IP address to the magic TAP interface should only happen for one table
Change-Id: I99d3e9227c33ee42b90e4842080960fcc6c03913
Signed-off-by: Neale Ranns <nranns@cisco.com>
Dave Wallace [Thu, 3 Aug 2017 06:11:34 +0000 (02:11 -0400)]
Add VPP Communications Library (VCL)
- VCL library
- client/server test application
- test script (make test integration tbd)
- gdb command file templates
- vppcom test config file
Change-Id: I21eab7aa09b4e5dc3412acf5c2eab07415c2fc0f
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 14:00:20 +0000 (16:00 +0200)]
acl-plugin: add the debug CLI to show macip ACLs and where they are applied (VPP-936)
When looking at resource utilisation, it is useful to understand
the interactions between the acl-plugin and the rest of VPP.
MACIP ACLs till now could only be dumped via API,
which is tricky when debugging. Add the CLIs to see
the MACIP ACLs and where they are applied.
Change-Id: I3211901589e3dcff751697831c1cd0e19dcab1da
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
f2cfcf676e67a7ea80ce20a69826210eb97acba5)
Chaoyu Jin [Tue, 8 Aug 2017 20:36:23 +0000 (13:36 -0700)]
Fix memory leaks found in policer code.
2nd commit is to fix style failures.
3rd commit is to remove unneccesary change based on review comment.
Change-Id: I4d54d25c27e037b9d0438f8af416cf113763dc6d
Signed-off-by: Chaoyu Jin <chjin@cisco.com>
Dave Barach [Thu, 10 Aug 2017 18:57:43 +0000 (14:57 -0400)]
Add tcp, session-layer MAINTAINERS file entries
Change-Id: I6c89383738624b8b18645b6c93c3025604ac538e
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Thu, 10 Aug 2017 00:50:09 +0000 (17:50 -0700)]
Fix LISP cp buffer leakage
Change-Id: Id7e0f967cc510f0b45f043f74493854083ac67ae
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 16:19:30 +0000 (18:19 +0200)]
acl-plugin: add MAINTAINERS entry
Change-Id: I681eca4897f8dba7e85fdbcbb7e03d1d9ef29224
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Thu, 10 Aug 2017 12:19:58 +0000 (14:19 +0200)]
acl-plugin: hash lookup bitmask not cleared when ACL is unapplied from interface (VPP-935)
The logic in hash ACL bitmask update was using the vector
of ACLs applied to the interface to rebuild the hash lookup mask.
However, in transient cases (like doing group manipulation with
hash ACLs), that will not hold true. Thus, make
a local copy of for which ACL indices the hash_acl_apply
was called previously, and maintain that one local
to the hash_lookup.c file logic.
Change-Id: I30187d68febce8bba2ab6ffbb1eee13b5c96a44b
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
1de7d7044434196610190011ebb431f054701259)
Dave Barach [Wed, 2 Aug 2017 17:56:13 +0000 (13:56 -0400)]
Improve the svm fifo allocator
- Round up requested fifo size to the next power of two
- Maintain per-segment power-of-two freelists
- Allocate fifos in chunks, to amortize alignment overhead
- Detach builtin test client application after each run
so we can use different fifo sizes each time
- Be more suspicious of session / application indices
Useful prep work for dynamically resizing fifos. As far as the svm
fifo code is concerned, it's OK to set fifo->nitems anywhere in the
interval: [0, 1<<(fifo->freelist_index) + FIFO_SEGMENT_MIN_FIFO_SIZE]
It's unlikely that setting nitems below the path MTU will work out
very well...
Change-Id: Idad73a027dfb7412056cb02988b77e300fa7e8a7
Signed-off-by: Dave Barach <dave@barachs.net>
Andrew Yourtchenko [Tue, 8 Aug 2017 18:10:12 +0000 (20:10 +0200)]
acl-plugin: avoid crash in multithreaded setup adding/deleting ACLs with traffic (VPP-910/VPP-929)
The commit fixing the VPP-910 and separating the memory operations
into separate heaps has missed setting the MHEAP_FLAG_THREAD_SAFE,
which quite obviously caused the issues in the multithread setup.
Fix that.
Also, add the debug CLIs
"set acl-plugin heap {main|hash} {validate|trace} {1|0}"
to toggle the memory instrumentation, in case we ever need it
in the future.
Change-Id: I8bd4f7978613f5ea75a030cfb90674dac34ae7bf
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
e6423bef32ca2ffcfcd7a092eb4673badd53ea4c)
Klement Sekera [Thu, 10 Aug 2017 04:50:27 +0000 (06:50 +0200)]
make test: bump default test timeout to 10 minutes
Change-Id: I25d88966376d712ff61f29227a45880a59e8ecf2
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Wed, 9 Aug 2017 12:43:35 +0000 (05:43 -0700)]
MPLS tunnel - multiple labels on the CLI - fix cut and paste robot errors
Change-Id: I675af62d9c0c9cf2e340bf19e902695861d4e4b5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matthew Smith [Wed, 9 Aug 2017 21:30:43 +0000 (16:30 -0500)]
VPP-933 VPP crashes when deleting an ARP entry
When attempting to delete an ARP entry on an interface
that hasn't had any ARP entries added yet, VPP was
retrieving an array element at an index that was out of
bounds and trying to dereference it.
Change-Id: Id141d3bfd8378dd8dd63f43b0b4b41461c285a4f
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Klement Sekera [Tue, 8 Aug 2017 02:33:53 +0000 (04:33 +0200)]
make test: detect hung tests
Run tests in a forked process with a set of pipes to communicate
keep-alives and overall result. This allows us to detect when e.g.
vpp dies mid-API call causing the test to hang waiting for response
(which will never come since vpp died).
Support setting a (per test case) TIMEOUT make test option to set timeout,
with a default timeout of 120 seconds.
Example - fail the test suite if any test-case fails to finish within
300s:
make TIMEOUT=300 test
Change-Id: I0d04f26a7232968f4bf043adf5d5b508f5018717
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Dave Barach [Mon, 7 Aug 2017 13:35:25 +0000 (09:35 -0400)]
TCP proxy prototype
- Clean up internal API client registration
- Add proxy server
- Add a reference count to the svm fifo
Change-Id: I5ace1c85497062ed412d26ae76a9e6741af1e984
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Andrew Yourtchenko [Wed, 9 Aug 2017 09:28:02 +0000 (11:28 +0200)]
acl-plugin: all TCP sessions treated as transient (VPP-932)
The packet that was creating the session was not tracked,
consequently the TCP flags seen within the session record
never got the value for the session to get treated as
being in the established state.
Test-escape, so add the TCP tests which test the
three phases of the TCP session life and make them all pass.
Change-Id: Ib048bc30c809a7f03be2de7e8361c2c281270348
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
754370f1b55d4102d21dd94676f2bda3170c7df0)
Sergio Gonzalez Monroy [Wed, 19 Jul 2017 15:22:28 +0000 (16:22 +0100)]
dpdk: only build SW crypto for x86_64 platforms
Change-Id: If559747ad59c82c81d15734f27e15548eca0962b
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Neale Ranns [Wed, 9 Aug 2017 12:35:02 +0000 (05:35 -0700)]
PPPoE: use DPO protos in FIB entry path add/remove
Change-Id: I6ac10ec0adf179b86f97269bbce2a7fd8796e72a
Signed-off-by: Neale Ranns <nranns@cisco.com>
Hongjun Ni [Tue, 4 Jul 2017 12:11:57 +0000 (20:11 +0800)]
Add PPPoE Plugin
Supports 64K PPPoE sessions
This plugin adds three graph nodes:
1) pppoe-input for PPPoE decapsulation
2) pppoe-encap for PPPoE encapsulation
3) pppoe-tap-dispatch for control plane process
Below is the configuration to make PPPoE CP and DP work:
vim /etc/vpp/startup.conf
tuntap {
enable
ethernet
name newtap
}
create pppoe tap tap-if-index 1
//Configure it after a subscriber's PPPoE discovery and PPP link establishment succeeds:
create pppoe session client-ip 100.1.2.1 session-id 1 client-mac 00:11:01:00:00:01
show pppoe fib
show pppoe session
Change-Id: I73e724b6bf7c3e4181a9914c5752da1fa72d7e60
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Neale Ranns [Tue, 8 Aug 2017 20:07:16 +0000 (13:07 -0700)]
Allow multiple MPLS output labels to be passed on the CLI
Change-Id: Ib5af105e32b6b0df86923e189ab6bf6ee59de5b9
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Tue, 8 Aug 2017 19:35:11 +0000 (12:35 -0700)]
ARP reply: use interface to build rewrite string
Change-Id: I488965e78d0b3291af4c82902098ca666317a22e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 24 May 2017 16:15:43 +0000 (09:15 -0700)]
L2 over MPLS
[support for VPWS/VPLS]
- switch to using dpo_proto_t rather than fib_protocol_t in fib_paths so that we can describe L2 paths
- VLIB nodes to handle pop/push of MPLS labels to L2
Change-Id: Id050d06a11fd2c9c1c81ce5a0654e6c5ae6afa6e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Thomas F Herbert [Wed, 19 Jul 2017 23:17:15 +0000 (19:17 -0400)]
Create source rpm.
Use actual file name for tarball.
Includes required modifications in spec file for unpacking srpm.
Spec file source references actual dist tarball name
so it matches the revision and release while building from srpm.
JIRA: VPP-498
Change-Id: I8b55a69f060b7864527b94d8c5b0a2ebccc306b1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Andrew Yourtchenko [Tue, 8 Aug 2017 11:27:30 +0000 (13:27 +0200)]
acl-plugin: fix a misplaced return (VPP-910)
It was uncaught by make test because the corresponding tests are not there yet - part of 17.10 deliverables
Change-Id: I55456f1874ce5665a06ee411c7abf37cd19ed814
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
58013b73509521789608f24a79a00177797ff9b1)
Neale Ranns [Tue, 8 Aug 2017 12:00:25 +0000 (05:00 -0700)]
MAC IP ACL interface list dump (as an alternative to the get/reply)
Change-Id: I2e71aef1aa745e85ad3234b0b708cdc50f335a75
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Andrew Yourtchenko [Thu, 27 Jul 2017 13:39:50 +0000 (15:39 +0200)]
acl-plugin: rework the optimization 7383, fortify acl-plugin memory behavior (VPP-910)
The further prolonged testing from testbed that reported VPP-910
has uncovered a couple of deeper issues with optimization from
7384, and the usage of subscripts rather than vec_elt_at_index()
allowed to hide a couple of further errors in the code.
Also, the current acl-plugin behavior of using the global
heap for its dynamic data is problematic - it makes
the troubleshooting much harder by potentially spreading
the problem around.
Based on this experience, this commits makes a few changes to fix
the issues seen, also improving the serviceability of the acl-plugin
code for the future:
- Use separate mheaps for any ACL-related control plane
operations and separate for the hash lookup datastructures,
to compartmentalize any memory-related issues for the ACL plugin.
- Ensure vec_elt_at_index() usage throughout the hash_lookup.c file.
- Use vectors rather than raw memory for storing the "ordinary" ACL rules.
- Rework the optimization from 7384 to use a separate tail pointer
rather than overloading the "prev" field.
- Make get_session_ptr() more conservative and adjust is_valid_session_ptr
accordingly
Change-Id: Ifda85193f361de5ed3782a4acd39622bd33c5830
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
bd9c5ffe39e9ce61db95d74d150e07d738f24da1)
Filip Tehlar [Thu, 27 Jul 2017 06:09:14 +0000 (08:09 +0200)]
LISP: Map-server fallback feature
Change-Id: I1356296e1a85b5d532f45ba70572b2184ac3f6fb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Klement Sekera [Tue, 11 Jul 2017 05:29:37 +0000 (07:29 +0200)]
make test: kill all remaining subprocesses on exit
This change introduces a wrapper script which kills all processes in
the same process group as itself (with the exception of the script).
Using this script to run the unit tests should prevent stale processes
left behind in some cases (e.g. when test framework crashes).
Change-Id: If3b9201c06b87fa6be095721436893207d09b5e4
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Filip Tehlar [Fri, 4 Aug 2017 07:13:50 +0000 (09:13 +0200)]
LISP: fix map register TTL reply handler, VPP-926
Change-Id: I0c638ad5dabc035b4b7de3b9befbe2c8ba7b0b66
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Matej Perina [Thu, 20 Jul 2017 13:35:19 +0000 (15:35 +0200)]
jvpp: provide more detailed exception logs (VPP-436)
Error descriptions provided in api_errno.h are never used,
only error tag/name and number make it to enum vnet_api_error_t
so new macro is introduced in jvpp_common.c to extract message
according to error number and passed to VppCallbackException
constuctor.
Change-Id: If2a687752807d7250d9226987583df00f151e87f
Signed-off-by: Matej Perina <mperina@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Neale Ranns [Fri, 4 Aug 2017 13:22:23 +0000 (06:22 -0700)]
don't truncate the interface name in 'sh ip arp'
Change-Id: Ifb17bae98ae1362078889d40e2369d58997bd92c
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Hongjun Ni [Thu, 3 Aug 2017 12:34:45 +0000 (20:34 +0800)]
Initialize vxlan-gpe bypass mode
Change-Id: I2a75357d49a971818c8d96d56d184c5d01fbc775
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Matus Fabian [Thu, 3 Aug 2017 07:58:05 +0000 (00:58 -0700)]
SNAT: fix address and port allocation for multiple worker threads (VPP-925)
There is a chance to allocate the same outside address and port.
Assign a block of port numbers to each worker.
Change-Id: I6ef7dc0aab4834705f4e6097c362940d18d747e8
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Thomas F Herbert [Tue, 1 Aug 2017 16:46:41 +0000 (12:46 -0400)]
Fix nasm deps for Fedora.
Fedora 24 and 25 distro already includes nasm 2.12 but Centos does not as yet.
Change-Id: I060ea8b7b7892ac8444d850398ed1c9100631fbc
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Andrew Yourtchenko [Wed, 2 Aug 2017 10:36:07 +0000 (06:36 -0400)]
acl-plugin: multicore: CSIT c100k 2-core stateful ACL test does not pass (VPP-912)
Fix several threading-related issues uncovered by the CSIT scale/performance test:
- make the per-interface add/del counters per-thread
- preallocate the per-worker session pools rather than
attempting to resize them within the datapath
- move the bihash initialization to the moment of ACL
being applied rather than later during the connection creation
- adjust the connection cleaning logic to not require
the signaling from workers to main thread
- make the connection lists check in the main thread robust against workers
updating the list heads at the same time
- add more information to "show acl-plugin sessions" to aid in debugging
Change-Id: If82ef715e4993614df11db5e9afa7fa6b522d9bc
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
8e4222fc7e23a478b021930ade3cb7d20938e398)
Neale Ranns [Wed, 2 Aug 2017 12:15:07 +0000 (05:15 -0700)]
DHCP Client: receive unicast ACKs
despite VPP DHCP client setting neither ciaddr nor giaddr and setting the broadcast bit (see RFC 2131 section 4.1) some DHCP servers will still send a unicast DCHPACK. So as not to drop this VPP must have both 1) a receive FIB entry for the OFFERED IP adress and 2) a 'don't drop me because of uRPF' FIB entry for the DHCP server's address.
Change-Id: I167d858deb45629318cbdccf5bf67d971730a42f
Signed-off-by: Neale Ranns <nranns@cisco.com>
John Lo [Thu, 3 Aug 2017 04:35:36 +0000 (00:35 -0400)]
Add support for API client to receive L2 MAC events
Added APIs want_l2_macs_events and l2_macs_event to allow an API
client to receive notification events from VPP for MAC learned
or aged in L2FIB. Only one API client is allowed for L2 MAC events.
The want_l2_macs_events API allow caller to specify MAC learn
limit, event scan delay and max number of MACs that can be included
in a event message. These parameters should be choosen properly as
to not have too many MAC events sent by VPP and overwhelm the API
share memory. They can all be left as 0's so VPP will setup reasonable
defaults which are: 1000 learn limit, 100 msec scan delay and 100
MACs per event message.
If want_l2_macs_events is never called, VPP learning and aging
should behave as before except that MAC entries provisioned by API
or CLI will not be aged, even if it is not set as static_mac. These
non static MACs, however, can be overwritten by MAC learning on a
MAC move as a leared MAC. Only learned MACs are subject to aging.
Change-Id: Ia3757a80cf8adb2811a089d2eafbd6439461285c
Signed-off-by: John Lo <loj@cisco.com>
jerryian [Thu, 3 Aug 2017 02:17:01 +0000 (10:17 +0800)]
gtpu bypass function doesn't work (VPP-924)
Change-Id: I80183f7d984ed6ed2e3405d1bb65fe761a29bc81
Signed-off-by: jerryian <gu.jian1@zte.com.cn>
Filip Tehlar [Wed, 2 Aug 2017 10:45:07 +0000 (12:45 +0200)]
LISP: make TTL for map register messages configurable
Change-Id: I38e1c6a6b033e12ef3f4345a1deff73fa4adbea0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Pavel Kotucek [Wed, 2 Aug 2017 06:20:19 +0000 (08:20 +0200)]
Fix vpp crash sending arp or probing neighb (VPP-917)
VPP crash when trying to send arp message or to probe neighbor over
interface with IP address but without hw address (local0 and tunnels
- vxlan, gre, ...)
Change-Id: I08a1c97d3ea913fc11b2886cf73b2ccc31356664
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Dave Barach [Wed, 2 Aug 2017 13:19:32 +0000 (09:19 -0400)]
Fix ip checksum offload, move badly-placed ASSERT
Change-Id: I5e04d618c4b4987edc64f6d82fd0a81b8362dbb0
Signed-off-by: Dave Barach <dbarach@cisco.com>
Damjan Marion [Thu, 27 Jul 2017 12:07:53 +0000 (08:07 -0400)]
memif: construct interface name out of socket file idx and intf id
Change-Id: Ib4de018a84e9c94df26a8870bf1b04e26204ace1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Marco Varlese [Wed, 2 Aug 2017 12:16:31 +0000 (14:16 +0200)]
Added NASM package to support SW crypto
Change-Id: Idd6614b80e456eb40c760024b563ffd0e5c313ec
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Jan Gelety [Wed, 2 Aug 2017 06:53:35 +0000 (08:53 +0200)]
Update CSIT tests 170724 -> 170731
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I3ec322a71764d6d3e8aaeeabd4464fd6bde2880e
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Florin Coras [Tue, 1 Aug 2017 00:18:03 +0000 (17:18 -0700)]
Fix tcp tx buffer allocation
- Make tcp output buffer allocation macro an inline function
- Use per ip version per thread tx frames for retransmits and timer
events
- Fix / parameterize tcp data structure preallocation
- Add a couple of gdb-callable show commands
- Fix local endpoint cleanup
Change-Id: I67b47b7570aa14cb4634b6fd93c57cd2eacbfa29
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Florin Coras [Thu, 27 Jul 2017 07:34:12 +0000 (00:34 -0700)]
Make ip csum configurable in vlib buffer functions
Also fixes csum computation for lisp control plane 4o6 encapsulated control
messages.
Change-Id: I991e0b5c0d16dc51e0b5bdc79e1d752270b34765
Signed-off-by: Florin Coras <fcoras@cisco.com>
Neale Ranns [Tue, 1 Aug 2017 18:40:03 +0000 (11:40 -0700)]
FIB path weight incorrect in dump (VPP-922)
Change-Id: I655f41878ca3595681d0255782b0faba01c9824b
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 31 Jul 2017 09:56:03 +0000 (02:56 -0700)]
Tests for recursive load-balancing with no choices.
Change-Id: I90bb3369576741d03628a818ffa63cc99d6e4c98
Signed-off-by: Neale Ranns <nranns@cisco.com>
Pavel Kotucek [Tue, 20 Jun 2017 12:00:26 +0000 (14:00 +0200)]
P2P Ethernet
Change-Id: Idb97e573961b3bc2acdeef77582314590795f8c3
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Eyal Bari [Mon, 31 Jul 2017 10:12:30 +0000 (13:12 +0300)]
SPAN/API:enable L2 dump
Change-Id: Icea1dff33aae35a85ae1a7ed1900a0abb3fe4b6b
Signed-off-by: Eyal Bari <ebari@cisco.com>
Dave Wallace [Mon, 31 Jul 2017 17:33:11 +0000 (13:33 -0400)]
ssvm->name must be a vector containing a c-string.
Change-Id: I14a97a7fdd000da62d2ed4bea71f55ee34a21311
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Matej Perina [Tue, 18 Jul 2017 11:29:15 +0000 (13:29 +0200)]
jvpp: moving current tests to separate folder marked as examples
Change-Id: Ib1a13e0a6cba69aba7a26e1bd52f4c55c4ccc027
Signed-off-by: Matej Perina <mperina@cisco.com>
Eyal Bari [Wed, 26 Jul 2017 08:57:04 +0000 (11:57 +0300)]
CLI:add l2 input/outut to "sh int features"
Change-Id: If608bbc7f4c8b0d5c3a237098a20279e407c82d3
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Sat, 29 Jul 2017 18:50:31 +0000 (11:50 -0700)]
Fix fib_path encoding (VPP-921)
Change-Id: I4c3b22c333b052d068f1a5977e9d4e38471693d6
Signed-off-by: Florin Coras <fcoras@cisco.com>
Eyal Bari [Sun, 30 Jul 2017 10:27:46 +0000 (13:27 +0300)]
SPAN/CLI:fix disable + add errors
Change-Id: I3c697615698b622a2484df43fb78980be9b7ae98
Signed-off-by: Eyal Bari <ebari@cisco.com>
Florin Coras [Tue, 25 Jul 2017 00:40:28 +0000 (17:40 -0700)]
Make tcp active open data structures thread safe
- Cleanup half-open connections and timers on the right thread
- Ensure half-open connection and transport endpoint pools are thread safe
- Enqueue TX events to the correct vpp thread in the builtin client
- Use transport proto in transport connections instead of session type
Change-Id: Id13239a206afbff6f34a38afa510fe014e4b2049
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Mohammed Hawari [Tue, 18 Jul 2017 07:25:01 +0000 (09:25 +0200)]
ping: fixing wrong value when there are worker threads
- the echo_reply_node is now notifying the cli process on the main thread/vlib_main
- the timestamp for the icmp reply is now acquired in the echo_reply_node and not in the cli process to avoid an off by 10ms error (see 【vpp-dev】delay is error in ping with multi worker thread)
Change-Id: I21d37002b0376b4f2ccab08d8f04c2f2944b9b39
Signed-off-by: Mohammed Hawari <mhawari@cisco.com>
Damjan Marion [Thu, 27 Jul 2017 08:07:50 +0000 (04:07 -0400)]
Fix interface reuse when running multithreaded
Node function pointer was not set on all node runtimes causing crash if
new interface is different type.
Change-Id: I4661fe883befc6cd3fc6dfc14fd44f6fa5faf27c
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Thu, 27 Jul 2017 08:01:24 +0000 (04:01 -0400)]
Thread safe internal buffer manager
Change-Id: I45845b952aa42a854e1c2c396b85f905de987020
Signed-off-by: Damjan Marion <damarion@cisco.com>
Steven [Fri, 21 Jul 2017 23:38:41 +0000 (16:38 -0700)]
vhost: debug vhost-user command needs better error checking on the syntax (VPP-916)
The syntax for debug vhost-user is
debug vhost-user <on | off>
However, currently the code does not reject the invalid command such as below
debug vhost-user
debug vhost-user on blah
debug vhost-user off blah
The fix is to enforece the correct syntax and reject the command when invalid
option is entered.
Change-Id: I1a04ae8ddb6dd299aa6d15b043362964e685ddde
Signed-off-by: Steven <sluong@cisco.com>
(cherry picked from commit
6a4de2764d9e6cadf36af824dddb3f33c2d6dc7e)
Thomas F Herbert [Sun, 23 Jul 2017 21:21:46 +0000 (17:21 -0400)]
Use relative path to vpp.service.
This change is necessary to avoid breaking builds from source rpm.
JIRA: VPP-498
Change-Id: I876572ff75f88e22bf8012cabb1bde7e6d3c925a
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Florin Coras [Tue, 25 Jul 2017 18:35:44 +0000 (11:35 -0700)]
Fix lisp udp checksum
Change-Id: I16c3f5a97c45e504eec94ce131e854d7da9cd0e3
Signed-off-by: Florin Coras <fcoras@cisco.com>
JingLiuZTE [Mon, 24 Jul 2017 02:53:31 +0000 (10:53 +0800)]
VPP-905: Wrong define used in function start_workers.
Change-Id: I6a5faebb63e9360cebfcfb1bc3f3c0eb6b15e937
Signed-off-by: JingLiuZTE <liu.jing5@zte.com.cn>
Neale Ranns [Wed, 19 Jul 2017 15:01:10 +0000 (08:01 -0700)]
17.07 Release Note
Change-Id: Iffbfffac1c508b000451e9f0e0b688d80785f7f5
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit
f4f635e7c05a4430e834a725f611cb83a9179146)
John Lo [Mon, 24 Jul 2017 17:08:36 +0000 (13:08 -0400)]
Add sample config of bonded interface in startup.conf template
Change-Id: I3985befbdd2a1a1a0e9473095034d0da7e5c32ed
Signed-off-by: John Lo <loj@cisco.com>
Florin Coras [Mon, 17 Jul 2017 00:12:15 +0000 (17:12 -0700)]
Cleanup/refactor session layer code
Change-Id: Ica99e8cb919fca6b069c37c969d60e8ccc2c6bf9
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Mon, 24 Jul 2017 06:41:03 +0000 (23:41 -0700)]
SANT: fib_table unlock (VPP-918)
Change-Id: Ie0ad3671e3f4b55cd0f14601b6fed9ee2a1cbec0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Jan Gelety [Mon, 24 Jul 2017 08:04:48 +0000 (10:04 +0200)]
Update CSIT tests 170626 -> 170724
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I5837921208bfdfe604c187c103e78b0924d802b9
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Eyal Bari [Sun, 16 Jul 2017 06:34:53 +0000 (09:34 +0300)]
SPAN:add l2 mirror
added span feature nodes for l2-input / l2-output
Change-Id: Ib6e0ce60d0811901b6edd70209e6a4c4a35cd8ff
Signed-off-by: Eyal Bari <ebari@cisco.com>
John Lo [Sat, 22 Jul 2017 04:21:36 +0000 (00:21 -0400)]
Improve L2 Input/Output Feature Infrastructure and Usage
Simplify L2 output feature infra to unify with L2 input feature
infra using the newly improved feature bitmap mechanism.
Updated all L2 features to use the more efficient infra functions.
Change-Id: If8f463826b0af0717129befe92a27ea8cfc40449
Signed-off-by: John Lo <loj@cisco.com>
Dave Barach [Fri, 21 Jul 2017 14:44:27 +0000 (10:44 -0400)]
Atomic bucket lock
Change-Id: I84908b9ad30d7555024e98b69ed37b111f31c27a
Signed-off-by: Dave Barach <dbarach@cisco.com>
Florin Coras [Tue, 18 Jul 2017 09:38:03 +0000 (05:38 -0400)]
Improvements to tcp rx path and debugging
- Increment rcv_nxt for fin packets
- Call tcp_segment_rcv only if buffer has data
- Parse rcv opts before deleting half-open connection
- Fix initial rcv_wnd
- Improved event logging
Change-Id: I9b83c04f432c4cec832c480b03e534deff02c3b1
Signed-off-by: Florin Coras <fcoras@cisco.com>
Matus Fabian [Fri, 21 Jul 2017 10:46:03 +0000 (03:46 -0700)]
SNAT: in2out translation as an output feature hairpinning (VPP-913)
Change-Id: I3790739683c6090ffb2aefb4758bd4275856c09a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Andrew Yourtchenko [Wed, 19 Jul 2017 17:23:59 +0000 (13:23 -0400)]
acl-plugin: assertion failed at hash_lookup.c:226 when modifying ACLs applied as part of many (VPP-910)
change 7385 has added the code which has the first ACE's "prev" entry within the linked list of
shadowed ACEs pointing to the last ACE, in order to avoid the frequent linear list traversal.
That change was not complete and did not update this "prev" entry whenever the last ACE was deleted.
As a result the changes within the applied ACLs which caused the calls to hash_acl_unapply/hash_acl_apply
may result in hitting assert which does the sanity check. The solution is to add the missing update logic.
Change-Id: I9cbe9a7c68b92fa3a22a8efd11b679667d38f186
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit
45fe7399152f5ca511ba0b03fee3d5a3dffd1897)
Damjan Marion [Wed, 19 Jul 2017 13:07:10 +0000 (15:07 +0200)]
Fix coverity issue introduced with IP checksum offload commit
Change-Id: Ib5ad1369678389534426902ce698bccf7a6d9ec2
Signed-off-by: Damjan Marion <damarion@cisco.com>
Dave Wallace [Thu, 20 Jul 2017 20:36:01 +0000 (16:36 -0400)]
Prevent double freeing of first segment manager.
Change-Id: I27d7cb4c4e142f29a0c3c3ff85dd1f581970abfc
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Thomas F Herbert [Tue, 18 Jul 2017 19:48:03 +0000 (15:48 -0400)]
Enable build from dist tarball independent of git.
This is necessary for downstream builds from
source rpm.
JIRA: VPP-498
Change-Id: I30ea51a19b153dc35ececbbca79b940fe4e3bc8a
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
Matus Fabian [Wed, 19 Jul 2017 15:06:01 +0000 (08:06 -0700)]
SNAT: in2out translation as an output feature (VPP-903)
in2out translation as an output feature on the outside interface (postrouting)
Change-Id: I32c0311be09bdf102b9a0885b8b89c7588cb558f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Eyal Bari [Tue, 18 Jul 2017 10:25:19 +0000 (13:25 +0300)]
L2FWD:move vec_validate out of access function
Change-Id: Id9737b6aa2b6fe3032f4627dfdbd2ea728cc3fb1
Signed-off-by: Eyal Bari <ebari@cisco.com>
Dave Barach [Fri, 14 Jul 2017 16:42:21 +0000 (12:42 -0400)]
Add a bihash prefetchable bucket-level cache
According to Maciek, the easiest way to leverage the csit "performance
trend" job is to actually merge the patch once verified. Manual
testing indicates that the patch improves l2 path performance. Other
use-cases are TBD. It's possible that we'll need to back out the patch
depending on what happens.
Change-Id: Ic0a0363de35ef9be953ad7709c57c3936b73fd5a
Signed-off-by: Dave Barach <dave@barachs.net>
Dave Barach [Wed, 19 Jul 2017 12:48:09 +0000 (08:48 -0400)]
Fix IP checksum offload metadata setup
Change-Id: Idf4f8b02337551670d6b7ce1a03799de9c53d19a
Signed-off-by: Dave Barach <dave@barachs.net>
Klement Sekera [Tue, 18 Jul 2017 08:33:06 +0000 (10:33 +0200)]
make test: improve console output messages
Remove the word derp and replace it with a proper, more gramatically
correct message.
Change-Id: I04fd44cc67dace1a31ca48fc8ce67b246162ba79
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Neale Ranns [Sat, 15 Jul 2017 14:37:25 +0000 (07:37 -0700)]
FIB path preference
Paths are given a preference, lowest value is 'best'. Only paths that are up are up contribute to fprwarding - that's unchanged. What's new is that of the path's that re up only those that have the best preference contribute. A poor man's primary and backup. It's not true primary/backup function because the FIB must converge before the lower preference paths are used.
Change-Id: Ie4453c4a7b1094c6c2b51fe1594b8302103bb68e
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Tue, 18 Jul 2017 16:26:53 +0000 (09:26 -0700)]
DHCP client option 61 "client_id"
the existing seeting of client_id to a VPP version number was unused and so overridden
Change-Id: If9ebea936336f1fcca8d07e67186c95f8f8f0ccd
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Tue, 18 Jul 2017 15:23:32 +0000 (08:23 -0700)]
DHCP client - remove interface address when DHCP de-configured
Change-Id: I63c59e3c13859b51999d283774f7783ef0a6a5ed
Signed-off-by: Neale Ranns <nranns@cisco.com>