vpp.git
6 years agoMAC IP ACL interface list dump (as an alternative to the get/reply) 32/7932/3
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>
6 years agoacl-plugin: rework the optimization 7383, fortify acl-plugin memory behavior (VPP... 28/7928/1
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)

6 years agoLISP: Map-server fallback feature 55/7855/3
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>
6 years agomake test: kill all remaining subprocesses on exit 17/7517/2
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>
6 years agoLISP: fix map register TTL reply handler, VPP-926 12/7912/2
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>
6 years agojvpp: provide more detailed exception logs (VPP-436) 81/7681/11
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>
6 years agodon't truncate the interface name in 'sh ip arp' 16/7916/1
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>
6 years agoInitialize vxlan-gpe bypass mode 87/7887/4
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>
6 years agoSNAT: fix address and port allocation for multiple worker threads (VPP-925) 93/7893/5
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>
6 years agoFix nasm deps for Fedora. 01/7901/3
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>
6 years agoacl-plugin: multicore: CSIT c100k 2-core stateful ACL test does not pass (VPP-912) 00/7900/2
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)

6 years agoDHCP Client: receive unicast ACKs 80/7880/3
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>
6 years agoAdd support for API client to receive L2 MAC events 88/7888/3
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>
6 years agogtpu bypass function doesn't work (VPP-924) 86/7886/4
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>
6 years agoLISP: make TTL for map register messages configurable 76/7876/2
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>
6 years agoFix vpp crash sending arp or probing neighb (VPP-917) 68/7868/6
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>
6 years agoFix ip checksum offload, move badly-placed ASSERT 81/7881/2
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>
6 years agomemif: construct interface name out of socket file idx and intf id 16/7816/2
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>
6 years agoAdded NASM package to support SW crypto 79/7879/2
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>
6 years agoUpdate CSIT tests 170724 -> 170731 69/7869/2
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>
6 years agoFix tcp tx buffer allocation 61/7861/9
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>
6 years agoMake ip csum configurable in vlib buffer functions 11/7811/6
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>
6 years agoFIB path weight incorrect in dump (VPP-922) 67/7867/3
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>
6 years agoTests for recursive load-balancing with no choices. 52/7852/2
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>
6 years agoP2P Ethernet 24/7224/7
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>
6 years agoSPAN/API:enable L2 dump 53/7853/2
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>
6 years agossvm->name must be a vector containing a c-string. 59/7859/1
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>
6 years agojvpp: moving current tests to separate folder marked as examples 34/7634/4
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>
6 years agoCLI:add l2 input/outut to "sh int features" 85/7785/5
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>
6 years agoFix fib_path encoding (VPP-921) 45/7845/3
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>
6 years agoSPAN/CLI:fix disable + add errors 46/7846/2
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>
6 years agoMake tcp active open data structures thread safe 48/7748/13
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>
6 years agoping: fixing wrong value when there are worker threads 61/7661/5
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>
6 years agoFix interface reuse when running multithreaded 12/7812/2
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>
6 years agoThread safe internal buffer manager 98/7798/4
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>
6 years agovhost: debug vhost-user command needs better error checking on the syntax (VPP-916) 71/7771/2
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)

6 years agoUse relative path to vpp.service. 42/7742/4
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>
6 years agoFix lisp udp checksum 79/7779/5
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>
6 years agoVPP-905: Wrong define used in function start_workers. 17/7717/3
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>
6 years ago17.07 Release Note 89/7789/1
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)

6 years agoAdd sample config of bonded interface in startup.conf template 43/7743/3
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>
6 years agoCleanup/refactor session layer code 88/7588/8
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>
6 years agoSANT: fib_table unlock (VPP-918) 22/7722/2
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>
6 years agoUpdate CSIT tests 170626 -> 170724 24/7724/2
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>
6 years agoSPAN:add l2 mirror 87/7587/6
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>
6 years agoImprove L2 Input/Output Feature Infrastructure and Usage 13/7713/4
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>
6 years agoAtomic bucket lock 07/7707/2
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>
6 years agoImprovements to tcp rx path and debugging 11/7611/9
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>
6 years agoSNAT: in2out translation as an output feature hairpinning (VPP-913) 99/7699/1
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>
6 years agoacl-plugin: assertion failed at hash_lookup.c:226 when modifying ACLs applied as... 89/7689/2
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)

6 years agoFix coverity issue introduced with IP checksum offload commit 44/7644/3
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>
6 years agoPrevent double freeing of first segment manager. 92/7692/2
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>
6 years agoEnable build from dist tarball independent of git. 54/7654/2
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>
6 years agoSNAT: in2out translation as an output feature (VPP-903) 48/7648/2
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>
6 years agoL2FWD:move vec_validate out of access function 12/7612/3
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>
6 years agoAdd a bihash prefetchable bucket-level cache 84/7584/6
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>
6 years agoFix IP checksum offload metadata setup 41/7641/3
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>
6 years agomake test: improve console output messages 28/7628/2
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>
6 years agoFIB path preference 86/7586/3
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>
6 years agoDHCP client option 61 "client_id" 29/7629/3
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>
6 years agoDHCP client - remove interface address when DHCP de-configured 27/7627/2
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>
6 years agoTCP/UDP checksum offload API 51/7351/6
Dave Barach [Thu, 29 Jun 2017 13:30:15 +0000 (09:30 -0400)]
TCP/UDP checksum offload API

Change-Id: I2cb6ce4e29813f6602b14e6e61713fb381fbcef8
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoTEST:add l2bd nd term tests 19/7419/2
Eyal Bari [Wed, 5 Jul 2017 11:31:30 +0000 (14:31 +0300)]
TEST:add l2bd nd term tests

Change-Id: I67633175d50a70a0b8ae4f85c659b93070f8e1fb
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoFix unlinking of /dev/shm files. 99/7399/5
Dave Wallace [Mon, 3 Jul 2017 17:11:38 +0000 (13:11 -0400)]
Fix unlinking of /dev/shm files.

- api-segment prefix not used when unlinking shm files
- unlink root region on exit if no clients referenced
- stale reference to freed segment name
- don't add fake client to /db unless CLIB_DEBUG > 2
- turn off the gmond plugin
- clean up unused vars in vpp/api

Change-Id: I66451fcfd6ee64a12466c2d6c209050e3cdb74b7
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoAdjust replication context to match vnet_buffer(b) 85/7585/2
Dave Barach [Sat, 15 Jul 2017 12:56:22 +0000 (08:56 -0400)]
Adjust replication context to match vnet_buffer(b)

Fixes a coverity warning, albeit not a serious issue.

Change-Id: I0fa28342ac4b222c1ba7f7f2befde455fd42d682
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoFixes and improved tcp/session debugging 55/7555/8
Florin Coras [Thu, 13 Jul 2017 05:24:57 +0000 (01:24 -0400)]
Fixes and improved tcp/session debugging

- Fix rx sack option parsing
- Add session sack scoreboard tracing and replaying
- Add svm fifo tracing and replaying
- Scoreboard/svm fifo ooo segment reception fixes
- Improved overall debugging

Change-Id: Ieae07eba355e66f5935253232bb00f2dfb7ece00
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agovnet_buffer_t flags cleanup 73/7573/5
Damjan Marion [Thu, 13 Jul 2017 19:19:27 +0000 (21:19 +0200)]
vnet_buffer_t flags cleanup

Change-Id: I123eccea98abafeb31f25d2a162501e2eded60d4
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoIntroduce l{2,3,4}_hdr_offset fields in the buffer metadata 72/7572/4
Damjan Marion [Thu, 13 Jul 2017 16:53:27 +0000 (18:53 +0200)]
Introduce l{2,3,4}_hdr_offset fields in the buffer metadata

To save space in the first cacheline following is changed:

- total_length_not_including_first_buffer moved to the 2nd cacheline.
This field is used only when VLIB_BUFFER_TOTAL_LENGTH_VALID and
VLIB_BUFFER_NEXT_PRESENT are both set.

- free_list_index is now stored in 4bits inside flags, which
allows up to 16 free lists. In case we need more we can store index
in the 2nd cachelin

Change-Id: Ic8521350819391af470d31d3fa1013e67ecb7681
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoflowprobe: Fixed assert error with less than 1 second passive timer 82/7182/6
Andrew Li [Sun, 18 Jun 2017 19:11:57 +0000 (12:11 -0700)]
flowprobe: Fixed assert error with less than 1 second passive timer

When passive timer has less than 1 second left, it'll be forcifully
changed to 0 when converting from f64 to u64. As a result the
assertion will fail at the beginning of the passive timer start
fuction. This commit fixed this bug by adding a check of the delta.

Change-Id: I899b6e0ab4967dcecc821daf7e812dbbc90969ce
Signed-off-by: Andrew Li <zhaoxili@cisco.com>
6 years agodpdk: update build 44/7044/3
Sergio Gonzalez Monroy [Tue, 6 Jun 2017 14:29:16 +0000 (15:29 +0100)]
dpdk: update build

Current optional DPDK PMDs are:
- AESNI MB PMD (SW crypto)
- AESNI GCM PMD (SW crypto)
- MLX4 PMD
- MLX5 PMD

This change will always build DPDK SW crypto PMDs and required SW crypto
libraries, while MLX PMDs are still optional and the user has to build
required libraries.

Now the configure script detects if any of the optional DPDK PMDs were
built and link against their required libraries/dependencies.

Change-Id: I1560bebd71035d6486483f22da90042ec2ce40a1
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
6 years agoVPP-895 multi-thread: fix vpp crash on show runtime 23/7523/2
Igor Mikhailov (imichail) [Tue, 4 Jul 2017 00:01:50 +0000 (17:01 -0700)]
VPP-895 multi-thread: fix vpp crash on show runtime

In multi-threaded model (e.g. 1 main and 1 worker threads),
after an ethernet interface is deleted (e.g. vhost-user interface),
'show runtime' command produces garbled output and sometimes
leads to vpp crash.

The reason is because vlib_node_rename() frees and reallocates node's
'n->name' vector, however the change is not propagated into copies
of the node on worker threads.

Change-Id: Ibf22422913b7f2df22f70f3b2fe8dafd34c1dd06
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
(cherry picked from commit 02989064e4c26a4940a5292ba6c47023e6dd3131)

6 years agodpdk: fix dpdk_buffer_pool_create name 94/7494/3
Chris Luke [Fri, 7 Jul 2017 18:57:07 +0000 (14:57 -0400)]
dpdk: fix dpdk_buffer_pool_create name

- vnet_buffer_pool_create should probably be named
  dpdk_buffer_pool_create since that is what it does.
- Its prototype should also be in a DPDK plugin header, not in
  vlib/buffer_funcs.h, since the implementation is in the plugin
  and nobody else should be calling it.

Change-Id: I7ba259afa4b888bc94f3ad257305e286b41e7370
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agoUse clib_crc32c_uses_intrinsics instead of __SSE4_2__ 65/7565/3
Christophe Fontaine [Mon, 10 Jul 2017 13:23:06 +0000 (15:23 +0200)]
Use clib_crc32c_uses_intrinsics instead of __SSE4_2__

clib_crc32c is not limited to x86 platforms.

Change-Id: I5f6d5fdd4af80f9fe696d3317453fa58760df1db
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>
6 years agoFix typo for non x86 platforms. 64/7564/2
Christophe Fontaine [Mon, 10 Jul 2017 13:21:10 +0000 (15:21 +0200)]
Fix typo for non x86 platforms.

Change-Id: Ic31b388cb972fb5f8a3fc42a5412401c3ee3e487
Signed-off-by: Christophe Fontaine <christophe.fontaine@enea.com>
6 years agoFix crash with worker threads on 4K VXLAN/BD setup (VPP-907) 63/7563/1
John Lo [Wed, 12 Jul 2017 23:56:45 +0000 (19:56 -0400)]
Fix crash with worker threads on 4K VXLAN/BD setup (VPP-907)

Cleanup mapping of interface output node for the l2-output node
when interface is configured to L2 or L3 modes. The mapping is
now always done in the main thread as part of API/CLI processing,
instead of initiate mapping in the forwarding path which can be
in the worker threads.

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

6 years agoDecrease steps necessary to upgrading RPM packages fixed 48/7248/3
Kristina Nevolnikova [Wed, 21 Jun 2017 12:20:42 +0000 (14:20 +0200)]
Decrease steps necessary to upgrading RPM packages fixed
in %postun part and not call sysctl when VPP package is
upgrading provide by condition for sysctl --system
in %post part.

Change-Id: I549803864699e4a81cf589befe296d585e1c6d2b
Signed-off-by: Kristina Nevolnikova <knevolnikova@frinx.io>
6 years agoDeprecate support for flattened output nodes 73/7373/5
Damjan Marion [Fri, 30 Jun 2017 17:53:03 +0000 (19:53 +0200)]
Deprecate support for flattened output nodes

Change-Id: Id117e219146d9994340fb38c00233ea67db8929b
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agodpdk: prefetch 2nd cacheline of rte_mbuf during tx 22/7522/2
Damjan Marion [Tue, 11 Jul 2017 15:13:37 +0000 (17:13 +0200)]
dpdk: prefetch 2nd cacheline of rte_mbuf during tx

Change-Id: I0db02dd0147dbd47d4296fdb84280d0e7d321f3c
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoHorizontal (nSessions) scaling draft 16/7316/26
Dave Barach [Mon, 26 Jun 2017 15:35:07 +0000 (11:35 -0400)]
Horizontal (nSessions) scaling draft

- Data structure preallocation.
- Input state machine fixes for mid-stream 3-way handshake retries.
- Batch connections in the builtin_client
- Multiple private fifo segment support
- Fix elog simultaneous event type registration
- Fix sacks when segment hole is added after highest sacked
- Add "accepting" session state for sessions pending accept
- Add ssvm non-recursive locking
- Estimate RTT for syn-ack
- Don't init fifo pointers. We're using relative offsets for ooo
  segments
- CLI to dump individual session

Change-Id: Ie0598563fd246537bafba4feed7985478ea1d415
Signed-off-by: Dave Barach <dbarach@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoL2INPUT:fix features mask cailculation 15/7515/2
Eyal Bari [Tue, 11 Jul 2017 11:24:37 +0000 (14:24 +0300)]
L2INPUT:fix features mask cailculation

Change-Id: I84cea7530b01302a0adeef95b4924f54dc2e41ec
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agomemif: avoid double buffer free 13/7513/1
Damjan Marion [Tue, 11 Jul 2017 10:05:06 +0000 (12:05 +0200)]
memif: avoid double buffer free

Change-Id: I902f54618c4e1f649af11497c1cb10922e43755a
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoSNAT: fixed bug in fallback to 3-tuple key for non TCP/UDP sessions 98/7498/2
Matus Fabian [Mon, 10 Jul 2017 06:31:41 +0000 (23:31 -0700)]
SNAT: fixed bug in fallback to 3-tuple key for non TCP/UDP sessions

Change-Id: I1c4d5f92ec841b1cfe1a33eab4bb94e4001d0411
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoAPI:fix arp/ND event messages - remove context 99/7499/3
Eyal Bari [Mon, 10 Jul 2017 07:12:13 +0000 (10:12 +0300)]
API:fix arp/ND event messages - remove context

context causes the message to be treated as a reply by the python API

Change-Id: Icf4d051a69f5a2cb9be5879accfe030ebcd650a8
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agovlib: store buffer memory information in the buffer_main 03/7503/3
Damjan Marion [Mon, 10 Jul 2017 13:06:17 +0000 (15:06 +0200)]
vlib: store buffer memory information in the buffer_main

Currently, buffer index is calculated as a offset to the physmem
region shifted by log2_cacheline size.

When DPDK is used we "hack" physmem data with information taken from
dpdk mempool. This makes physmem code not usable with DPDK.

This change makes buffer memory start and size independent of physmem
basically allowing physmem to be used when DPDK plugin is loaded.

Change-Id: Ieb399d398f147583b9baab467152a352d58c9c31
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoVPP-904: fixes zero length CLI parameters parse 06/7506/2
Alexander Kotov [Mon, 10 Jul 2017 15:23:31 +0000 (18:23 +0300)]
VPP-904: fixes zero length CLI parameters parse

Change-Id: I21fbc9aff2b97a8b3f4cbed202c00b6d84557a6e
Signed-off-by: Alexander Kotov <kot@yandex.ru>
6 years agomemif: mask interrupts on startup if we are in the polling mode 27/7427/3
Damjan Marion [Wed, 5 Jul 2017 16:13:10 +0000 (18:13 +0200)]
memif: mask interrupts on startup if we are in the polling mode

Change-Id: Ief02eb1109a1bc463665d9747e9fa4e0c0e3d7e0
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agovlib: fix issues with PCI handling code 04/7504/2
Damjan Marion [Mon, 10 Jul 2017 13:38:21 +0000 (15:38 +0200)]
vlib: fix issues with PCI handling code

- PCI devices not properly discovered
- vlib_pci_bus_master_enable () not working

Change-Id: I7433ab1b19b890b8900635b43037b9a2017a1921
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoformat: Check for NaN when rendering doubles 96/7496/1
Chris Luke [Sun, 9 Jul 2017 18:30:25 +0000 (14:30 -0400)]
format: Check for NaN when rendering doubles

- The result of 0.0/0.0 was being rendered as a lot of
  zeroes in the integer portion, as in this example:

  DBGvpp# show physmem
  0: 16 objects, 576k of 582k used, 3k free, 0 reclaimed, 2k overhead,
  16380k capacity
       alloc. from small object cache: 0 hits 0 attempts (0.00%) replacements 0
       alloc. from free-list: 0 attempts, 0 hits (0.00%), 0 considered (per-attempt 0.00)
       alloc. from vector-expand: 16
       allocs: 16 73643.06 clocks/call
       frees: 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.00 clocks/call

- Add two macros to vppinfra/math.h that use compiler builtins to check
  for NaN and Infinity and then use them in format_float().

Change-Id: Iccc03997e6e33d6b888d1e7e20cd78df0cfd02e8
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agoAPI: Add Python3 support to vpp_papi.py 88/7488/4
Ole Troan [Fri, 7 Jul 2017 14:06:08 +0000 (16:06 +0200)]
API: Add Python3 support to vpp_papi.py

Change-Id: I0657b3f7578eb1b4d9a1ecabc14dc0f0e4647c65
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agolldp packet transmission on a bonded interface 95/7495/2
Steve Shin [Fri, 7 Jul 2017 21:57:46 +0000 (14:57 -0700)]
lldp packet transmission on a bonded interface

LLDP packets are dropped at interface output node if each slave's link
is configured as the LLDP interface. The admin state is configured and
managed by the bonded interface, so slave link's state is down by default.
The checking for the admin state UP should be ignored for the slave link.

Change-Id: I06ca250f42fcb8cc50e0ea3a3817a2c5b56865df
Signed-off-by: Steve Shin <jonshin@cisco.com>
6 years agoETH:optimized double is_tagged check 18/7118/4
Eyal Bari [Tue, 13 Jun 2017 05:42:35 +0000 (08:42 +0300)]
ETH:optimized double is_tagged check

a double version of is_tagged, uses "free lanes" in _mm_cmpeq_epi16
to check a second tag

this code was not yet tested for performance

Change-Id: I640017e1cc75c85a33d196ee911a7e4a512d9849
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agoSNAT: Fallback to 3-tuple key for non TCP/UDP sessions (VPP-884) 42/7442/2
Matus Fabian [Thu, 6 Jul 2017 12:37:49 +0000 (05:37 -0700)]
SNAT: Fallback to 3-tuple key for non TCP/UDP sessions (VPP-884)

Change-Id: I4868ff6e81c579b29d3ea066976ae145f8b83e9e
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoUnlink /dev/shm files on application detach. 32/7432/4
Dave Wallace [Wed, 5 Jul 2017 18:30:46 +0000 (14:30 -0400)]
Unlink /dev/shm files on application detach.

Change-Id: Ieb5522cd5cb27bcbce808d4cd6df5248716da43c
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoDHCP complete event sends mask length 72/7472/1
Neale Ranns [Thu, 6 Jul 2017 08:39:05 +0000 (01:39 -0700)]
DHCP complete event sends mask length

Change-Id: I4a529dfab5d0ce6b0bbc0ccbbd89c6b109dbf917
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoVPP-902: LISP-CP: Wrong size in one_l2_arp_entries_get message. 41/7441/3
Ole Troan [Thu, 6 Jul 2017 12:25:38 +0000 (14:25 +0200)]
VPP-902: LISP-CP: Wrong size in one_l2_arp_entries_get message.

Change-Id: I56bf6b46527f9465d78ed7c08b6e216e50c135ec
Signed-off-by: Ole Troan <ot@cisco.com>
6 years agodpdk: add FiftyGigabitEtherenet interface support 18/7418/2
Damjan Marion [Wed, 5 Jul 2017 00:04:36 +0000 (02:04 +0200)]
dpdk: add FiftyGigabitEtherenet interface support

Change-Id: Ied8b26179cdf4add34440a9c396cb821716cfb8e
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agodevices: show interface rx-placement displays the wrong information (VPP-894) 79/7379/2
Steven [Fri, 30 Jun 2017 14:15:02 +0000 (07:15 -0700)]
devices: show interface rx-placement displays the wrong information (VPP-894)

show interface rx-placement somtimes displays the wrong interface names.
This happens when there exists subinterfaces in VPP.

The problem is due to the function show_interface_rx_placement_fn is calling
format_vnet_sw_if_index_name with hw_if_index instead of sw_if_index.

VPP has the concept of sw_if_index and hw_if_index. Each serves a different
purpose. When there is no subinterfaces, both hw_if_index and sw_if_index
may happen to have the same value. But don't count on it. When the API calls
for sw_if_index, we must pass the sw_if_index although the hw_if_index has
the same type which the compiler does not catch. Passing hw_if_index for an
API which requires sw_if_index may have an unpredictable result such as
described in the VPP-894 and sometimes it may even crash if the particular
index does not exist.

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

6 years agounix: mkdir VPP_RUN_DIR before opening a socket in it 34/7434/2
Chris Luke [Wed, 5 Jul 2017 22:02:53 +0000 (18:02 -0400)]
unix: mkdir VPP_RUN_DIR before opening a socket in it

Change https://gerrit.fd.io/r/#/c/7230/ added a Unix domain
CLI socket in the default startup.conf; however unless you
had previously run VPP with the DPDK plugin enabled the
directory that it is created in. /run/vpp, would not exist
and startup would fail. This directory is typically hosted
in a tmpfs ramdisk and is thus ephemeral.

This patch adds a function that attempts to mkdir VPP_RUN_DIR
and uses it in both the DPDK plugin and the CLI code if the
CLI socket is to be created in that directory.

Change-Id: Ibbf925819099dce2b5eb0fa238b9edca1036d6fd
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agovppinfra: revert clib_memcpy optimization 28/7428/2
Damjan Marion [Wed, 5 Jul 2017 16:15:08 +0000 (18:15 +0200)]
vppinfra: revert clib_memcpy optimization

Looks like some compiler versions are producing wrong code when we are
copying 9-16 bytes so reverting back to the original code.

Change-Id: I74b5fa54a3b01f6288648f1cb0926030edd3b26f
Signed-off-by: Damjan Marion <damarion@cisco.com>
6 years agoSend GARP/NA on bonded intf slave up/down if in active-backup mode 09/7309/4
John Lo [Mon, 26 Jun 2017 05:40:20 +0000 (01:40 -0400)]
Send GARP/NA on bonded intf slave up/down if in active-backup mode

If a bonded interface is in active-backup mode and configured with
IPv4 and/or IPv6 addresses, on slave interface link up/down, send
a GARP packet if configured with an IPv4 address and an unsolcited
NA if configured with an IPv6 address. These packets can help with
faster route convergence in the next hop router/switch.

Change-Id: I68ccb11a4a40cda414704fa08ee0171c952befa2
Signed-off-by: John Lo <loj@cisco.com>