Michal Mazur [Sun, 26 Nov 2017 18:28:55 +0000 (19:28 +0100)]
More optimizations for Tx and Rx loops
1) Parse multiple output packets in loop.
2) Remove checking for error flags, they are never set because
ODP parser is disabled.
3) Do not call vlib_buffer_advance if not necessary.
4) Remove lock in TX path. Queues are synchronized by ODP.
5) Optimize detection of packet type.
6) Create a wrapper for call to odp_packet_user_area.
Change-Id: Ib50c9be9a62d67824b58ef2cd443b7fc59471655
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Mon, 21 Aug 2017 13:01:42 +0000 (15:01 +0200)]
Read ODP configuration from VPP startup config
1) Allow to setup size of allocated memory, number of packets in the
pool, number of packets in transmit burst and delay in scheduler
mode from VPP startup file.
More details are in template: src/vpp/conf/startup.conf
2) Separate Rx mode from Tx mode. Traffic Manager is not supported.
3) Devices defined in VPP startup are automatically created at start.
Change-Id: I1f8a3c2900f56cb23ce6997d311cfe55e1c2078c
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Tue, 19 Sep 2017 18:18:41 +0000 (20:18 +0200)]
Add support for multiple Rx and Tx queues
1) Incoming packets can be spread across multiple worker
threads based on IP and TCP/UDP headers.
2) Multiple output queues are used in Burst mode if supported
by hardware (checked in interface capabilities)
3) Synchronization of output traffic can be disabled due to
multiple Tx queues - one for each thread.
Change-Id: Ib5ee18103c860eae3b56ffc453a5953c729bb521
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Mon, 11 Sep 2017 14:20:21 +0000 (16:20 +0200)]
Optimize Rx and Tx paths
1) Handle multiple ODP packets at once in receive loop
2) Wait to collect as many RX buffers as possible in single vector
3) Add prefetch of received and transmitted buffers
4) Disable parser, classifier and synchronization of RX queues
Synchronization of Tx queues can also be disabled if 2 ports used.
Change-Id: I65ed49ef2b60278022712e10a83f6ca24360694e
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Fri, 11 Aug 2017 19:18:05 +0000 (21:18 +0200)]
Create worker threads using ODP API (direct in/out mode)
This patch allows VPP to run multiple worker threads compatible with ODP.
By default a single thread is assigned to each interface but this
can be changed using "set interface rx-placement" command.
Only Direct input/output mode without RSS is supported.
Change-Id: Ia6af7e5af4950159eb28b7d56bc9c8d34b80f8d4
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Fri, 11 Aug 2017 18:40:47 +0000 (20:40 +0200)]
Move odp_packet_main structure to shared memory.
This structure contains data shared among multiple threads and
must be globally accessible.
Change-Id: Ibde8222e9ed3f61561f7902750a1716da5c0bd81
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Fri, 11 Aug 2017 19:11:12 +0000 (21:11 +0200)]
Add initial support for ODP buffers.
Based on patch from Sreejith Surendran Nair.
Change-Id: I32ff73871ce0439378a7e3f0f9a93ac169e770cb
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Signed-off-by: Sreejith Surendran Nair <srsurend@cisco.com>
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Michal Mazur [Tue, 5 Dec 2017 14:18:08 +0000 (15:18 +0100)]
vlib: Add pointer to driver data to vlib_buffer_t
Change-Id: I97617d84eb5ba6403bc2d8f87d8c76a086413094
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Michal Mazur [Tue, 7 Nov 2017 18:49:02 +0000 (19:49 +0100)]
Fix style of ODP plugin and add Linaro copyrights
Change-Id: I5c86cd0a1150ba2e915ce3413c67c504740356b3
Signed-off-by: Michal Mazur <mkm@semihalf.com>
Sachin Saxena [Wed, 5 Jul 2017 05:16:22 +0000 (05:16 +0000)]
Merge "Introducing ODP plugin node" into 1707
Sachin Saxena [Thu, 15 Jun 2017 09:04:30 +0000 (14:34 +0530)]
Introducing ODP plugin node
Change-Id: I364fa14ade5282ec828662894041f9cc784ace7c
Signed-off-by: srsurend <srsurend@cisco.com>
Signed-off-by: sachin saxena <sachin.saxena@nxp.com>
Sachin Saxena [Thu, 15 Jun 2017 09:04:30 +0000 (14:34 +0530)]
Updating .gitreview for current repo.
Change-Id: I48adc6605d97821eb3f02f10a0afa4a7ab7a8a59
Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
Andrew Yourtchenko [Thu, 8 Jun 2017 16:59:24 +0000 (18:59 +0200)]
acl-plugin: shrink the L2 classifier tables used for traffic redirect
The previous iteration of the code used the L2 classifier tables for session storage,
as a result, the table allocations were pretty big. The new ACL plugin
datapath uses the tables just as a redirection mechanism, without adding any
entries. Thus, the tables can be much smaller.
Change-Id: Ieec4a5abf0abda6e513ab4e675f912f14d47e671
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Dave Barach [Tue, 13 Jun 2017 21:04:28 +0000 (17:04 -0400)]
VPP-874: fix coverity warnings in tw_timer_template.c
Best guess, tested carefully, should do no harm. Clang doesn't
complain either way; it's not certain that this patch will make the
coverity warnings in tw_timer_template.c disappear.
Change-Id: I75aa0cfd8970751e823a1165df2a755e947c4cf9
Signed-off-by: Dave Barach <dave@barachs.net>
Eyal Bari [Tue, 13 Jun 2017 09:09:37 +0000 (12:09 +0300)]
ETH:fix l2_len/vlan count mismatch for > 2 tags
l2_len was not updated for the third tag
as the ethernet node retracts by the vlan count after parse_header (using
ethernet_buffer_header_size) it ends up pointing before the ethernet header
+ some minor cleanups
Change-Id: I4ccaedd33928912e5d837376f146503b27071741
Signed-off-by: Eyal Bari <ebari@cisco.com>
Pavel Kotucek [Mon, 12 Jun 2017 06:26:13 +0000 (08:26 +0200)]
Flowprobe - tests speed-up
Updated test to reduce tests runtime.
Change-Id: I7904628fc19d349d6c26502e49d4c990cb8816ff
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Neale Ranns [Sat, 10 Jun 2017 08:43:44 +0000 (01:43 -0700)]
FIB walk process - wake-up rate unnecessarily high
Change-Id: I7dedf283c83c7f0e0b7642f095b68bc0b40898cf
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matus Fabian [Fri, 9 Jun 2017 09:33:30 +0000 (02:33 -0700)]
SNAT: fix 1:1 NAT without port hairpinning TCP checksum update
Change-Id: I5077fcf3671a6116b475f87e43120efc10ecaa08
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Damjan Marion [Mon, 12 Jun 2017 19:38:35 +0000 (21:38 +0200)]
memif: fix crash during interface delete
Change-Id: Ide6d26d6fcc81be6f26ac0abe2cd0d6a0838cfe6
Signed-off-by: Damjan Marion <damarion@cisco.com>
Eyal Bari [Mon, 12 Jun 2017 14:07:22 +0000 (17:07 +0300)]
L2FIB:fix crash in show with deleted subif entries
after deleting a sub interface it's l2fib entries are left with a dangling
sw_if_index (while waiting for the ager to delete them).
changed "show l2fib" to reflect that state with "Deleted" as the interface name.
added sleep in test_l2_fib as a workaround for packets still passing after flush
will investigate...
Change-Id: Id998d7d3c6a073ef5005c5f3009e1cfb7febf7db
Signed-off-by: Eyal Bari <ebari@cisco.com>
Dave Barach [Wed, 7 Jun 2017 19:18:23 +0000 (15:18 -0400)]
three-level timer wheel implementation w/ overflow vector
prep work for s/timing_wheel/tw_timer/ in the vlib process model
Change-Id: I763f4968a8fce1764a3778b12def0afbd30086b1
Signed-off-by: Dave Barach <dave@barachs.net>
Damjan Marion [Mon, 5 Jun 2017 13:37:58 +0000 (15:37 +0200)]
memif: complete refactor of socket handling code
Change-Id: I4d41def83a23f13701f1ddcea722d481e4c85cbc
Signed-off-by: Damjan Marion <damarion@cisco.com>
Neale Ranns [Mon, 12 Jun 2017 13:12:26 +0000 (06:12 -0700)]
Fix build breakge post 6956
Change-Id: I0ab0e3e40b00ed5c2a34f5c23d04b596c1e9aa5f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Matus Fabian [Mon, 12 Jun 2017 09:29:39 +0000 (02:29 -0700)]
NAT64: bug fix
ICMP to ICMPv6 error message inner UDP packet translation
delete ST entries when deleting static BIB entry
Change-Id: I2a28631ac040e20827a692331506cd8254f70916
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Jan Gelety [Mon, 12 Jun 2017 10:06:51 +0000 (12:06 +0200)]
Update CSIT tests 170605 -> 170612
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I0e19f085153ca00ddb46e016cff742b42eca15a0
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Christophe Fontaine [Wed, 31 May 2017 09:27:19 +0000 (11:27 +0200)]
Remove calls to crc_u32 and add clib_crc32c for armv8+crc
crc_u32 was not defined for non x86_64 with SSE4.2 processors.
Calls to "crc_u32" are removed and replaced by either a call to
clib_crc32c or a call to clib_xxhash, as the result is not used
as a check value but as a hash.
Change-Id: I3af4d68e2e5ebd0c9b0a6090f848d043cb0f20a2
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>
Matus Fabian [Fri, 9 Jun 2017 11:55:54 +0000 (04:55 -0700)]
NAT64: coverity fix
Change-Id: I08544b2f06f993c8a6435901232a0616d0548b94
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Filip Tehlar [Fri, 9 Jun 2017 13:25:57 +0000 (15:25 +0200)]
Fix coverity issue
Change-Id: Ib62ee0eacd6c91dc4cd95835efe901079754ef42
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Neale Ranns [Fri, 9 Jun 2017 19:41:00 +0000 (12:41 -0700)]
MPLS: cannot delete a path from the CLI
Change-Id: I7f85870ef99405727312a5de6839c8875c9fa1c5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Florin Coras [Fri, 9 Jun 2017 17:22:22 +0000 (10:22 -0700)]
Fix gpe coverity issue (VPP-874)
Change-Id: I70fb60619a0a02d891276ea6c7ac277ba2b26fa3
Signed-off-by: Florin Coras <fcoras@cisco.com>
Florin Coras [Thu, 25 May 2017 01:03:56 +0000 (18:03 -0700)]
Implement sack based tcp loss recovery (RFC 6675)
- refactor existing congestion control code (RFC 6582/5681). Handling of ack
feedback now consists of: ack parsing, cc event detection, event handling,
congestion control update
- extend sack scoreboard to support sack based retransmissions
- basic implementation of Eifel detection algorithm (RFC 3522) for
detecting spurious retransmissions
- actually initialize the per-thread frame freelist hash tables
- increase worker stack size to 2mb
- fix session queue node out-of-buffer handling
- ensure that the local buffer cache vec_len matches reality
- avoid 2x spurious event requeues when short of buffers
- count out-of-buffer events
- make the builtin server thread-safe
- fix bihash template threading issue: need to paint -1 across uninitialized
working_copy_length vector elements (via rebase from master)
Change-Id: I646cb9f1add9a67d08f4a87badbcb117980ebfc4
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>
Ray Kinsella [Thu, 8 Jun 2017 14:54:19 +0000 (15:54 +0100)]
Sample plugin: Add sample plugin documentation
Added some user documentation to sample plugin.
Change-Id: I518910f80499307e8fcac8dcef7baaeab5ea8e35
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
Andrew Yourtchenko [Fri, 9 Jun 2017 09:06:11 +0000 (11:06 +0200)]
acl-plugin: wrap a verbose debug message in the appropriate conditional
Change-Id: Ibd57cb617642e42d4c4d64f186479702b8a81900
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Sergio Gonzalez Monroy [Thu, 8 Jun 2017 12:04:47 +0000 (13:04 +0100)]
dpdk: fix ipsec coverity warning
CID 170475
Change-Id: I9748dd56bdcb62e68d8f672e5b1619a3be400b8f
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Matus Fabian [Thu, 8 Jun 2017 12:24:28 +0000 (05:24 -0700)]
NAT64: ICMP error support
Added ICMP error messages translation.
Added check for multi thread (not supported yet, so init failed).
Added API definition for custom NAT64 refix.
Change-Id: Ice2f04631af63e594aecc09087a1cf59f3b676fb
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Filip Tehlar [Tue, 30 May 2017 05:14:46 +0000 (07:14 +0200)]
LISP: add NSH support
Change-Id: I971c110ed126f1a24a963f9d3b88cf8f8c308816
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Andrew Yourtchenko [Thu, 8 Jun 2017 16:42:02 +0000 (18:42 +0200)]
acl-plugin: remove clib_warnings on plugin init
Change-Id: Ic3c9a914a588824b8abd6668961f731432083c4f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Florin Coras [Thu, 8 Jun 2017 04:50:57 +0000 (21:50 -0700)]
Add gpe native-forward static route support
Change-Id: I744e7d64d94dbb302f2c1246663480f720672ee2
Signed-off-by: Florin Coras <fcoras@cisco.com>
Pavel Kotucek [Thu, 8 Jun 2017 06:46:10 +0000 (08:46 +0200)]
P2P Ethernet - API
API for P2P Ethernet feature
Change-Id: Id0280f42b9ce2428262e79c4dc309595037cd10e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Matus Fabian [Tue, 6 Jun 2017 11:53:28 +0000 (04:53 -0700)]
NAT64: Add NAT64 support for snat plugin (VPP-699)
Basic NAT64 feature (no hairpinning, no multi-thread).
Change-Id: I392fccbce93e70c117f4a9a7ec7cf08d6c537f2d
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Florin Coras [Wed, 7 Jun 2017 21:18:48 +0000 (14:18 -0700)]
Small update to session API
Change-Id: I6a566d1dc9531b790bdcb00edc73516f86daeb72
Signed-off-by: Florin Coras <fcoras@cisco.com>
Klement Sekera [Wed, 7 Jun 2017 06:19:47 +0000 (08:19 +0200)]
make test: improve debugability
Introduce faulthandler to print stack trace to stderr on python crash.
Don't disable automatic garbage collection to decrease the chances of
running out of memory.
Change-Id: I6927a5f6ea9569735d084d4ed3d258950a400d74
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Dave Barach [Wed, 7 Jun 2017 12:32:51 +0000 (08:32 -0400)]
VPP-874: fix coverity warning in vnet_classify.c
Change-Id: Icffd2862eadbe9ddfb3ee34f3cb19c9324b3d9b4
Signed-off-by: Dave Barach <dave@barachs.net>
Andrew Yourtchenko [Tue, 6 Jun 2017 12:50:03 +0000 (14:50 +0200)]
acl-plugin: add a plugin-specific control-ping message api and make the test code use it
This fixes the undesirable pause in the dump commands in case there is nothing to dump.
Change-Id: I0554556c9e442038aa2a1ed8c88234f21f7fe9b9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Andrew Yourtchenko [Wed, 17 May 2017 19:27:03 +0000 (21:27 +0200)]
acl-plugin: make the ACL plugin multicore-capable
Add the logic to be able to use stateful ACLs in a multithreaded setup.
Change-Id: I3b0cfa6ca4ea8f46f61648611c3e97b00c3376b6
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Dave Barach [Wed, 7 Jun 2017 12:18:49 +0000 (08:18 -0400)]
VPP-873: fix vector expansion bug in dispatch_pending_node
The main interior graph-node dispatch loop had a longstanding dangling
vector element reference:
for (i = 0; i < _vec_len (nm->pending_frames); i++)
cpu_time_now = dispatch_pending_node (vm, nm->pending_frames + i,
cpu_time_now);
Passing a pointer to a vector element (nm->pending_frames + i) has
considerable comedic potential if there's any chance that the vector
could expand.
dispatch_pending_node() calls dispatch_node(), and indirectly any
interior graph node dispatch function. If that node happens to expand
nm->pending_frames by filling in a new frame, nm->pending_frames can
expand.
After calling the node dispatch function, dispatch_node() does the
following:
nf = vec_elt_at_index (nm->next_frames, p->next_frame_index);
If nm->pending_frames expands during dispatch function execution, p is
a dangling reference to freed memory.
By luck, the TCP stack managed to allocate a fresh frame which
included "old-p," which caused p->next_frame_index to be filled with
the new-frame poison pattern 0xfefefefe.
This has been broken from day 1, summer 2007, first use of the
third-generation vector processing library.
Change-Id: Ideb6363bb060c4e8bf9b901882c318bd83853121
Signed-off-by: Dave Barach <dave@barachs.net>
Pablo Camarillo [Tue, 6 Jun 2017 13:18:12 +0000 (15:18 +0200)]
VPP-872 and End.T function for SRv6
Fixes VPP-872 and adds support for End.T
Change-Id: I3c32cb6e412f37babe1abd293c0b6b49367fc2a9
Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
Andrew Yourtchenko [Wed, 7 Jun 2017 10:30:48 +0000 (12:30 +0200)]
acl-plugin: fix coverity error in acl_test.c
Attempting to supply within a VAT CLI to add the ACLs a rule count
override with no rules to add would result in null pointer dereference
as we attempt to copy those rules to the message.
Add the check to avoid copy if the source pointer is null
(i.e. if there are no rules to copy from).
This commit fixes coverity errors 166797 and 166792.
Change-Id: Icabe060d961ba07dc41f63b8e17fca12ff82aa29
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Sergio Gonzalez Monroy [Wed, 17 May 2017 10:43:41 +0000 (11:43 +0100)]
dpdk: ipsec fixes
- Fix buffer trace from esp_decrypt node
- Fix VLIB_REGISTER_NODE macro format
- Remove unnecessary code since we do not reconfigure graph
unless requirements are met
Change-Id: Ic1c2afffb8265e40a6ced0c8a58775c05fadc9e2
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Sergio Gonzalez Monroy [Wed, 7 Jun 2017 08:13:06 +0000 (09:13 +0100)]
dpdk: fix ipsec coverity warnings
CID 161044 and 161045
Change-Id: I50a450e231e387f05e354e3b07dc777ab864d018
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Milan Lenco [Fri, 31 Mar 2017 08:16:31 +0000 (10:16 +0200)]
Add support for memif API to VAT.
Change-Id: I01dc439fc84f9213e55ba56982eff34474637115
Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech>
Neale Ranns [Tue, 6 Jun 2017 13:52:14 +0000 (06:52 -0700)]
Fix coverity error in IP4 Mtrie.
Change-Id: I586a758a8b4b0ea5ca030b2df2796f5acb49e154
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Tue, 30 May 2017 14:30:04 +0000 (07:30 -0700)]
Packets recieved on VLAN-0 map to the main interface
Change-Id: I21b1ad39275495d4d006023b58f630a213445854
Signed-off-by: Neale Ranns <nranns@cisco.com>
Filip Tehlar [Tue, 6 Jun 2017 13:32:52 +0000 (15:32 +0200)]
Fix coverity issue
Change-Id: I5f7dc38beb96b600be67599049f951d8a17ff8da
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Jan Gelety [Tue, 6 Jun 2017 07:41:06 +0000 (09:41 +0200)]
Update CSIT tests 170529 -> 170605
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I49396105470609422f28a49211012fcd9f252587
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Hongjun Ni [Sat, 27 May 2017 12:23:09 +0000 (20:23 +0800)]
Rework vxlan-gpe to support FIB 2.0 and bypass mode
Change-Id: I0324f945bdb4dd3b19151be6f3ce24a47a000104
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Florin Coras [Mon, 5 Jun 2017 22:38:50 +0000 (15:38 -0700)]
Fix lisp map-notify parsing
Change-Id: Ib22ffee3d8ac63af171d032c2ffcb44a2e42400c
Signed-off-by: Florin Coras <fcoras@cisco.com>
Damjan Marion [Mon, 5 Jun 2017 19:56:12 +0000 (21:56 +0200)]
vlib: add screen-256color CLI terminal type
Change-Id: Ia78e69e5e8ed18020314aef321b94ac37037799b
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 5 Jun 2017 19:54:46 +0000 (21:54 +0200)]
vlib: add unix_file_del_by_index function
Change-Id: I9eca5f9d1c1ae62d5ba5fb36f2f97434dbaf334e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 5 Jun 2017 19:53:39 +0000 (21:53 +0200)]
vppinfra: fix vec_validate_init_empty_aligned macro
Change-Id: Ieafd00c7d03fe5c090808c7af4aa2f86974a092e
Signed-off-by: Damjan Marion <damarion@cisco.com>
Matus Fabian [Mon, 5 Jun 2017 12:55:48 +0000 (05:55 -0700)]
SNAT: fix ICMP hairpinning
Change-Id: I9d63133bd1db72917571ade868040c4597c896a1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Marco Varlese [Mon, 5 Jun 2017 15:59:24 +0000 (17:59 +0200)]
More GCC-7 errors
The Wmaybe-uninitialized is the new error included with Wall.
This patch addresses the warning and fixes it.
Change-Id: I8fdf9ff2d236c46b717024a14874fbbbad8af303
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Filip Tehlar [Mon, 5 Jun 2017 11:40:13 +0000 (13:40 +0200)]
LISP-GPE: return index of newly created fwd entry, VPP-868
Change-Id: I4fc45097cb994ab6a59503d9fcfb693d1c7ec442
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Filip Tehlar [Mon, 5 Jun 2017 07:50:38 +0000 (09:50 +0200)]
LISP: fix GPE entry dump, VPP-871
Change-Id: Ifcd6d2caecce29c8b4605d06b9df82b36a403e74
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
wenxian li [Sun, 4 Jun 2017 13:52:07 +0000 (13:52 +0000)]
Fix typo for specifying table_id on ping.
Change-Id: I76d399915c76ec68d8a401e11c14dc15c55291e4
Signed-off-by: wenxian li <wofanli@gmail.com>
Marco Varlese [Wed, 31 May 2017 12:00:37 +0000 (14:00 +0200)]
Fix for gcc7
When building VPP code with gcc7 a warning (threated as error) is encountered and the build fails.
This patch addressed the compilation issue.
Change-Id: I49af9288a84d91ec8145da07c00aefb5333ec418
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Steve Shin [Fri, 2 Jun 2017 17:09:02 +0000 (10:09 -0700)]
Fix mac_age process crash in multi-threaded environment
VPP crash is observed when MAC aging is enabled with multi-threaded mode.
If a thread other-than-zero expands the working_copies vector,
working_copy_lengths should be initialized with vec_validate_init_empty(..., -1)
to fill -1 across lower-numbered working_copy_lengths vector element.
Change-Id: I60959fc6511306b33acae323df9c6898fc6c50ce
Signed-off-by: Steve Shin <jonshin@cisco.com>
Steven [Thu, 1 Jun 2017 21:25:15 +0000 (14:25 -0700)]
memif: fix coverity warnings
Check -1 for return from read prior to using the data
Change-Id: Ibab7309244de488737ea7938b334fab495bf855d
Signed-off-by: Steven <sluong@cisco.com>
Damjan Marion [Wed, 31 May 2017 17:25:08 +0000 (19:25 +0200)]
Add option to build sample plugin in top-level makefile
Change-Id: Ibf15eeb5fef2a3761089e6386783a1606d2e2b79
Signed-off-by: Damjan Marion <damarion@cisco.com>
khers [Wed, 24 May 2017 11:13:54 +0000 (15:43 +0430)]
Add debian 8 support in extras/vagrant/build.sh
Change-Id: I03f73615f4355163afd9fb5062dcea7c2df5a49a
Signed-off-by: khers <s3m2e1.6star@gmail.com>
Peter Mikus [Wed, 31 May 2017 09:40:21 +0000 (11:40 +0200)]
Update CSIT tests 170518 -> 170529
Change-Id: I33de2948019683961b5ab576db2c3303c8d2bd5e
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Steven [Thu, 1 Jun 2017 19:49:23 +0000 (12:49 -0700)]
vhost: add debug vhost-user on | off CLI
Add runtime debug vhost-user on | off CLI to facilitate troubleshooting.
This feature is needed to avoid recompiling the code to debug vhost issues.
The debugging messages should not be on the data path to avoid performance
hit.
Change-Id: I4c40f65dbb222557cba3fb8706fa3b7b62eec95f
Signed-off-by: Steven <sluong@cisco.com>
Hongjun Ni [Wed, 31 May 2017 16:24:12 +0000 (00:24 +0800)]
Add l3 routing for GTP-U decap
Change-Id: Ic3c8cd58cb2b02622299cf74c9efcabd2ef2b513
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
Neale Ranns [Tue, 30 May 2017 09:08:14 +0000 (02:08 -0700)]
Fix 'ip probe' on /32
Change-Id: Ib874ad93357500b2c425d75cf48834264b2183fc
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Wed, 31 May 2017 17:34:35 +0000 (10:34 -0700)]
MPLS trace the EOS bit correctly
Change-Id: I6c3fd612c19d9305f48ae0e429e12e96679e3b29
Signed-off-by: Neale Ranns <nranns@cisco.com>
Marco Varlese [Thu, 1 Jun 2017 13:20:15 +0000 (15:20 +0200)]
Support to install dependencies on openSUSE distribution
This patch allows to use the "make install-dep" on openSUSE.
Change-Id: Ib0586ffebbf882032468e4f4c0df2d5d8e99d7c9
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
Neale Ranns [Tue, 30 May 2017 16:53:52 +0000 (09:53 -0700)]
IP Mcast - recalculate on interface up/dowm
Change-Id: Ie5b88fd7187ed62218a2e4e0e493c33e3e9ecc2f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Dave Barach [Tue, 30 May 2017 13:30:07 +0000 (09:30 -0400)]
Improve fifo allocator performance
- add option to preallocate fifos in a segment
- track active fifos with doubly linked list instead of vector
- update udp redirect test code to read fifo pointers from API call
instead of digging them up from fifo segment header
- input-node based active-open session generator
Change-Id: I804b81e99d95f8690d17e12660c6645995e28a9a
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dbarach@cisco.com>
Klement Sekera [Thu, 1 Jun 2017 03:06:45 +0000 (05:06 +0200)]
make test: add suddenly missing dependency (six module)
Change-Id: I121eaee6b752a6b3bfe1d5ecf803f67147c77beb
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Peter Mikus [Wed, 31 May 2017 15:23:59 +0000 (15:23 +0000)]
Revert "dpdk: build sw cryptodev support with make verify"
This reverts commit
0e2e10b77d63196bfb93ae5be1251bbc1a1b561a.
Change-Id: I3c1737f391b6ed127f92416f06449216e79859bb
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Steven [Tue, 30 May 2017 17:35:51 +0000 (10:35 -0700)]
memif: multi-queues support
- Add rx-queues and tx-queues option to the create memif CLI
- Add vlib_worker_thread_barrier_sync () to memif_conn_fd_read_ready () as
the latter function may disconnect the ring and clean up the shared memory.
- On transmit, write the rid (queue number) to the socket.
- On receive, read the rid and trigger the interrupt for the corresponding
thread.
Change-Id: If1c7e26c7124174678f047909cbc33e931eaac8c
Signed-off-by: Steven <sluong@cisco.com>
Dave Wallace [Tue, 30 May 2017 21:47:18 +0000 (21:47 +0000)]
Revert "Update CSIT tests 170518 -> 170529"
This reverts commit
9757325c52c223d85abfad834b071077365d4808.
Change-Id: I3bee0fe7d48be723334f2bd9fffd3240658b9e71
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Ole Troan [Mon, 13 Mar 2017 12:39:52 +0000 (13:39 +0100)]
Flowprobe: Stateful flows and IPv6, L4 recording
Change-Id: I67839281623721bf42f0a918a53356143d9dc78a
Signed-off-by: Ole Troan <ot@cisco.com>
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Sergio Gonzalez Monroy [Wed, 22 Mar 2017 15:22:14 +0000 (15:22 +0000)]
dpdk: build sw cryptodev support with make verify
Change-Id: Ica95b5d3d44563c93c89b2a3233171c3aa1f048d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Filip Tehlar [Wed, 17 May 2017 15:21:10 +0000 (17:21 +0200)]
LISP: L2 ARP handling
Change-Id: I1ec328cda73f7eaf7867cd8a2a17852ee0cd23f1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Chris Luke [Mon, 29 May 2017 14:02:45 +0000 (10:02 -0400)]
Relocate Coverity scripts
- Move Coverity scripts from build-root/scripts to extras/scripts
- Update coverity-build with new path and add some comments
Change-Id: I1be8069fb574aaacbac9b7f2c9c80b9aad1790ec
Signed-off-by: Chris Luke <chrisy@flirble.org>
Jan Gelety [Mon, 29 May 2017 12:32:55 +0000 (14:32 +0200)]
Update CSIT tests 170518 -> 170529
- update of CSIT operational branch to be used for VPP-patch test
Change-Id: I66357690f41e23dd1b924cc50a951a6c3696e071
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Damjan Marion [Mon, 29 May 2017 10:29:05 +0000 (12:29 +0200)]
Add Debian Jessie support in toplevel makefile
Change-Id: I805800503f5330c14d2e654c02bf43e21e7ce917
Signed-off-by: Damjan Marion <damarion@cisco.com>
Steven [Fri, 26 May 2017 21:18:58 +0000 (14:18 -0700)]
memif: master instance crashes when typing quit on slave
When I type in 'quit' on the slave instance, the master instance crashes
on this line.
0: /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200 (linux_epoll_input) assertion `! pool_is_free (um->file_pool, _e)' fails
Aborted (core dumped)
Below is the decode from gdb
line_number=0, fmt=0x7f57af6cc9a0 "%s:%d (%s) assertion `%s' fails")
at /home/sluong/vpp-master/vpp/build-data/../src/vppinfra/error.c:143
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80, frame=0x0)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/unix/input.c:200
vm=0x7f57af8e2400 <vlib_global_main>, node=0x7f576d40ad80,
type=VLIB_NODE_TYPE_PRE_INPUT, dispatch_state=VLIB_NODE_STATE_POLLING,
frame=0x0, last_time_stamp=
1525665215050617)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1016
vm=0x7f57af8e2400 <vlib_global_main>, is_main=1)
at /home/sluong/vpp-master/vpp/build-data/../src/vlib/main.c:1500
I am able to reproduce the problem consistently with the below procedure.
1. Create 3 memif interfaces between slave and master instances.
2. Type 'quit' on the slave. Neither crashes the first time.
3. Bring back the slave. Type 'quit' on the master. Neither crashes.
4. Bring back the master. Type 'quit' on the slave. The master crashes.
There are two places the interrupt line is disconnected and the unix file is
removed via the call unix_file_del ()
1. memif_int_fd_read_ready ()
2. memif_disconnect () which is called via multiple places in memif.
When the crash happens, the unix file was removed from memif_disconnect ()
via memif_conn_fd_read_ready () with size of the message == 0 in recvmsg ().
It is noted when the unix file was removed from memif_int_fd_read_ready (),
it never crashes. It is a race condition. However, if I follow the
aformentioned procedure, the crash always happens.
The reason the crash happens when memif_disconnect () removes the unix file
is because there may still be pending input in linux_epoll_input (). When
linux_epoll_input () tries to access the unix file via the line 200
unix_file_t *f = pool_elt_at_index (um->file_pool, i);
it crashes.
We could add code in linux_epoll_input () to avoid the crash if the index
for the particular file_pool is already free. Or we could fix memif to not
remove the unix file in memif_conn_fd_read_ready () when recvmsg () got 0
byte and just postpone the unix file deletion in memif_int_fd_read_ready ()
later after linux_epoll_input () got a chance to run to empty the input
stream.
I choose to fix the problem in the latter approach. I split the function
memif_disconnect () into two parts. For the code path which
memif_conn_fd_read_ready () calls memif_disconnect (), it does not remove the
unix file. All other calls to memif_disconnect () will continue to do what
it uses to do to avoid regression.
Please let me know if I should fix the problem other way.
Change-Id: I8efe2a3d24c6581609bc7b6fe82c2b59c22d8e4b
Signed-off-by: Steven <sluong@cisco.com>
Burt Silverman [Sun, 28 May 2017 02:40:30 +0000 (22:40 -0400)]
Show example syntax for setting plugin path
Change-Id: I7972273d0e9bd36e3fd6e12ab0268341ba572313
Signed-off-by: Burt Silverman <burtms@gmail.com>
Neale Ranns [Fri, 26 May 2017 10:48:53 +0000 (03:48 -0700)]
MPLS lookup DPO does not pop the label (nor does it handle replicate)
Change-Id: I7de6b96631d1645d0eadd38525860d84d78e316d
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Fri, 26 May 2017 09:59:16 +0000 (02:59 -0700)]
ARP/ND use path_remove to complement path_add
don't add duplicate extensions.
Change-Id: Icf72d6e1b004d0dda532bec2b51f6b74544925bb
Signed-off-by: Neale Ranns <nranns@cisco.com>
Robert Varga [Thu, 25 May 2017 17:03:18 +0000 (19:03 +0200)]
Improve jvppgen object array member instantiation
Since all objects of the array have the same type, the object
constructor is a loop invariant. Move the lookup out of the loop,
making things faster.
Change-Id: I631c72b59c6c63eccd49ede41c6dc0541c325db9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>
Filip Tehlar [Fri, 26 May 2017 10:10:53 +0000 (12:10 +0200)]
LISP: do not try to delete paths when fwd entry is negative
Change-Id: I50a0cbc7d8ecc94ad494df4720bb4199673e9793
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Robert Varga [Thu, 25 May 2017 14:18:28 +0000 (16:18 +0200)]
Fix JNI templates
The JNI templates around array and object handling are wrong in the
sense that they fail to delete local references for objects which
have been assigned to fields/arrays. Fix this by invoking
DeleteLocalRef.
Change-Id: I1c31d81f4235d821ccd51c96be7b176f64284928
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Robert Varga <nite@hq.sk>
Neale Ranns [Thu, 25 May 2017 19:38:58 +0000 (12:38 -0700)]
MPLS hash function improvements
Change-Id: I28e98f445c01493562b6196a4f5b532a51f178af
Signed-off-by: Neale Ranns <nranns@cisco.com>
Neale Ranns [Mon, 22 May 2017 15:02:04 +0000 (11:02 -0400)]
MPLS interface output feature not explicitly enabled
Change-Id: I54cb5113ec8e37f5da321041d7925393cae31aa5
Signed-off-by: Neale Ranns <nranns@cisco.com>
Ray Kinsella [Sat, 20 May 2017 12:42:30 +0000 (13:42 +0100)]
af_packet: fix coverity error
Fix coverity error associated with fd.
Change-Id: I0648aebaf356308bc03cc7217922479bfc4e22f7
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
Matthew Smith [Wed, 24 May 2017 21:18:27 +0000 (16:18 -0500)]
Add p2p flag to IPsec tunnel interface hw class
Change-Id: I4ac05ee5974f5e7ab3685d325446a6e77048a948
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Wed, 24 May 2017 17:53:43 +0000 (10:53 -0700)]
MPLS tunnels; path-list lock leak and debug CLI imrpovements
Change-Id: Ifb51b49d4dac1f07027b12398314a52b5cce343e
Signed-off-by: Neale Ranns <nranns@cisco.com>