Commit Graph

490 Commits

Author SHA1 Message Date
Christophe Fontaine
737547efc3 dpdk/Makefile - Allow dpdk target to be set according to the platform
Allows DPDK parameters to be overriden from the platform
definition.

$(PLATFORM)_dpdk_arch = "armv7a"
$(PLATFORM)_dpdk_target = "arm-armv7a-linuxapp-gcc"
$(PLATFORM)_dpdk_make_extra_args = "CONFIG_RTE_EAL_IGB_UIO=y"

Change-Id: I8c0f233942744cb82ca3ed2d65e33acee845cb4e
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:39:25 +00:00
Christophe Fontaine
95c8415531 dpdk/build - 32bits compilation
In vnet/vnet/devices/dpdk/device.c, post 2 event data instead of
merging them into 1 u64.

Change-Id: I8b1d61b894279fb6eb57bb82a05affc14360e6b8
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:24:17 +00:00
Christophe Fontaine
144a90f2e1 dpdk/init - Add compatibility to non numa architecture
On non numa aware platforms, the path "/sys/devices/system/node/node%u"
does not exist: the "free_hugepages" count is available in "/sys/kernel/mm/".

Change-Id: Id62018a2bd0937d267663699c620e89d02c26a72
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 19:15:15 +00:00
Damjan Marion
2df2e999fb Fix output feature issue where opque field is already used by previous node
Change-Id: I1470993668fa8c740229149bbb227bd1e410d5ab
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17 18:34:09 +00:00
Christophe Fontaine
9341a1f850 vppinfra - ARM: cycle count 64bits register is only available on ARMv8
Change-Id: I7d622e591020a482af68667f4d1ed2056258d2c8
Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-17 18:20:10 +00:00
Chris Luke
862623da6e VPP-23 Re-work pager line collation
To better handle lines longer than the terminal width, re-work how
the pager collates lines. We still store each output line in a vector
or lines; additionally we index the start and end of displayable lines.

The index then becomes the data to work out what to display.

If the terminal is resized this index is rebuilt and the current page
redisplayed and an attempt made to keep the current top-of-screen line
in place.

Change-Id: Icc6f4f72dabad89682cd82be88adb03eadb7811d
Signed-off-by: Chris Luke <chrisy@flirble.org>
v16.09-rc0
2016-05-16 21:37:00 +00:00
Keith Burns (alagalah)
e7a40e86b1 VPP-61 Patch2/2 Removing NSH from VPP for move to NSH_SFC
Change-Id: I76359b621b2edc599cf2e9ee845d97293a5d46f7
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16 11:54:01 -07:00
Keith Burns (alagalah)
72a7ded376 VPP-61 Patch1/2 - Remove NSH from VPP
- Had issues with original patch and CSIT, breaking into
-- Makefile and API changes
-- Follow up patch removing NSH directory

Change-Id: I6c2f49a74d59b97ce4ea43799cc6f01f5cb1d5a2
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16 16:52:57 +00:00
Damjan Marion
793b18de05 VPP-58: Fix build on AMD Opteron
Change-Id: Ib3e10fd4c27dde4f90b8d156f0c8547787ad46e2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16 16:52:55 +02:00
Damjan Marion
4e6be6847f Add build number to VPP version if BUILD_NUMBER var is set
Change-Id: I73ecc12224fdfb08b7aa6118761b368577ce33d5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16 14:43:20 +00:00
Matus Fabian
65fcd4d737 Add configure policer API
JIRA: VPP-67

Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-16 13:30:40 +00:00
Pierre Pfister
6b70c213ee VPP-68: L2 Rewrite: Support for chained classify tables
The classifying capabilities are pretty limited if only a single table can be used.
This patch adds support for chained classify tables to L2 Rewrite feature.

Change-Id: Ib678fe2028f17b441adb75d85bf3e31185e42c59
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-16 12:12:01 +00:00
Pierre Pfister
530bd8e1e6 VPP-69: Create fib or bridge domain with arbitrary ID
It appeared to me that it might be usefull
to allow users to create fibs or bridge domains without
a complete knowledge of the current used IDs.

These changes define fib and bridge domain constructors
when the provided ID is ~0. In such a case, an unused ID is
used to create a new fib or bridge domain.

Change-Id: Iaba69a023296e6d17bdde45980f9db84832a3995
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-16 12:07:04 +00:00
Chris Luke
aa761e1281 VPP-57 Add missing license headers in doc files
Change-Id: Icd1f8952f66d3cee027c59f3148c67f1839de306
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16 11:48:16 +00:00
Dave Wallace
9c5b2b301c VPP-64: Fix top-level "make pkg-deb" which breaks if CDPATH is set in the user's
bash environment.

Change-Id: Ib13e6fdafa67175937e57fad4e75e553cb1e08a3
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-16 11:47:05 +00:00
Dave Wallace
ed18a1c840 VPP-65: Fix top-level "make install-dep" to work behind a firewall /
proxy-server on Ubuntu.


Change-Id: I3f662455728adb81ca5a079540d8a9c615a5b977
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-16 11:46:28 +00:00
Filip Tehlar
195bceec56 ONE-13: Add CLI/API for LISP static remote mappings
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-15 15:02:51 +00:00
Chris Luke
75a37b372e VPP-62 Add a doxy filter to enable vpe.api doc
This makes Doxygen think the API definitions are structs which is close
enough to be able to document the API methods.

It also has logic to create an indexed API page but that's disabled for
now because it duplicates the "brief" text twice in the struct doc.

Fixes a minor line numbering issue in filter_c.py.

Change-Id: If380160b73e7c10d999b35a76f55d0e27cbc91cc
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-15 13:22:54 +00:00
Dave Barach
7e55d364fd VPP-63: clean up config scripts, remove specific hostnames
Change-Id: Ifb77256fa691b1a90045a10448835c09b764e74f
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-14 18:39:11 -04:00
Chris Luke
1d1644c260 VPP-57 Add doxygen build dependencies
Change-Id: I764d8a440c050d753e0380e139f489d3085f17f4
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13 19:28:39 +00:00
Florin Coras
ddfafb82ec ONE-7: Fix map-request encapsulation
We now try to find the first map-resolver IP we have a route to and
decide the ip lookup node according to map-resolver IP.

Change-Id: I68fc12861dc1e9a203ebf6caefd4f053a741a785
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-13 19:14:47 +00:00
Ed Warnicke
a20935192a Whitespace probe for CI
Change-Id: I3744ee19a21dcea2885aef2800244c93aa19763a
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-13 13:49:34 -05:00
Chris Luke
b585097048 VPP-57 Add Doxygen to VPP
- Configures Doxygen.
- Adds a source filter to do magic on our use of the preprocessor to do
  constructor stuff to make Doxygen grok it better.
- Adds a convenience helper to the root Makefile.
- Adds a README.md to the root directory (and which Doxygem uses as its
  "mainpage".
- Add several other documentative files.
- Currently using SVG for call graphs, though this may have a
  load-time performance impact in browsers.

Change-Id: I25fc6fb5bf634319dcb36a7f0e32031921c125ac
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13 17:23:36 +00:00
Keith Burns (alagalah)
94b1442a67 VPP43 - NSH refactoring: Added nsh-map nodes
- removed vnet/vnet/nsh-gre
- removed all nsh from vnet/vnet/nsh_vxlan_gpe to
  vnet/vnet/nsh
- moved vnet/vnet/nsh_vxlan_gpe to vnet/vnet/vxlan_gpe
- added cli and binary api for VXLAN GPE tunnels
- plan to move vnet/vnet/nsh to new repo (sfc_nsh) and make plugin
- added cli for NSH (binary API will be done in sfc_nsh)
- vnet/vnet/gre will be extended in VPP-54

Change-Id: I1d27def916532321577ccd68cb982ae0d0a07e6f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-13 16:07:41 +00:00
Andrej Kozemcak
3e53fc5664 ONE-11: Fix bugs in LISP API
- check input variables
- in locator_set dump, add support for remote locator_set

Change-Id: Ib10028e83fead358f820ae45c71b6ca4dfbe2f1e
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-13 12:20:11 +02:00
Damjan Marion
b0618bdc84 VPP-53: clang build fails in API on SR tests
Change-Id: Ib3117d7b5b6b8c97acfea17ad27c965f6ce2e829
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-12 19:06:59 +00:00
Maros Marsalek
0e0c99f8de Generate jvpp sources in build-root
+ Fail build when JVpp does not compile

Change-Id: I4ad3ffb5d7ff6edaad89de66a9f0bd79a14fb690
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-12 14:09:56 +02:00
Ed Warnicke
beabdf0161 Revert "Whitespace change for testing CI"
This reverts commit cf9b712f57.

This reverts gerrit: https://gerrit.fd.io/r/#/c/1078/

Change-Id: I4cf8c238fd81b5dc8bd077bbdd00cf72aef796ed
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-12 04:06:05 +00:00
Ed Warnicke
cf9b712f57 Whitespace change for testing CI
Change-Id: I52bf3c1c8ece08a4b52fce1f34704b944f9c1888
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-12 03:52:59 +00:00
Tibor Sirovatka
c288066921 JVPP - null checks changed to Objects.requireNonNull usage
Review changes incorporated

Change-Id: Ia04b62144a0d3643095b518db538c7eb5137c048
Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-05-12 03:15:23 +00:00
Florin Coras
e6250e0a7f ONE-9: Fix clang build errors
Change-Id: Icbf3e269471ee0fc1d21f842b2ea220328a0f891
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-11 11:47:27 +00:00
Florin Coras
bd92de551f ONE-8: Fix adj signature issues
When inserting routes into ip4/6 fibs, we first added a dummy adjacency
and afterwards manually updated its rewrite header to enable src/dst
forwarding. The downside to this is that the adj signature is changed
and therefore when deleting a route the adjacency signature is not
removed from adj_index_by_signature hash resulting in crash if the same
adjacency is re-inserted.

This patch avoids the issue by enforcing the insertion of 'complete'
adjacencies thereby obviating the need to update the rewrite header.

Change-Id: Ib43bfe72a65e2cf9ef7685a99596eb1d7723e543
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-11 11:03:20 +00:00
Filip Tehlar
215104e67f ONE-6: dp is not programmed when re-enabling LISP
Change-Id: I4c0c5d44168da811a713943275430a378ff46929
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-11 00:16:44 +00:00
Chris Luke
93dcd1d743 VPP-46 Fix cut-and-paste in the debug CLI
Since the move to line-mode the debug CLI was eating everything in the
input_vector but only processing upto the first newline. Cut-and-paste
type operations generally send a large block of input with multiple
newlines and thus all but the very first line were simply ignored.

This patch fixes that and also cleans up the difference between
input_vector and current_command which in turn removes a lot of cruft
from the keystroke parser.

Previously current_command was just the character accumulator inside the
char-by-char keystroke parser; complete commands were copied back to
input_vector (overwriting anything already in there).

Now, in char-by-char mode:
- input_vector is the stream of incoming bytes yet to be processed
- current_command is the accumulated characters of the next command to
  be executed; once newline is found, it is the complete command to be
  executed.

In line mode:
- input_vector and current_command are the same thing.

Change-Id: I72d21f0f3508b413879071ab186a71cef1124a2b
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-10 13:37:03 -04:00
Andrew Yourtchenko
716d959349 Avoid clobbering output_function by concurrent CLI sessions doing vlib_process_wait_for_event*.
A problem is easily reproducible by taking the test harness code from the commit,
and launching it in two terminals with some time overlap - the outputs will
be sent to the wrong session. This commit moves the output_function and argument
from a global structure into the process structure, thus the output_function
is not clobbered anymore and each session gets only its own output.

To ensure the callers can redirect the outputs to different destinations
(e.g. the API calls via shared memory, etc.) the existing logic
for vlib_cli_input() was retained.

To avoid the magic numbers usage in the logic that does the page-alignment
of the process stack, there are changes around the stack[] member
of vlib_process_t. Also added a compile-time assert to ensure that
the stack does indeed start on the page size multiple boundary.

Change-Id: I128680ac480735e5f214f81a884e414268e5d652
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-05-10 17:13:00 +00:00
Filip Tehlar
46d4e36792 ONE-4: Add LISP enable/disable API/CLI
This patch adds an enable/disable API/CLI for control plane
which calls similar functions for data plane. When re-enabling
it also re-populates dataplane with tunnels and interfaces.

Change-Id: Id8c3d6af90ecc0be331d502756914b1f62824046
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-10 13:52:48 +02:00
Matus Fabian
8a95a482cf Add af_packet API
Change-Id: I39409ae9e75fdb59d8cbbd940fa192b24eb79b6a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-10 11:10:37 +00:00
Florin Coras
686a5a5b2b ONE-3: Delete dst route when src fib is empty
Properly check that src fib is empty.

Change-Id: I4072169027a404cad66eaaa8450f7c18f1fa8073
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09 21:24:48 +02:00
Shwetha Bhandari
05866a16c0 VPP-44: iOAM service and path verification using shamir's secret sharing
Change-Id: I445ad13f8f93cb75cacc94192c4ae85c8ca14e35
Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
2016-05-09 13:31:53 +00:00
Florin Coras
ed09a050b7 ONE-5: Remove unused vnet_lisp_gpe_add_del_tunnel API
Change-Id: Ib22ec807d2b74b7c3cb37f66052cd07bc4d896db
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09 11:35:52 +00:00
Ole Troan
30d41fff9b VPP-20: Verify valid sw_if_index in ip_address_dump.
(Also checked other API calls for same error without finding any.)

Change-Id: I1062ecf8eff004efb3fad4582a00c6b512c36999
Signed-off-by: Ole Troan <ot@cisco.com>
2016-05-09 12:24:54 +02:00
Ed Warnicke
027103e561 Switch to using -headless JDK
By default, jdks bring a bunch of UI related things
we don't need, so switch to headeless.

Also, use default-jdk-headless for Ubuntu after 14.04.
Use openjdk-8-jdk-headless for Ubuntu 14.04.

Change-Id: I3cf14c39c9f59dc2f1beba8dfb19971f4b67f5a6
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-07 13:03:22 +00:00
Ed Warnicke
59611303fb Switch to using nexus.fd.io for dpdk tarball
Change-Id: I9751cbb9137627491ee4bd03e0318429327c0bd8
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-07 13:02:42 +00:00
Chris Luke
a6116ef5cf VPP-35 Add GRE tunnels to sw_interface_dump
GRE tunnels were missing from vpp_api_test's sw_interface_dump command.

$ sudo ./build-root/install-vpp_debug-native/vpp-api-test/bin/vpp_api_test json
vat# sw_interface_dump
[
...
  {
    "sw_if_index": 7,
    "sup_sw_if_index": 7,
    "l2_address_length": 0,
    "l2_address": [0, 0, 0, 0, 0, 0, 0, 0],
    "interface_name": "gre0",
    "admin_up_down": 1,
    "link_up_down": 0,
    "link_duplex": 0,
    "link_speed": 0,
    "mtu": 0,
    "sub_id": 0,
    "sub_dot1ad": 0,
    "sub_number_of_tags": 0,
    "sub_outer_vlan_id": 0,
    "sub_inner_vlan_id": 0,
    "sub_exact_match": 0,
    "sub_default": 0,
    "sub_outer_vlan_id_any": 0,
    "sub_inner_vlan_id_any": 0,
    "vtr_op": 0,
    "vtr_push_dot1q": 0,
    "vtr_tag1": 0,
    "vtr_tag2": 0
  }
]

Change-Id: I6f174f3c384eac464250b22f43b25be6a844aa66
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-07 13:01:55 +00:00
Chris Luke
716490069e VPP-45 Fix crash when GRE packet received on new i/f
If a GRE tunnel is created, no other interface added and the GRE tunnel
is not set "up" then a crash occurs on the first packet for this tunnel
because fib_index_by_sw_if_index[] does not yet have a mapping to the fib
the new interface is in. The code to set this is missing from
gre/interface.c

Change-Id: I567ad74a2af3ea5afe4a40ed39a1d4395642f77c
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-07 13:01:23 +00:00
Ed Warnicke
30aff24e10 Small improvement to vagrant file
Change-Id: Ia85ed0ef55cb5da118289667d7b217d8890d487e
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-07 12:58:55 +00:00
Chris Luke
393490e0f5 VPP-34 GRE traffic blackholes in encap direction
The GRE code is missing the logic to indicate the "hardware" interface
is up. The fix is to listen for admin up/down events on the "software"
interface and reflect that into the hardware interface state.

Change-Id: If06e4f03989b2c52c32f50c11e1943e42bb2609f
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-06 17:09:09 -04:00
John Lo
7ae717de72 Check IP adj_index to make sure it is valid to prevent possible crash
Change-Id: I439aac05638fd40e314bec8756e42a32c436321c
Signed-off-by: John Lo <loj@cisco.com>
2016-05-06 04:55:13 +00:00
Damjan Marion
4e0fcd7932 Fix vpp_lite build caused by missing definition of unlikely macro
Change-Id: I11b34e171c1c7907dd3faec219866418b4e792f6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-05 22:50:03 +02:00
Andrej Kozemcak
a9edd85e4c ONE-2: Add new LISP dump API for lisp gpe
API:
	lisp_gpe_enable_disable_dump

Change-Id: I1c8e78f00f9a3f99c1f2f54884af565292e4ccf8
Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-05 11:46:10 +00:00