vpp.git
6 years agoFix SHG handling for ARP/ICMPv6 received from BVI in a BD 71/9271/2
John Lo [Tue, 7 Nov 2017 22:23:49 +0000 (17:23 -0500)]
Fix SHG handling for ARP/ICMPv6 received from BVI in a BD

This change makes sure ARP/ICMPv6 brodcast packets received from
the BVI of a BD can be flooded to all remote VTEPs via its VXLAN
tunnels irrespective of SHG setting. Similar processing was done
for unicast packets already and needs to be extpanded to ARP and
ICMPv6 broadcast packets.

Change-Id: I26ac43ecdbc81a769f742a583a156506f7e70d49
Signed-off-by: John Lo <loj@cisco.com>
6 years agoAdd replicate DPO header to export list for VPPSB 51/9251/2
Neale Ranns [Thu, 2 Nov 2017 14:39:24 +0000 (07:39 -0700)]
Add replicate DPO header to export list for VPPSB

Change-Id: I0b437ac5fecc81c7762d9cad0f33e977fcf3aa27
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 60c1c7c0397eaeb201f0fe300285bda4ae3ef707)

6 years agoLISP: fix negative mapping timeout, VPP-1043 31/9231/1
Filip Tehlar [Thu, 2 Nov 2017 08:38:49 +0000 (01:38 -0700)]
LISP: fix negative mapping timeout, VPP-1043

Change-Id: Ie57b81f8743f14182813558887d84d6667c81d43
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
(cherry picked from commit 0a62e5a3d817c3400be122c58d0311c298047580)

6 years agoFix for vppctl and interactive commands (VPP-1038) 63/9063/2
Chris Luke [Thu, 26 Oct 2017 14:44:43 +0000 (10:44 -0400)]
Fix for vppctl and interactive commands (VPP-1038)

- Interactive commands like "ping" read extra input from the
  input stream.
- In the case of "ping" it is simply a signal to cease the current
  operation.
- "vppctl", in non-interactive mode, will issue a "quit" immediately
  after the requested command to queue up closing of the session.
- This resulted in "ping" thinking a keypress was seen and returning
  control to the CLI; the "quit" command however is consumed by the
  keypress event handler and thus the session does not close.

- This patch reworks vppctl slightly to only issue "quit" after the
  command has completed. In particular it uses the fact that VPP issues
  NUL bytes as a surrogate prompt between output of commands to signal
  acknowledgement that the command has completed; vppctl now flags
  that the quit should be issued after the next such acknowledgement.
- Since input it still accepted, the user can still terminate the
  "ping" early, if desired.

Change-Id: I7e3dbe767f32f8e364ccb5f81799759b311585df
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agoVPP-1033: Python API support arbitrary sized input parameters. 24/9024/2
Ole Troan [Fri, 20 Oct 2017 11:28:20 +0000 (13:28 +0200)]
VPP-1033: Python API support arbitrary sized input parameters.

Dynamically calculate the required buffer size to pack into based on
message definition. Also add input parameter length checking.

Change-Id: I7633bec596e4833bb328fbf63a65b866c7985de5
Signed-off-by: Ole Troan <ot@cisco.com>
(cherry picked from commit 895b6e8b4408108a9b5cea99dcb378c3524b18b2)

6 years ago17.10 Release Notes 53/8953/7 v17.10
Florin Coras [Mon, 23 Oct 2017 07:04:53 +0000 (00:04 -0700)]
17.10 Release Notes

Change-Id: I0c2a8412c9946e4d18b37db907735ac0b2ea2f6e
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agodpdk/ipsec: fix crypto device placement 68/8968/1
Sergio Gonzalez Monroy [Mon, 23 Oct 2017 14:50:52 +0000 (15:50 +0100)]
dpdk/ipsec: fix crypto device placement

VPP-1036

Change-Id: I96dae6a4a40c0142d03bdf750ef23c9ce5b6edfa
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
6 years agodpdk/ipsec: fix digest physical address 74/8874/3
Sergio Gonzalez Monroy [Wed, 18 Oct 2017 13:44:24 +0000 (14:44 +0100)]
dpdk/ipsec: fix digest physical address

VPP-1034

Change-Id: Ib13cf0395bc2e42d24de51347e0aeed8a137f2f2
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
6 years agoCSIT-844: fix binary api rx pthread heap push/pop 72/8872/3
Dave Barach [Wed, 18 Oct 2017 12:03:14 +0000 (08:03 -0400)]
CSIT-844: fix binary api rx pthread heap push/pop

We need to push/pop the rx pthread's heap without affecting other
thread(s).

Search clib_per_cpu_mheaps, locate an unused slot. Duplicate the main
thread heap pointer in that slot, and set __os_thread_index
appropriately.

Don't bail out of vpp_api_test with results pending, e.g. at the end
of a vpp_api_test script. Even though vpp will eventuallly
garbage-collect them, We don't want to leave allocated reply messages
lurking in the api message allocation rings...

This patch is a manual cherry-pick from gerrit 8862

Change-Id: If3c84abe61496905432bfa36767068bad4bd243b
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoVPP-930: add missing ntohl to send_ip6_fib_details(...) 82/8882/2
Dave Barach [Wed, 18 Oct 2017 14:54:12 +0000 (10:54 -0400)]
VPP-930: add missing ntohl to send_ip6_fib_details(...)

Change-Id: I0c1671f3eaf2dad084e3ac9fb124c9ed78273f50
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoLISP: fix crash when sending NSH map-request message, ONE-32 78/8878/1
Filip Tehlar [Wed, 18 Oct 2017 14:10:25 +0000 (07:10 -0700)]
LISP: fix crash when sending NSH map-request message, ONE-32

Change-Id: Ief8c3d3bec116e9f884981fb52af528f98b5f6ff
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
6 years agoVPP-1031: Fix minor issues in clib_spinlock_unlock() 47/8847/3
Dave Barach [Sun, 15 Oct 2017 21:20:40 +0000 (17:20 -0400)]
VPP-1031: Fix minor issues in clib_spinlock_unlock()

Change-Id: I20ce799c9dd57332c06003b466ee7c36169bce98
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit fa77e8fb1cc8a87a4a31792698e7200c4195583e)

6 years agoLISP: fix map-request counters, ONE-25 41/8841/1
Filip Tehlar [Mon, 16 Oct 2017 13:51:11 +0000 (06:51 -0700)]
LISP: fix map-request counters, ONE-25

Change-Id: I198f58a84c4692408f9205052af24ee22df7aeaa
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
6 years agoip: avoid arp assert if out of buffers (VPP-1030) 22/8822/2
Florin Coras [Sat, 14 Oct 2017 18:02:37 +0000 (11:02 -0700)]
ip: avoid arp assert if out of buffers (VPP-1030)

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

6 years agoVPP-1029: Don't call clib_longjmp(...) directly from the SIGTERM handler 23/8823/1
Dave Barach [Fri, 13 Oct 2017 23:16:56 +0000 (19:16 -0400)]
VPP-1029: Don't call clib_longjmp(...) directly from the SIGTERM handler

It's way too easy to imagine leaving a mutex or a spin-lock held in
the /vpe-api shared-memory segment, or elsewhere. Set a volatile
variable and check it in a safe place...

Change-Id: I9d91c38cffeb921143c272162d055c9c24a6c312
Signed-off-by: Dave Barach <dave@barachs.net>
(cherry picked from commit 903651caf320dfdaabd20a0e6f3cd0ffc843e02f)

6 years agodpdk: patch to support bonded interface for MLX NIC 95/8795/2
Steve Shin [Mon, 9 Oct 2017 22:04:56 +0000 (15:04 -0700)]
dpdk: patch to support bonded interface for MLX NIC

At present, creating bonding devices using --vdev is broken for PMD like
mlx5 as it is neither UIO nor VFIO based and hence PMD driver is unknown
to find_port_id_by_pci_addr().

This DPDK patch fixes parsing PCI ID from bonding device params by verifying
it in RTE PCI bus, rather than checking dev->kdrv.

Change-Id: If575f63ef31733102566610d769ddd212d74736a
Signed-off-by: Steve Shin <jonshin@cisco.com>
(cherry picked from commit 268e64e312257b0ab36e0d5b9124cc3f2a1841a7)

6 years agoplugins/dpdk: align memory to avoid potential segfault and false sharing 04/8804/2
Georgina Sheehan [Thu, 12 Oct 2017 11:13:59 +0000 (12:13 +0100)]
plugins/dpdk: align memory to avoid potential segfault and false sharing

VPP-1025

Change-Id: I87bb8f38974a7be274c1b1d205f5513e7d068e48
Signed-off-by: Georgina <georgina.sheehan@intel.com>
6 years agoUse csit rls1710 operational branch in vpp stable/1710 98/8798/2
Jan Gelety [Fri, 13 Oct 2017 08:24:30 +0000 (10:24 +0200)]
Use csit rls1710 operational branch in vpp stable/1710

Change-Id: I6f7cd3e1119ab43a5512df8bcfcbcac53f2dd273
Signed-off-by: Jan Gelety <jgelety@cisco.com>
6 years agoNAT: fix delete of sessions for 1:1 NAT if 1 worker (VPP-1023) 83/8783/1
Matus Fabian [Thu, 12 Oct 2017 11:17:45 +0000 (04:17 -0700)]
NAT: fix delete of sessions for 1:1 NAT if 1 worker (VPP-1023)

Change-Id: I2446c646de7f227f9438dd7ef93a455ba5af0102
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agotcp: update thread time when initializing connection (VPP-1022) 63/8763/1 v17.10-rc2
Florin Coras [Wed, 11 Oct 2017 18:30:38 +0000 (11:30 -0700)]
tcp: update thread time when initializing connection (VPP-1022)

Change-Id: I92b0dbd2d795e3ba9050797ede2b08638e55b6f5
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoIP neighbour move incorrectly placed jump label 60/8760/1
Neale Ranns [Mon, 9 Oct 2017 12:26:13 +0000 (05:26 -0700)]
IP neighbour move incorrectly placed jump label

Change-Id: I19fdf13a4848306ee3841d822b832cba96c5bce5
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 8edad036f1f8b920a6643a026f50a5d3aff8cbf1)

6 years agotcp: do not format sb if not established (VPP-1018) 48/8748/2
Florin Coras [Wed, 11 Oct 2017 08:43:15 +0000 (01:43 -0700)]
tcp: do not format sb if not established (VPP-1018)

Change-Id: I011dda118f37cb31a37dda270027612d0af57ca0
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agolisp: memset to zero mapping delete args (VPP-1017) 47/8747/1
Florin Coras [Wed, 11 Oct 2017 08:28:28 +0000 (01:28 -0700)]
lisp: memset to zero mapping delete args (VPP-1017)

Change-Id: If5e0fb8a1b60c7181b5b3d6dd923f52a24dda9b8
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agomake test: Copy api_post_mortem.$$ file tmp test dir for archiving. (VPP-1011) 05/8705/2
Dave Wallace [Sun, 1 Oct 2017 02:04:21 +0000 (22:04 -0400)]
make test: Copy api_post_mortem.$$ file tmp test dir for archiving. (VPP-1011)

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

6 years agovhost: crash under heavy traffic condition due to memory corruption (VPP-1016) 46/8746/2
Steven [Sat, 10 Jun 2017 01:49:17 +0000 (18:49 -0700)]
vhost: crash under heavy traffic condition due to memory corruption (VPP-1016)

With heavy traffic, tx code path may crash due to memory corruption

Thread 5 "vpp_wk_2" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff3995c700 (LWP 2505)]
0x00007ffff73675e8 in vhost_user_if_input (vm=0x7fffb5f5bf9c,
    vum=0x7ffff7882a40 <vhost_user_main>, vui=0x7fffb65570c4, qid=0,
    node=0x7fffb6577dac, mode=VNET_HW_INTERFACE_RX_MODE_POLLING)
    at /home/sluong/vpp-master/vpp/build-data/../src/vnet/devices/virtio/vhost-user.c:1610
1610   bi_current = (vum->cpus[thread_index].rx_buffers)
                       [vum->cpus[thread_index].rx_buffers_len];
(gdb) p vum->cpus[thread_index].rx_buffers_len
$2 = 793212607
(gdb)

Apparently, some code accidentally wrote the bad value in rx_buffers_len.
rx_buffers_len should never be greater than 1024 since that is how many buffers
we request each time.

After debugging many hours, I discovered that the memory corruption happens
in the tx code path right here on line 2176.

  {
    vhost_copy_t *cpy = &vum->cpus[thread_index].copy[copy_len];
    copy_len++;
    cpy->len = bytes_left;
    cpy->len = (cpy->len > buffer_len) ? buffer_len : cpy->len;
    cpy->dst = buffer_map_addr;
    cpy->src = (uword) vlib_buffer_get_current (current_b0) +
      current_b0->current_length - bytes_left;

(gdb) p cpy
$3 = (vhost_copy_t *) 0x7fffb554077c
(gdb) p copy_len
$4 = 1025
(gdb) p &vum->cpus[3].rx_buffers_len
$8 = (u32 *) 0x7fffb5540784

copy_len is picking up the index entry 1024 before it was incremented. copy array has only
1024 members (0 - 1023 are valid).
The assignment here in cpy surely causes memory corruption. It is only discovered later
when the memory location that it corrupted is used.

The condition for the crash is to transmit jumbo frames under heavy volume. Since ring
size is 1024, with one packet taking up one index for frame size (less 2048), it does
not cause overflow. With jumbo frames, it requires multiple indices for one packet,
it can cause the overflow under heavy traffic.

The fix is to do copy out when we have 1000 entries in the array to avoid
overflow.

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

6 years agoDeps added to Makefile must also be in spec file. 21/8721/5
Thomas F Herbert [Mon, 9 Oct 2017 19:03:55 +0000 (15:03 -0400)]
Deps added to Makefile must also be in spec file.

Deps are required for Fedora too.

This patch should be in version 17.10 because it
fixes breaking rpm builds in some circumstances.

JIRA: VPP-1015

Change-Id: I10807069742cdd6b09a0f34d9d05e9cae4146ec3
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
6 years agoFix bug with temporary directory when building rpms. 20/8720/1
Thomas F Herbert [Mon, 9 Oct 2017 18:50:08 +0000 (14:50 -0400)]
Fix bug with temporary directory when building rpms.

Fixes bug introduced in commit 5349f94d.

JIRA: VPP-1014

Change-Id: Ia18f4c6f5f1124306cce790a36f6de970d186687
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
6 years agoNAT: fixed ICMP broken translation for GRE tunnel interface (VPP-1008) 85/8685/2
Matus Fabian [Thu, 5 Oct 2017 06:57:58 +0000 (23:57 -0700)]
NAT: fixed ICMP broken translation for GRE tunnel interface (VPP-1008)

Change-Id: Ie3245b96c511cc30915e70e8c881f445291a38c2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agomake test: Create link to failed test dir on timeout. (VPP-1011) 84/8684/2
Dave Wallace [Sat, 30 Sep 2017 19:12:19 +0000 (15:12 -0400)]
make test: Create link to failed test dir on timeout. (VPP-1011)

- Also change default coredump configuration from
  "coredump-size unlimited" to "full-coredump"

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

6 years agotuntap: Introduce per thread structure to suport multi-threads (VPP-1012) 97/8697/1
Steven [Thu, 5 Oct 2017 07:12:33 +0000 (00:12 -0700)]
tuntap: Introduce per thread structure to suport multi-threads (VPP-1012)

https://gerrit.fd.io/r/#/c/8551/ decoupled the global variable,
namely tm->iovecs from TX and RX. However, to support multi-threads,
we have to eliminate the use of this global variable with per thread
variable. I notice that rx_buffers must also be per thread variable.
So, we introduce per thread struct to contain rx_buffers and iovecs.
Each thread will find the per thread struct with thread_index.

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

6 years agofix buffer allocation for sparse jumbo frames in vhost 74/8674/3
Pierre Pfister [Thu, 5 Oct 2017 12:24:05 +0000 (14:24 +0200)]
fix buffer allocation for sparse jumbo frames in vhost

A bug was reported where a jumbo packet would stay in vhost
queue forever or until a large enough number of other packets
arrived in the queue too.

This is due to a bug in vhost input node buffer allocation.

The fix is to make sure that vhost always allocates at least
enough buffers for one single big packet. '40' is used to
account for 65kB frames.

Change-Id: I1d293028854165083e30cd798fab9d4140230b78
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
6 years agodrop python3 dependency (VPP-1010) 78/8678/2
Klement Sekera [Thu, 28 Sep 2017 04:31:53 +0000 (06:31 +0200)]
drop python3 dependency (VPP-1010)

Change-Id: I99c2c1d0d5b96f33efdb58dd3a2897a752e65349
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agomake test: archive failed test data with build logs. (VPP-1011) 80/8680/1
Dave Wallace [Sat, 30 Sep 2017 05:53:26 +0000 (01:53 -0400)]
make test: archive failed test data with build logs. (VPP-1011)

- Fix invocation of compress_failed.sh
- Fix compress_failed to copy compressed results
  files to $WORKSPACE/archives and return failure
  exit code.

Failed test case data will be copied to logs.fd.io
and found in the archives/<make test data dir>-FAILED
directory in the build log link in the
vpp-verify-master-ubuntu1604 jenkins job page.

For example:
https://logs.fd.io/production/vex-yul-rot-jenkins-1/vpp-verify-master-ubuntu1604/7353/archives/

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

6 years agomemif: crash on slave mode (VPP-1006) 69/8669/1
Steven [Sat, 30 Sep 2017 17:50:20 +0000 (10:50 -0700)]
memif: crash on slave mode (VPP-1006)

Crash was seen on recent image with this BT on top of the stack

(gdb) bt full
    (mif=0x7fffb6226568) at
    /vpp/build-data/../src/plugins/memif/memif.c:297
        ring = 0x0 <<<<<<<<<<
        i = 0
        j = 0
        buffer_offset = 65792
        r = 0x7fffb5e59f80
        alloc = {flags = 1, name = 0x7fffb449f965 "memif region",
          size = 4260096, numa_node = 0, addr = 0x7fff41dac000,
          fd = 11,
          log2_page_size = 12, n_pages = 1041}
        err = 0x0
        __FUNCTION__ = "memif_init_regions_and_queues"

The crash happened at this line.
      ring = memif_get_ring (mif, MEMIF_RING_S2M, i);
      ring=>head = ring->tail = 0; <=====

Please note that the crash is caused by dereferencing NULL rinng.
Put breakpoint into the function. I notice that
mif->regions[0].shm is not initialized.

(gdb) p mif->regions[0].shm
$8 = (void *) 0x0

It looks like we forgot to set shm after clib_mem_vm_ext_alloc().
Add the missing cide and the crash is fixed.

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

6 years agosession: fill in bind handle for sock flavored api (VPP-1005) 53/8653/3
Florin Coras [Wed, 4 Oct 2017 09:07:46 +0000 (05:07 -0400)]
session: fill in bind handle for sock flavored api (VPP-1005)

Change-Id: I492bea060ba5c219ea75e19ebfdad79b1074e04b
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoPropagate duplicate IF addr add/del error up to API. 62/8662/2
Jon Loeliger [Thu, 28 Sep 2017 18:54:16 +0000 (13:54 -0500)]
Propagate duplicate IF addr add/del error up to API.

Identify and complain when the same IP prefix is assigned
to two different SW interfaces:

    vpp# set int ip address TenGigabitEthernet6/0/0 1.2.3.4/32
    vpp# set int ip address TenGigabitEthernet6/0/1 1.2.3.4/32
    set interface ip address: Prefix 1.2.3.4/32 already found on
interface TenGigabitEthernet6/0/0

Change-Id: I1aee1b6a7ddd00d3109a53d8e1b6ce97bf45e372
Signed-off-by: Jon Loeliger <jdl@netgate.com>
(cherry picked from commit 35ffa3e8f6b032f6e324234d495f769049d8feea)

6 years agoSet MAC address needs the HW interface index 63/8663/1
Neale Ranns [Wed, 4 Oct 2017 09:29:07 +0000 (02:29 -0700)]
Set MAC address needs the HW interface index

Change-Id: I7b175d57b85e626aab00221b6dac0498aebcbeae
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit d867a7cf6baffcebbf1b6e408272ec22dc55dd68)

6 years agoDump of deag/lookup routes has is_drop=1 (VPP-995) 55/8655/1
Neale Ranns [Sun, 1 Oct 2017 19:08:10 +0000 (12:08 -0700)]
Dump of deag/lookup routes has is_drop=1 (VPP-995)

Change-Id: I58772a83e22885a9ea8a7a981d2bcb4b31a050d2
Signed-off-by: Neale Ranns <nranns@cisco.com>
(cherry picked from commit 7b7ba572ab486d57b59c12af521175a6bcd7a52b)

6 years agoUpdate L2FIB entry timestamp only if BD aging enabled (VPP-1002) 43/8643/1
John Lo [Tue, 3 Oct 2017 17:13:47 +0000 (13:13 -0400)]
Update L2FIB entry timestamp only if BD aging enabled (VPP-1002)

Change L2 learning path so it update stale timestamp in MAC entry
only if aging is enabled on the BD for the MAC entry.

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

6 years agoip: fix probing of already resolved destinations (VPP-998) 08/8608/3
Florin Coras [Sun, 1 Oct 2017 23:18:42 +0000 (19:18 -0400)]
ip: fix probing of already resolved destinations (VPP-998)

Change-Id: I3e6276e6829dfee5a7aeae1b4ab4c3d2f2e932a4
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoL2-FIB:add mac learn events test 09/8609/1
Eyal Bari [Wed, 27 Sep 2017 18:43:51 +0000 (21:43 +0300)]
L2-FIB:add mac learn events test

fixes an issue where events were not sent if BD doesn't enable  mac aging

Change-Id: Iddc53cb5c45e560633e6c5cff2731dccfc70ad5b
Signed-off-by: Eyal Bari <ebari@cisco.com>
(cherry picked from commit 24db0ec78fb651c4c585ebf30e07108240574045)

6 years agocdp/lldp: punt for no buffer (VPP-997) 00/8600/1
Steven [Thu, 28 Sep 2017 23:38:56 +0000 (16:38 -0700)]
cdp/lldp: punt for no buffer (VPP-997)

When making a call to vlib_packet_template_get_packet(), it
is possible to get back a NULL if the system runs out of buffer.
This can happen when there is buffer leaks. But don't crash
just because we run out of buffers, just punt.

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

6 years agotun/tap: Bad packets sent to kernel via tun/tap interface 77/8577/1
Steven [Tue, 26 Sep 2017 22:58:24 +0000 (15:58 -0700)]
tun/tap: Bad packets sent to kernel via tun/tap interface

It was observed that under heavy traffic, VPP accidentally sent traffic
with the wrong source and destination to the tun/tap interface. Traffic
appears to be sent to the wrong direction. This problem is only
seen when worker thread is configured.

When worker thread is used, TX and RX may reside in different
core. Yet both TX and RX threads are sharing the same global variable,
namely iovecs without any mutex or memory barrier protection.
This creates a race condition when heavy traffic is blasted to VPP,
like 1000 pps.

We could create a mutex or memory barrier to ensure atomic memory access.
But why bother? It is a lot cheaper to just decouple the iovecs such
that TX and RX have their own iovecs.

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

6 years agoGeneral documentation updates 76/8576/1
Chris Luke [Wed, 27 Sep 2017 19:09:48 +0000 (15:09 -0400)]
General documentation updates

- We now have several developer-focused docs, so create an index page
  for them.
- Rework several docs to fit into the index structure.
- Experiment with code highlighting; tweak the CSS slightly to make
  it slightly nicer to look at.

Change-Id: I4185a18f84fa0764745ca7a3148276064a3155c6
Signed-off-by: Chris Luke <chrisy@flirble.org>
(cherry picked from commit 64ebb5ff1338140d94c7f9ee72138fe84d89de2e)

6 years ago17.10 change default branch in gitreview 74/8574/1 v17.10-rc1
Florin Coras [Wed, 27 Sep 2017 21:11:15 +0000 (14:11 -0700)]
17.10 change default branch in gitreview

Change-Id: Icd2cc7e328719b3964dfe344caf8ed9858283661
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoVPP-990 remove registered handler if control ping fails 90/8490/2 v18.01-rc0
Matej Perina [Thu, 21 Sep 2017 15:03:27 +0000 (17:03 +0200)]
VPP-990 remove registered handler if control ping fails

Change-Id: I5ca5763f0dc0a73cc6f014b855426b7ac180f356
Signed-off-by: Matej Perina <mperina@cisco.com>
6 years agoLISP: add API handlers for set/get transport protocol 63/8563/3
Filip Tehlar [Wed, 27 Sep 2017 12:32:02 +0000 (14:32 +0200)]
LISP: add API handlers for set/get transport protocol

Change-Id: Ib675164c475edcdbe3013df7b847adf5e050c53f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
6 years agoVLAN support on host(af-packet) interface. 35/8435/6
Akshaya N [Fri, 15 Sep 2017 12:07:53 +0000 (17:37 +0530)]
VLAN support on host(af-packet) interface.

On host interface if a VLAN tagged packet is received, linux kernel removes
the VLAN header from packet byte stream and adds metadata in tpacket2_hdr.
This patch explicitely checks for the presense of VLAN metadata and adds it
in VPP packet.

Change-Id: I0ba35c1e98dbc008ce18d032f22f2717d610c1aa
Signed-off-by: Akshaya N <akshaya@rtbrick.com>
6 years agoUpdate vagrant centos config to CentOS 7.4 50/8550/2
Dave Wallace [Tue, 26 Sep 2017 22:15:47 +0000 (18:15 -0400)]
Update vagrant centos config to CentOS 7.4

Change-Id: I45c1227b53ba9e57b94f1bc68de939cd3ce9d619
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoFix: unnecesary uio binding for Mellanox NIC 43/8543/2
Steve Shin [Tue, 26 Sep 2017 17:07:58 +0000 (10:07 -0700)]
Fix: unnecesary uio binding for Mellanox NIC

UIO binding is not required for Mellanox NIC and calling vlib_pci_bind_to_uio()
should be skipped.

Change-Id: I10ea457bc3c8d4be8117dec51d5bd940ee416a44
Signed-off-by: Steve Shin <jonshin@cisco.com>
6 years agoVarious fixes for issues found by Coverity (VPP-972) 44/8544/3
Chris Luke [Tue, 26 Sep 2017 17:15:16 +0000 (13:15 -0400)]
Various fixes for issues found by Coverity (VPP-972)

174267: Revisit this string termination issue
174816: Add check for NULL when trace is enabled
177211: Add notation that mutex is not required here
177117: Added check for log2_page_size == 0 and returns an error if so
163697,163698: Added missing sw_if_index validation

Change-Id: I5a76fcf6505c785bfb3269e353360031c6a0fd0f
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agoacl-plugin: take 2 at VPP-991 fix, this time with a test case which verifies it. 60/8560/3
Andrew Yourtchenko [Wed, 27 Sep 2017 11:50:31 +0000 (13:50 +0200)]
acl-plugin: take 2 at VPP-991 fix, this time with a test case which verifies it.

The replacement of [] with pool_elt_at_index and subsequent fixing it
was incorrect - it was equivalent to &[], since it returns a pointer to
the element. I've added VPP-993 previously to create a testcase,
so this commit partially fulfills that one as well.

Change-Id: I5b15e3ce48316f0429232aacf885e8f7c63d9522
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agomake test: clean ext binaries when doing test-wipe 59/8559/2
Klement Sekera [Wed, 27 Sep 2017 04:48:44 +0000 (06:48 +0200)]
make test: clean ext binaries when doing test-wipe

Change-Id: I9f5212ee670ea91c6b35f1406c256d0687b9c6b5
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agoUpdate CSIT tests 1700906 -> 170926 33/8533/2
Jan Gelety [Tue, 26 Sep 2017 07:52:18 +0000 (09:52 +0200)]
Update CSIT tests 1700906 -> 170926

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

Change-Id: If582dc7c5e37bd3cda7ba4858e98fc504e2b7b1e
Signed-off-by: Jan Gelety <jgelety@cisco.com>
6 years agoFix SUSE dependencies to contemplate both python and python3 scripts. 17/8517/2
Marco Varlese [Mon, 25 Sep 2017 08:05:01 +0000 (10:05 +0200)]
Fix SUSE dependencies to contemplate both python and python3 scripts.

Change-Id: Ib677955448833dfeb1291490340f5ea1e417213b
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agotcp: update snd_nxt after congestion recovery 41/8541/2
Florin Coras [Tue, 26 Sep 2017 16:30:40 +0000 (12:30 -0400)]
tcp: update snd_nxt after congestion recovery

Change-Id: I2cf4c4850b9c3c093a7dce0cec89b9f710f69393
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoAdd thread-safe event signaller, use RPC where required 40/8540/5
Dave Barach [Tue, 26 Sep 2017 14:54:34 +0000 (10:54 -0400)]
Add thread-safe event signaller, use RPC where required

Update ping code to use the new function

Change-Id: Ieb753b23f8402cbe5667c22747896784c8ece937
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agocheckstyle: ignore old clang-format (centos) 32/8532/2
Klement Sekera [Tue, 26 Sep 2017 00:39:40 +0000 (02:39 +0200)]
checkstyle: ignore old clang-format (centos)

Change-Id: Iecf35bd9fd760856e32eb1c0c9542ffbed472379
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agomake test: don't recompile ext if not needed 38/8538/2
Klement Sekera [Tue, 26 Sep 2017 07:21:24 +0000 (09:21 +0200)]
make test: don't recompile ext if not needed

Skip recompilation of test binaries from test/ext if these are
up-to-date. This speeds up repeated test runs.

Change-Id: I96dbfafc372398e3d858d8419219ef35c47bd0f3
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agojvpp: lowering verbosity level for jvpp tests 20/8520/4
Matej Perina [Mon, 25 Sep 2017 08:54:47 +0000 (10:54 +0200)]
jvpp: lowering verbosity level for jvpp tests

Change-Id: Ie38dad209cce6d546379b4a5e449b34fbcadf171
Signed-off-by: Matej Perina <mperina@cisco.com>
6 years agoNAT: remove worker_by_in lookup hash table (VPP-992) 34/8534/1
Matus Fabian [Tue, 26 Sep 2017 08:23:01 +0000 (01:23 -0700)]
NAT: remove worker_by_in lookup hash table (VPP-992)

Change-Id: I3873d3e411bf93cac82e73a0b8e3b22563aaf217
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoacl-plugin: test: move the API calls to vpp_papi_provider.py 30/8430/4
Andrew Yourtchenko [Thu, 14 Sep 2017 16:26:36 +0000 (18:26 +0200)]
acl-plugin: test: move the API calls to vpp_papi_provider.py

Change-Id: I1d3818027b8a1fcb1ec12016e3476b5c22a2d5a5
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agoMemory overwritten when using unformat %u (VPP-987) 12/8512/3
Aequitas [Sat, 23 Sep 2017 04:58:49 +0000 (12:58 +0800)]
Memory overwritten when using unformat %u (VPP-987)

Change-Id: I7d8f807fb502d61688aa1dee25fa4edcbeb32f41
Signed-off-by: Aequitas <wang.junqi@zte.com.cn>
6 years agoFix Ubuntu java dependency regression. 26/8526/2
Dave Wallace [Mon, 25 Sep 2017 19:00:36 +0000 (15:00 -0400)]
Fix Ubuntu java dependency regression.

- introduced by e6f3b467 "Fix for ssl dependency on debian 9"

Change-Id: If41e517b2a55d2028ade6671f407831cfcf205c4
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoVagrant fails if Vagrantfile is a symlink on Windows 10. 30/8530/2
Dave Wallace [Mon, 25 Sep 2017 20:12:16 +0000 (16:12 -0400)]
Vagrant fails if Vagrantfile is a symlink on Windows 10.

- Revert Vagrantfile symlink to the default
- Update README and env.sh

Change-Id: Ib1a557b897e0217b162c31118a4c265769dd1760
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agoRefactor multi-host socket_test.sh for bare-metal. 28/8528/2
Dave Wallace [Mon, 25 Sep 2017 19:37:56 +0000 (15:37 -0400)]
Refactor multi-host socket_test.sh for bare-metal.

Change-Id: I4fcde6652e0c66315a453250c6e02cd32176833d
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
6 years agotcp: do not sample rtt for retransmitted segments 15/8515/3
Florin Coras [Sun, 24 Sep 2017 23:43:08 +0000 (19:43 -0400)]
tcp: do not sample rtt for retransmitted segments

Change-Id: I365c31607332a944ef498369881332b515894ed7
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoacl-plugin: use vec_elt_at_index rather than pool_elt_at_index to access vector elements 25/8525/3
Andrew Yourtchenko [Mon, 25 Sep 2017 16:37:28 +0000 (18:37 +0200)]
acl-plugin: use vec_elt_at_index rather than pool_elt_at_index to access vector elements

bb7f0f644 aimed to fix the coverity issue has incorrectly replaced the previous [] access
with pool_elt_at_index(), for an element of a vector, with predictably interesting result.
VPP-991 has uncovered the issue.

Change-Id: Ifd3fb70332d3fdd1c4ff8570372f394913f7b6c8
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agoFix usage string for vat 63/8463/5
Jerome Tollet [Tue, 19 Sep 2017 19:30:48 +0000 (20:30 +0100)]
Fix usage string for vat

Change-Id: Idad65cbb3765500a66f1097126076a2c5fdb4f1b
Signed-off-by: Jerome Tollet <jtollet@cisco.com>
6 years agoFix sending GARP/NA on Bonded Interface Active/Backup Link Up/Down 13/8513/3
John Lo [Sat, 23 Sep 2017 12:59:58 +0000 (08:59 -0400)]
Fix sending GARP/NA on Bonded Interface Active/Backup Link Up/Down

For bonded interface in Active/Backup mode (mode 1), we need to
send a GARP/NA packet, if IP address is present, on slave link
state change to up or down to help with route convergence. The
callback from DPDK happens in a separate thread so we need to make
sure RPC call is used to signal the send_garp_na process in the
main thread. Also need to fix DPDK polling so the slave links are
not polled.

Change-Id: If5fd8ea2d28c54dd28726ac403ad366386ce9651
Signed-off-by: John Lo <loj@cisco.com>
6 years agoAdd binary API documentation 24/8524/1
Dave Barach [Mon, 25 Sep 2017 12:47:59 +0000 (08:47 -0400)]
Add binary API documentation

Change-Id: Id1a5da12b13d87bacfa81094f471b95db40c39be
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoNAT: session number limitation to avoid running out of memory crash (VPP-984) 02/8502/2
Matus Fabian [Fri, 22 Sep 2017 09:43:05 +0000 (02:43 -0700)]
NAT: session number limitation to avoid running out of memory crash (VPP-984)

Change-Id: I7f18f8c4ba609d96950dc1f833feb967d4a099b7
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agolibmemif: Jumbo frames data/buffer length fix 43/8443/3
Jakub Grajciar [Mon, 18 Sep 2017 09:21:40 +0000 (11:21 +0200)]
libmemif: Jumbo frames data/buffer length fix

Change-Id: Icadf1c28b4ab712a210a8e037200ab29d6c53fe4
Signed-off-by: Jakub Grajciar <grajciar.jakub@gmail.com>
6 years agoopenSUSE build fix 06/8506/2
Marco Varlese [Fri, 22 Sep 2017 15:53:53 +0000 (17:53 +0200)]
openSUSE build fix

* Fixed package dependency
* Fixed bash unary operation error

Change-Id: I782dda8ffd807931241fa6034c110f5fedbeca8e
Signed-off-by: Marco Varlese <marco.varlese@suse.com>
6 years agoFix vpp "unix interactive" when running under emacs + gdb 07/8507/1
Dave Barach [Fri, 22 Sep 2017 17:34:39 +0000 (13:34 -0400)]
Fix vpp "unix interactive" when running under emacs + gdb

In this specific corner-case setup, ioctl (0, TIOCGWINSZ) returns
window height = 0 and width = 0. Rather than declaring the terminal to
be non-interactive, set the window size parameters to 80 x 24.

Change-Id: If66f5f0883f1940518ec1c6e26228c9bb6f32852
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agovhost-user: fix link-up status 72/8472/2
Yoann Desmouceaux [Wed, 20 Sep 2017 09:00:42 +0000 (11:00 +0200)]
vhost-user: fix link-up status

When changing the admin state of a vhost-user interface, do not put it
in link-up mode if the interface is not actually ready.

Change-Id: Idbc631a7126efa79d199909f9e7656d21bd412ca
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
6 years agoacl-plugin: remove the clib_warning "ACL enabling..." 94/8494/3
Andrew Yourtchenko [Thu, 21 Sep 2017 22:40:48 +0000 (00:40 +0200)]
acl-plugin: remove the clib_warning "ACL enabling..."

It was useful for debugging once upon a time...
but time to say goodbye to it...
Also remove the warning printed when sending ACL details.

Change-Id: I43b2537e176556831eb7ff34b25c9068aa05ee27
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
6 years agoIP-MAC,ND:wildcard events,fix sending multiple events 71/8471/3
Eyal Bari [Wed, 20 Sep 2017 08:29:17 +0000 (11:29 +0300)]
IP-MAC,ND:wildcard events,fix sending multiple events

wildcard ND events publisher was sending the last event mutiple times

Change-Id: I6c30f2de03fa825e79df9005a3cfaaf68ff7ea2f
Signed-off-by: Eyal Bari <ebari@cisco.com>
6 years agovppctl,cli: Improve non-interactive vppctl (VPP-944) 91/8491/6
Chris Luke [Thu, 21 Sep 2017 03:31:24 +0000 (23:31 -0400)]
vppctl,cli: Improve non-interactive vppctl (VPP-944)

Short version: Make vppctl behave as expected when run
from scripts, or without a controlling terminal, and
especially when using it with VPP commands on its
command line ("non-interactively").

In particular, prevent the welcome banner and VPP CLI
prompt from being sent by VPP when being used in these
ways.

vppctl
------

- Improve vppctl's detection of non-interactive sessions.
- Pass non-interactiveness in the terminal type telnet option
  as a value distinct from "dumb" (which means non-ANSI capable.)
- Make tty setup handling more robust.
- Only send non-interactive command once we've sent the
  terminal type, to ensure correct event sequence; we need
  the VPP cli session to be in line-by-line mode.
- Ignore stdin when it looks something like /dev/null.
- Skip NUL bytes received from VPP.

VPP CLI
-------

- Detect "non-interactive" terminal types and set session
  parameters accordingly.
- Add an "interactive" flag that controls whether the welcome
  banner and CLI prompt are sent.
- Detect if telnet options processing switched us into line
  mode and act accordingly for the rest of the current input
  buffer. This was causing the command string to be echoed
  by the CLI editor code.
- For non-interactive sessions, send a NUL byte after the
  input buffer has been processed. This is because vppctl
  depends on seeing traffic before it will try to close the
  session; a command with no output would cause it to hang.
  NUL bytes are ignored by all decent terminals, but we have
  vppctl strip them out anyway.
- Prevent certain commands from running in non-interactive
  sessions since they manipulate interactive-related features.
- For interactive sessions, quench the prompt that prints on
  VPP shutdown.
- Detect and handle socket errors in the CLI; sessions were
  leaking.
- Pevent SIGPIPE from ever being raised; handle EPIPE instead.
  We don't need VPP to die just because a socket closed just
  before we try to write to it!
- Add a command to dump a list of current CLI sessions; mostly
  this was to detect session leakage, but it may have some
  general utility.

Change-Id: Ia147da013317180882c1d967b18eefb8519a55fb
Signed-off-by: Chris Luke <chrisy@flirble.org>
6 years agoNAT: remove worker_by_out lookup hash table (VPP-989) 88/8488/2
Matus Fabian [Thu, 21 Sep 2017 12:07:12 +0000 (05:07 -0700)]
NAT: remove worker_by_out lookup hash table (VPP-989)

Change-Id: Ibcd2cf22348ae5a72770a8f8ad25cbe8df7fd390
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoFix for ssl dependency on debian 9 89/8489/3
Anton Ivanov [Thu, 21 Sep 2017 12:15:53 +0000 (13:15 +0100)]
Fix for ssl dependency on debian 9

Change-Id: I32f46c5a6f0e43e7f3e38b05d9607d43faf41501
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
6 years agoUnpack into temporary directory with longer name. 76/8476/2
Thomas F Herbert [Wed, 13 Sep 2017 19:26:46 +0000 (15:26 -0400)]
Unpack into temporary directory with longer name.

JIRA VPP-498

This commit is a fix so downstream builds in Centos and
RHEL mock environment will work.  This is a workaround
for a bug in the debugedit code in rpm-build package 4.13
and earlier.

Change-Id: Ia6361f7487c5afe9948a2d2fe929942ba5b9c0f1
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
6 years agosession: store tep port in net order 65/8465/3
Florin Coras [Wed, 20 Sep 2017 05:27:18 +0000 (22:27 -0700)]
session: store tep port in net order

Change-Id: Ie3a99f09f44ec081d9b88a213bdb8d987fb462de
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoImprove API message handler re-registration check 74/8474/2
Dave Barach [Wed, 20 Sep 2017 12:40:16 +0000 (08:40 -0400)]
Improve API message handler re-registration check

Change-Id: Iedcea2fb45052852666b91a21eed011f5593313d
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoLISP: add debug cli for neighbor discovery 69/8469/2
Filip Tehlar [Wed, 20 Sep 2017 06:41:23 +0000 (08:41 +0200)]
LISP: add debug cli for neighbor discovery

Change-Id: Ib5d335d6130617d6135615c6c8fa8deaac971331
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
6 years agoCLI: fix segfault when browsing an empty history 68/8468/2
Yoann Desmouceaux [Wed, 20 Sep 2017 08:08:28 +0000 (10:08 +0200)]
CLI: fix segfault when browsing an empty history

When one starts VPP, types a command, presses up rather than enter,
then types a new command, unix_cli_line_process_one() segfaults.
This is due to cf->cursor not being reset upon pressing up if the
history is empty.

Change-Id: Ie503f20a9cb551e735abb8b0f4feb8c0006d2b61
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
6 years agoTCP: fix "tcp src-address" command with IPv6 70/8470/2
Yoann Desmouceaux [Wed, 20 Sep 2017 08:34:22 +0000 (10:34 +0200)]
TCP: fix "tcp src-address" command with IPv6

When given a single IPv6 address, the "tcp src-address" command incorrectly
infers the end of the range by copying sizeof(ip4_address_t) bytes from the
given address.

Change-Id: I100d5c6674d3a3980b8c018588988bdd32ff7269
Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
6 years agotcp: add option to punt traffic 48/8448/4
Pierre Pfister [Wed, 20 Sep 2017 06:48:36 +0000 (08:48 +0200)]
tcp: add option to punt traffic

Until now, if the stack didn't find a connection for a packet, it sent
back a reset. With the punt option enabled, packets are now enqueued to
error-punt where they can be handed off to the host os.

Change-Id: I12dea8694b8bd24c92b0d601412928aa7b8046cb
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
6 years agoUse openssl 1.0 compat RPM for Fedora 26 and newer. 60/8460/2
Thomas F Herbert [Mon, 11 Sep 2017 12:58:23 +0000 (08:58 -0400)]
Use openssl 1.0 compat RPM for Fedora 26 and newer.

This is just a workaround until VPP is compatible with OpenSSL 1.1.

JIRA: VPP-569

Change-Id: I8d2a113dc9400fd7e8e6850de5d91f40380455ce
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
6 years agoFix DHCP client so it works for worker threads 64/8464/2
John Lo [Wed, 20 Sep 2017 01:45:10 +0000 (21:45 -0400)]
Fix DHCP client so it works for worker threads

Fix dhcp_client_for_us() function to utilize rpc_call_main_thread
to call vlib_process_signal_event() to ensure proper handling
irrespective of it being called in main thread or worker thread.

Added ASSERT to vlib_process_sinal.. path to make sure it is called
in main thread.

Change-Id: I4109cc049d8e4225d896ce492ce201011dc9c911
Signed-off-by: John Lo <loj@cisco.com>
6 years agoAdd ip6-local feature arc 44/8444/2
Pierre Pfister [Mon, 18 Sep 2017 09:40:32 +0000 (11:40 +0200)]
Add ip6-local feature arc

ip4-local feature arc existed but not ip6-local one.

This patch also adds node name to the 'show ip local' command and fixes
a minor include issue in vnet/ip/ip4.h file.

Change-Id: I9bb8a7159917d58f89afcce974680de20d946a70
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
6 years agoNAT: don't call ipfix rpc when disabled (VPP-988) 66/8466/2
Matus Fabian [Wed, 20 Sep 2017 06:26:13 +0000 (23:26 -0700)]
NAT: don't call ipfix rpc when disabled (VPP-988)

Change-Id: Id98b523f7b20f82291a34e73762978fa65e24140
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoNAT: move session and user lookup tables to per thread data (VPP-986) 55/8455/3
Matus Fabian [Tue, 19 Sep 2017 12:42:38 +0000 (05:42 -0700)]
NAT: move session and user lookup tables to per thread data (VPP-986)

Change-Id: I41a51bb36e31e05c76fef0b34fe006afbee27729
Signed-off-by: Matus Fabian <matfabia@cisco.com>
6 years agoformat_sockaddr: add trivial support for AF_LOCAL sockets 61/8461/2
Dave Barach [Tue, 19 Sep 2017 18:36:46 +0000 (14:36 -0400)]
format_sockaddr: add trivial support for AF_LOCAL sockets

There isn't anything useful to print. Return a unique name since the
unix cli uses the returned string to create a node name.  Node names
must be unique, or vpp will quit abruptly.

Change-Id: I8f85ae8fececdbfd26c729bc32c2c2007c06d1ea
Signed-off-by: Dave Barach <dave@barachs.net>
6 years agoAdd C++ API 84/7884/10
Klement Sekera [Mon, 12 Jun 2017 04:49:33 +0000 (06:49 +0200)]
Add C++ API

Change-Id: Iff634f22d43470e2dc028387b3816257fd7b4156
Signed-off-by: Klement Sekera <ksekera@cisco.com>
6 years agosession/tcp: improve preallocated segment handling 19/8419/7
Florin Coras [Thu, 14 Sep 2017 07:08:00 +0000 (03:08 -0400)]
session/tcp: improve preallocated segment handling

- add preallocated segment flag
- don't remove pre-allocated segments except if application detaches
- when preallocating fifos in multiple segments, completely fill
  a segment before moving to the next
- detach server application from segment-managers when deleting app
- batch syn/syn-ack/fin (re)transmissions
- loosen up close-wait and time-wait times

Change-Id: I412f53ce601cc83b3acc26aeffd7fa2d52d73b03
Signed-off-by: Florin Coras <fcoras@cisco.com>
6 years agoTreat label=0 as an invalid next-hop-via-label 52/8452/3
Neale Ranns [Tue, 19 Sep 2017 01:04:10 +0000 (18:04 -0700)]
Treat label=0 as an invalid next-hop-via-label

Change-Id: I831226111d26f5c8a795e0773e23fddcddfb1613
Signed-off-by: Neale Ranns <nranns@cisco.com>
6 years agoLISP: support for neighbor discovery 61/8361/4
Filip Tehlar [Tue, 5 Sep 2017 13:46:09 +0000 (15:46 +0200)]
LISP: support for neighbor discovery

Change-Id: I0f1a051dd3b5786dc7c457bc6fc7ce4fcd0f530c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
6 years agoSet RX sw_if_index on decrypted routed IPsec buffers 31/8431/2
Matthew Smith [Thu, 14 Sep 2017 14:05:35 +0000 (09:05 -0500)]
Set RX sw_if_index on decrypted routed IPsec buffers

For routed IPsec, set the RX sw_if_index on inbound packets
to the index of the IPsec interface. When a packet is
decrypted into a new buffer, bring along the RX sw_if_index
of the encrypted packet to the new buffer.

Change-Id: I093e9d37def2082c8d2f1deb96b1c5b97126e023
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
6 years agoFix MPLS table create CLI 57/8457/2
Neale Ranns [Tue, 19 Sep 2017 13:25:13 +0000 (06:25 -0700)]
Fix MPLS table create CLI

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