summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-05-19VPP-74 Fix signedness issue when terminal resizesChris Luke1-4/+9
When re-locating our current viewport into the pager buffer we need to verify that the new viewport is within the boundaries of the index. This condition is considered very rare, but nontheless the check is needed. Unfortunately I assumed the variable was signed; it is not, and the subtraction can in some cases cause the value to be negative. This is therefore a bonafide semantic error that may cause problems. This patch reworks the logic to avoid having to change it to be signed. Change-Id: I26f0747d38dcc43dd9c092d50f2489b122009e7b Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-19Remove unused PCI codeDamjan Marion1-7/+0
Change-Id: I1d91c9982823758059f9d6aa699982253930e7ba Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion72-34/+439
* compiler -march= parameter is changed from native to corei7 so code is always genereted with instructions which are available on the Nehalem microarchitecture (up to SSE4.2) * compiler -mtune= parameter is added so code is optimized for corei7-avx which equals to Sandy Bridge microarchitecture * set of macros is added which allows run-time detection of available cpu instructions (e.g. clib_cpu_supports_avx()) * set of macros is added which allows us to clone graph node funcitons where cloned function is optmized for different microarchitecture Those macros are using following attributes: __attribute__((flatten)) __attribute__((target("arch=core-avx2))) I.e. If applied to foo_node_fn() macro will generate cloned functions foo_node_fn_avx2() and foo_node_fn_avx512() (future) It will also generate function void * foo_node_fn_multiarch_select() which detects available instruction set and returns pointer to the best matching function clone. Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-18Add netmap APIMatus Fabian7-10/+208
JIRA: VPP-66 Change-Id: I421529fa8eafe5268745a34a4fcd40156defcdf8 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-18Rework of the old PCI codeDamjan Marion11-339/+476
* adds support for VPP native PCI drivers using standard uio_pci_generic kernel driver * adds generic PCI interrupt callback * splits code to generic PCI handling and linux specific * adds new debug cli 'show pci [all]' Change-Id: I447c2285e319e9725d70688c1b70c9dedda51fdc Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17Set java artifact versions to 16.09 for masterEd Warnicke1-1/+1
The nature of Java artifact versioning is different that rpm/apt versioning in that artifacts are traditionally numbered: ${NEXT_RELEASE_NUMBER)-SNAPSHOT This patch sets ${NEXT_RELEASE_NUMBER) correctly for master. Change-Id: Iab34c26c7440d5e04d6d05f46598832e9adf6920 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine3-4/+31
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-17dpdk/build - 32bits compilationChristophe Fontaine4-28/+28
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-17dpdk/init - Add compatibility to non numa architectureChristophe Fontaine1-4/+25
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-17Fix output feature issue where opque field is already used by previous nodeDamjan Marion2-3/+8
Change-Id: I1470993668fa8c740229149bbb227bd1e410d5ab Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17vppinfra - ARM: cycle count 64bits register is only available on ARMv8Christophe Fontaine1-2/+9
Change-Id: I7d622e591020a482af68667f4d1ed2056258d2c8 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-05-16VPP-23 Re-work pager line collationv16.09-rc0Chris Luke1-88/+364
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>
2016-05-16VPP-61 Patch2/2 Removing NSH from VPP for move to NSH_SFCKeith Burns (alagalah)10-1038/+5
Change-Id: I76359b621b2edc599cf2e9ee845d97293a5d46f7 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16VPP-61 Patch1/2 - Remove NSH from VPPKeith Burns (alagalah)6-127/+0
- 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-16VPP-58: Fix build on AMD OpteronDamjan Marion1-1/+1
Change-Id: Ib3e10fd4c27dde4f90b8d156f0c8547787ad46e2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16Add build number to VPP version if BUILD_NUMBER var is setDamjan Marion1-2/+6
Change-Id: I73ecc12224fdfb08b7aa6118761b368577ce33d5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-16Add configure policer APIMatus Fabian6-47/+253
JIRA: VPP-67 Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-16VPP-68: L2 Rewrite: Support for chained classify tablesPierre Pfister1-0/+18
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-16VPP-69: Create fib or bridge domain with arbitrary IDPierre Pfister6-3/+89
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-16VPP-57 Add missing license headers in doc filesChris Luke8-0/+134
Change-Id: Icd1f8952f66d3cee027c59f3148c67f1839de306 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16VPP-64: Fix top-level "make pkg-deb" which breaks if CDPATH is set in the user'sDave Wallace1-0/+9
bash environment. Change-Id: Ib13e6fdafa67175937e57fad4e75e553cb1e08a3 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-16VPP-65: Fix top-level "make install-dep" to work behind a firewall /Dave Wallace1-4/+4
proxy-server on Ubuntu. Change-Id: I3f662455728adb81ca5a079540d8a9c615a5b977 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-05-15ONE-13: Add CLI/API for LISP static remote mappingsFilip Tehlar7-1/+482
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-15VPP-62 Add a doxy filter to enable vpe.api docChris Luke3-5/+67
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-14VPP-63: clean up config scripts, remove specific hostnamesDave Barach37-59/+45
Change-Id: Ifb77256fa691b1a90045a10448835c09b764e74f Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-13VPP-57 Add doxygen build dependenciesChris Luke1-4/+9
Change-Id: I764d8a440c050d753e0380e139f489d3085f17f4 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13ONE-7: Fix map-request encapsulationFlorin Coras1-68/+81
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-13Whitespace probe for CIEd Warnicke1-1/+1
Change-Id: I3744ee19a21dcea2885aef2800244c93aa19763a Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-13VPP-57 Add Doxygen to VPPChris Luke19-61/+2996
- 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-13VPP43 - NSH refactoring: Added nsh-map nodesKeith Burns (alagalah)23-2987/+1747
- 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-13ONE-11: Fix bugs in LISP APIAndrej Kozemcak4-14/+99
- 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-12VPP-53: clang build fails in API on SR testsDamjan Marion2-11/+11
Change-Id: Ib3117d7b5b6b8c97acfea17ad27c965f6ce2e829 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-12Generate jvpp sources in build-rootMaros Marsalek2-22/+17
+ Fail build when JVpp does not compile Change-Id: I4ad3ffb5d7ff6edaad89de66a9f0bd79a14fb690 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-12Revert "Whitespace change for testing CI"Ed Warnicke1-1/+1
This reverts commit cf9b712f57e3e81662e0815bd19ce19583783650. This reverts gerrit: https://gerrit.fd.io/r/#/c/1078/ Change-Id: I4cf8c238fd81b5dc8bd077bbdd00cf72aef796ed Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-12Whitespace change for testing CIEd Warnicke1-1/+1
Change-Id: I52bf3c1c8ece08a4b52fce1f34704b944f9c1888 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-12JVPP - null checks changed to Objects.requireNonNull usageTibor Sirovatka5-35/+20
Review changes incorporated Change-Id: Ia04b62144a0d3643095b518db538c7eb5137c048 Signed-off-by: Tibor Sirovatka <tsirovat@cisco.com>
2016-05-11ONE-9: Fix clang build errorsFlorin Coras2-4/+4
Change-Id: Icbf3e269471ee0fc1d21f842b2ea220328a0f891 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-11ONE-8: Fix adj signature issuesFlorin Coras2-29/+37
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-11ONE-6: dp is not programmed when re-enabling LISPFilip Tehlar1-6/+24
Change-Id: I4c0c5d44168da811a713943275430a378ff46929 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-10VPP-46 Fix cut-and-paste in the debug CLIChris Luke1-38/+46
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-10Avoid clobbering output_function by concurrent CLI sessions doing ↵Andrew Yourtchenko4-17/+63
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-10ONE-4: Add LISP enable/disable API/CLIFilip Tehlar7-32/+267
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-10Add af_packet APIMatus Fabian3-4/+176
Change-Id: I39409ae9e75fdb59d8cbbd940fa192b24eb79b6a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-09ONE-3: Delete dst route when src fib is emptyFlorin Coras1-1/+21
Properly check that src fib is empty. Change-Id: I4072169027a404cad66eaaa8450f7c18f1fa8073 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09VPP-44: iOAM service and path verification using shamir's secret sharingShwetha Bhandari7-12/+1127
Change-Id: I445ad13f8f93cb75cacc94192c4ae85c8ca14e35 Signed-off-by: Shwetha Bhandari <shwethab@cisco.com>
2016-05-09ONE-5: Remove unused vnet_lisp_gpe_add_del_tunnel APIFlorin Coras6-348/+23
Change-Id: Ib22ec807d2b74b7c3cb37f66052cd07bc4d896db Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09VPP-20: Verify valid sw_if_index in ip_address_dump.Ole Troan1-0/+4
(Also checked other API calls for same error without finding any.) Change-Id: I1062ecf8eff004efb3fad4582a00c6b512c36999 Signed-off-by: Ole Troan <ot@cisco.com>
2016-05-07Switch to using -headless JDKEd Warnicke1-1/+6
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-07Switch to using nexus.fd.io for dpdk tarballEd Warnicke1-1/+1
Change-Id: I9751cbb9137627491ee4bd03e0318429327c0bd8 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-07VPP-35 Add GRE tunnels to sw_interface_dumpChris Luke1-0/+6
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>