1068 Commits

Author SHA1 Message Date
Damjan Marion
f0ccbb02fd Add some useful scripts
Change-Id: Ic7ae9b43020ab4d26214bfab71b19ee259771c52
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-06 16:53:32 +02:00
John Lo
3f993a6f07 Fix IP6 ND solicitation termination to allow link-local source IP
Move check for link-local source IP address for MAC/IP notification
only. Allow generation of response to IP6 ND solicitation request
if a match is found for target IP irrespective of source IP type.

Change-Id: Ib79d4b75fb4fe8aece625fd8cd26c8b9fc75ea47
Signed-off-by: John Lo <loj@cisco.com>
2016-10-06 12:08:12 +00:00
Igor Mikhailov (imichail)
6c681c95e9 Fix sw_interface_set_unnumbered API for FIB2.0
ip[4|6]_sw_interface_enable_disable() should be called for
the unnumbered interface (and not on the interface with IP address)

Change-Id: Iffd347c539567c1302fa8136eea9c4e06b24d1bd
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-10-05 15:58:35 -07:00
Klement Sekera
b80f9d1b73 don't require root privileges when running the tests
Change-Id: Ib67bf1a898e3c1e4038698f1cb068ae9099d7921
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-10-05 16:43:25 +00:00
Vengada Govindan
f154448baa Fix crash caused by "show trace" due to incorrect usage of IP adjacency.
Change-Id: Ice0a6939b399eed150b0c58139b79dd4bed91113
Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-10-05 14:56:23 +00:00
Florin Coras
4beb30c0b3 Fix LISP map-request resend deadlock
Change-Id: I2cc57079741279669241b88d0317853e1312e8c5
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-10-05 14:56:04 +00:00
Matus Fabian
db64988481 VPP-339: SNAT static mapping
1:1 NAT
1:1 NAT with ports
1:1 NAT static mapping only - add "static mapping only [connection tracking]"
                              to snat startup config

Change-Id: I37cd06a9d71d1943eb6618034d7c547c4a9348c4
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-05 11:41:51 +00:00
Ole Troan
b8602b595f Python API: Add support for shared memory prefix
Recheck.
This is to support multiple VPP instances on same host.

Change-Id: Ibe511b1f790fc8771900085577423f7e71dc45df
Signed-off-by: Ole Troan <ot@cisco.com>
2016-10-05 11:39:14 +00:00
Pierre Pfister
d4bc9af55f Load Balancer: Use FIB 2.0
This patch fixes load balancer, which was not working
since FIB 2.0.

Two FIB DPO types are defined:
- One for IPv4 GRE
- One for IPv6 GRE

When an AS is created, the plugin automatically uses
the result from the FIB in order to transmit the packet.
Therefore, the packet does not need to visit ip-lookup twice.

The 'bypass' command was removed, as it is now done
automatically using this process.

Change-Id: Ib505ba31bfc67897eaff752821087821c360360a
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-05 09:33:07 +00:00
Damjan Marion
4c20e71977 dpdk: fix issue in parsing startup.conf dpdk section
Change-Id: Ibbcce6f54bc76b8922b1c649278643c6294d13f9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-05 09:29:45 +00:00
Dave Barach
e91836368c Fix mutex/condvar sleep when adding API msgs, VPP-461
Simply put, threads cannot sleep waiting for the vlib memory api main
input queue to drain. If, say, thread i (i !=0) fills the vlib api
main input queue with rpc requests - and then blocks trying to add
another request - the game is over.

RPCs attempt a barrier synchronization, which fails with Pr = {1.0}
because thread i is in a mutex/condvar sleep.

Add a main-thread cut-through path, which directly invokes the RPC
callback function when called on the main thread.

Change-Id: Ib036f0cc43b5738455c3a111cff64a132537152e
Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-05 07:44:47 +00:00
Igor Mikhailov (imichail)
15977efc45 Fix CLI 'set interface unnumbered' to work with FIB 2.0
Commit of the patch from Neale Ranns

Change-Id: Ia0480ef56036dd0aec990c3892a93b99eb9fb893
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-10-04 20:09:41 -07:00
Chris Luke
d82799863a Minor tweaks to hqos doc
- correct formatting errors
- add to user_doc tree
- unix line endings, not windows(!)

Change-Id: I9aa5511c398fc33ecb25fb33ae64c8e666c56dd8
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-10-04 23:06:57 +00:00
Florin Coras
2ccf768f13 Fix LISP L2 fwd entry updates
Change-Id: I554041bf47aa82dd6f6e0563c68d8bbd3b18b255
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-10-04 23:06:33 +00:00
Pavel Kotucek
95300d1915 VPP-355: add PBB (802.1ah) tag rewrite
- new API/CLI to define pbb tag rewrite on interface
- encapsulation/decapsulation of PBB tags
- tracing of PBB header
- PBB tag rewrite operations

Change-Id: I538b3025a8b2e41cdeed9f10fea94bbcd28b5f5f
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-04 17:15:16 +00:00
Jan
ac09280947 Update CSIT tests 160925 -> 161002
- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I45f35e14e162bc1e8c69bd632f8813dde9f8270b
Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-10-04 16:23:49 +02:00
Damjan Marion
f56b77a076 test: new test infrastructure
Change-Id: I73ca19c431743f6b39669c583d9222a6559346ef
Signed-off-by: Jan Gelety <jgelety@cisco.com>
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
Signed-off-by: Stefan Kobza <skobza@cisco.com>
Signed-off-by: Matej Klotton <mklotton@cisco.com>
Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com>
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-03 19:58:19 +00:00
Neale Ranns
6c3ebcc2bf FIB Memory Usage Diagnostics
add two new CLI commands:
 show fib memory
 show dpo memory
to display the memory usage of the FIB and DPO object types respectively.

Change-Id: I759e149a0b6fbb58d59c139362221dc33531cffa
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-03 19:15:01 +00:00
Damjan Marion
5499b1968e vhost-user: avoid branching during prefetch
Change-Id: I1f4421289b2f93b64a2470559d834717ef40e181
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-03 16:58:56 +00:00
Pierre Pfister
11f9205c10 vhost: predict map_guest_mem returns similar results over time
It is very likely that all packets are being stored in the same
memory area.
It is also likely that all indirect descriptors are being
allocated from the same area.

This patch takes this into account by predicting the value
returned by map_guest_mem will be the same as the previous one.
It falls back to slow mode otherwise.

Change-Id: Ic1044a172fc4abe77387ba2e19e11cd1f39ad1e3
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-03 16:19:46 +00:00
Filip Tehlar
240977f2fb Fix string parsing in lisp map-request itr-rlocs command
Change-Id: Ie17b324492d61130690ba9d05821eaefe10072d4
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-03 14:20:03 +00:00
Neale Ranns
5e575b1d59 L2 over LISP and GRE (VPP-457)
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-03 11:45:15 +00:00
Damjan Marion
553d808fc4 Remove old test files
Make space for upcoming test framework.

Change-Id: I14da6cf95c645d8ee2b71579a658dc7ef3b9f027
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-03 10:44:12 +00:00
Neale Ranns
df089a8a13 (VPP-455) arp doesn't work when ip4 classifier configured with fib 2.0
Change-Id: I046de0c00db75d25ed90e33e9910c9dd0ff95580
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-03 09:56:14 +01:00
Pavel Kotucek
c631f2de6d VPP-363: add ability to change mac address of the interface
Added ability to change interface address.
Added new CLI and API functions.

Change-Id: Ia336bc75ad8c5858c26f39af851485c4c6f19f58
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-30 19:08:24 +00:00
David Hotham
83486fb3ef Fix double-free crash
loop0 interfaces were transmitting the same packets multiple times,
eventually causing them to be freed multiple times

Change-Id: I32fcf5cfa10e58bb9e9bbbbc1b9312518d00ee9f
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-30 16:33:55 +01:00
John DeNisco
f53f482f35 Remove RPM package dependency on vpp-devel
Change-Id: Ie6e1b3c8c2e0cf64f06aafe13a693686fd4b486a
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2016-09-30 13:33:31 +00:00
Filip Tehlar
f3e3fd3e08 VPP-454 Fix LISP GID dictionary issue
GID dictionary IP prefix entries are rewritten with more narrow one
which is not desirable. This patch does exact matching instead of
longest prefix matching.

Change-Id: I0191e23229a69ffe86f82ea4d71e4a5534dbb5b0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-30 13:07:51 +00:00
Damjan Marion
f2c6ed1925 vat: add pg interfaces to sw_interface_dump (VPP-451)
Change-Id: I976a44dcfb32b1132c14363174239333315b2c6f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-30 12:09:33 +00:00
Filip Tehlar
2fdaece087 VPP-450 Fix adding LISP adjacencies via CLI
Change-Id: If90c9c630629e727fffc5d450516045a04433661
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-30 08:42:28 +00:00
Marek Gradzki
101759c0d6 VPP-120: include custom types to Python representation of vpe.api
Change-Id: Ide97a8bf55d3baf41a1e86af2c67c6b7b26b657a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-30 07:36:32 +02:00
Marek Gradzki
e85581cd07 VPP-378: rename jvpp package to the same as groupId of deployed jars
Related changes:
- NSH: https://gerrit.fd.io/r/#/c/3181/
- Honeycomb: https://gerrit.fd.io/r/#/c/3182

Change-Id: Ifdd6b8b575916fdf99794618dbe604c2e17e8e82
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-29 08:54:43 +00:00
Jasvinder Singh
85ecc810ca DPDK HQoS: Enable Hierarchical Scheduler in VPP
This commit extends the vpp framework with new thread type "hqos-threads" that
runs the Hierarchical Quality of Service (HQoS) scheduler associted with output
interface.  HQoS Scheduler prioritize the packets from different users and
ensures sufficient bandwidth to pass the more important traffic.

At high level, HQoS scheduler is a buffer that can temporarily store a
large number of packets. In otherwords, it is a collection of large number
of queues organized into hierarchy of 5 levels; the port (i.e. the physical
interface) is at the root of the hierarchy followed by the subport (a set
of users), the pipes (individual users), the traffic classes (each with a
strict priority) and at the leaves, the queues.

In each HQoS scheduler, three operations are performed; classification
(setting HQoS port, subport, pipe, traffic class and queue within traffic
class from packet fields), enqueue (selecting HQoS queue for the packet,
and to drop the packet if the queue is full) and dequeue (schedule the
packet based on its length and available credits, and handover the scheduled
packet to the output interface).

In vpp, the number of hqos threads will be equal to cpu cores specified in
corelist-hqos-threads parameter cpu section of the vpp configuration file.
One hqos thread can run HQoS for multiple output interfaces. A particular HQoS
instance is initialised with default parameters required to configure hqos port,
subport, pipe and queues. Some of them can be re-configured in run-time
through CLI commands as well binary APIs.

Following illustrates the sample startup configuration file with 4x worker
threads feeding 2x hqos threads that handle each HQoS for 1x output interface.
For more details on HQoS configuration please refer to DPDK Programmer's Guide.

dpdk {
	socket-mem 16384,16384

	dev 0000:02:00.0 {
		num-rx-queues 2
		hqos
	}
	dev 0000:06:00.0 {
		num-rx-queues 2
		hqos
	}

	num-mbufs 1000000
}

cpu {
  main-core 0
  corelist-workers  1, 2, 3, 4
  corelist-hqos-threads  5, 6
}

Change-Id: I635c3395a7c4ddf0a239ef77b0b0a31a6dfc4767
Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-09-28 16:37:28 +00:00
John Lo
ac8146caf1 Fix packet trace for IP4/IP6 lookup/forwarding nodes
Change-Id: Ibf3d2e69dbac28fbef77d8ba20d7f5a60eea0198
Signed-off-by: John Lo <loj@cisco.com>
2016-09-28 16:13:24 +00:00
Christophe Fontaine
e162bc3884 classify: fix issue with output classify node using wrong sw_if_index
Output classify node should use sw_if_index[VLIB_TX]
Like in l2_output.c, we have to use sw_if_index[VLIB_TX]
to get the appropriate configuration.

Change-Id: I96b1a03ddf5c9e9c45fa3f5df3ea88895ed4345e
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-09-27 22:35:10 +00:00
David Hotham
62f88d8813 arp: handle ARP proxy after tunnelling
Only rewind the buffer back to the start of the ethernet header,
rather than all the way.  We don't want to undo earlier
decapsulation.

Change-Id: I5f4b183eb3e8df690695ce3a97e55f3b0579a266
Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-27 22:28:07 +00:00
John DeNisco
99492de719 Fix RPM packaging dependencies
Change-Id: Ife1523e11b7225ea0fd41c06c3b802bb171e91f4
Signed-off-by: John DeNisco <jdenisco@cisco.com>
2016-09-27 22:27:49 +00:00
Thomas F Herbert
81ee70f93f VPP-308: Added workaround for failed vnet build. For some reason
the clock slew is greater with Vagrant 1.8.5 which causes Makefile.am to be
timestamped as newer which causes builds to fail.

Change-Id: Id0d35c41ac66a2841c5aae20dd678f4bc125e41b
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2016-09-27 20:48:26 +00:00
Damjan Marion
20f6441c63 Fix hugepage detection issue
Per-numa free hugepages number was not read correctly due
to wrong sysfs path.

Change-Id: I889111027d7f93c42e2e4673d8d4e8f75ae065b6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-27 19:39:46 +00:00
Pavel Kotucek
c08a1ed696 Scheduler policy & priority config, few minor fixes (VPP-425)
- scheduler-prio -> scheduler-priority
- improve formatting of "show threads" output
- add description to "startup.conf"
- bail out of priority is set without rr or fifo policy

Change-Id: Idf897f7603d989d6c2d0093eea89c5d1653eaa8c
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-27 19:35:24 +00:00
Chris Luke
af405f77c7 Fix missing output in generated CLI/config
The templates were looking for the name of the CLI_COMMAND
and CONFIG_FUNCTION structures in the srong place.

Change-Id: I709d6716216173ba6a7ed41a260728238f96d2db
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-27 18:15:58 +00:00
Miroslav Miklus
822af5c95d FIX sysctl configuration directory
man sysctl.d:
...
Packages should install their configuration files in /usr/lib/. Files in
/etc/ are reserved for the local administrator, who may use this logic to
override the configuration files installed by vendor packages. All configuration
files are sorted by their filename in lexicographic order, regardless of which
of the directories they reside in. If multiple files specify the same option,
the entry in the file with the lexicographically latest name will take
precedence. It is recommended to prefix all filenames with a two-digit number
and a dash, to simplify the ordering of the files.

If the administrator wants to disable a configuration file supplied by
the vendor, the recommended way is to place a symlink to /dev/null in the
configuration directory in /etc/, with the same filename as the vendor
configuration file.
...

Change-Id: I24b8b7fddf64ec287282ae195e07c9592c494ebe
Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-09-27 18:15:42 +00:00
Filip Tehlar
3fa0af5960 VPP-448 Fix LISP APIs using binary data
* use zero length array in LISP API to avoid confusion
* add missing LISP data structure definitions in API documentation
* fix wrong memory allocation in VAT

Change-Id: I9b5e656a071fc24cb698c164db953c09b66deeeb
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27 17:28:13 +00:00
John Lo
719311ba82 Fix "show adj nbr" displaying IP4 address for IP6 neighbors
Change-Id: Ic453e68bbd3d5ae8d57b513da6781bb957fc84a4
Signed-off-by: John Lo <loj@cisco.com>
2016-09-27 12:05:00 -04:00
Eyal Bari
a4509cfd46 fix create sub-interface range cli
the create sub interface command was creating the interfaces with
the same outer_vlan value - causing an error

changed to use the interface id as outer_vlan in case of a range

Change-Id: I3808094d1c99a37adac61e3ece573a6687306461
Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-09-27 14:57:35 +00:00
Pavel Kotucek
1e7658340a VPP-425: Scheduler policy & priority configuration
Add ability to hadle scheduling policy and priority via config file.
CPU section contains new items to specify scheduling policy and
priority:

cpu {
scheduler-priority <num>
scheduler-policy [other | batch | idle | fifo | rr ]
}

Change-Id: Ie20765280e458e1d7deb4a8c66daaa69793f795e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-27 09:04:22 +00:00
Florin Coras
82bf7cddd2 Fix CLI for adding negative LISP fwd entries
Change-Id: I9ee7b6ea2def16715f717f8483c86e0157628946
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-27 08:11:39 +00:00
Florin Coras
dca880446e LISP Source/Dest control plane support, VPP-197
Change-Id: If88e4161e0944b657e6183b7b44348f7f46ba0a8
Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27 08:11:19 +00:00
Peter Ginchev
62a28716d8 Fix import line for setup.py
Build fails in case python-setuptools is not installed.

Change-Id: I1611f3560db82a4a48c51a9f614a813a9a540698
Signed-off-by: Peter Ginchev <pginchev@cisco.com>
2016-09-27 05:50:45 +00:00
Igor Mikhailov (imichail)
ab3e42b08d Fix for potential use of uninitialized variables
The code allowed for the command 'set interface unnumbered'
to be processed without specifying any parameters,
thus the set logic of the command would have been using uninitialized
variables 'unnumbered_sw_if_index' and 'inherit_from_sw_if_index'.

Change-Id: I4de14fa1096527c5c48f74304db379f9953760a8
Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-09-26 21:50:10 +00:00