Commit Graph

508 Commits

Author SHA1 Message Date
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
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
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
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
8a95a482cf Add af_packet API
Change-Id: I39409ae9e75fdb59d8cbbd940fa192b24eb79b6a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-10 11:10:37 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
fdff1e6ed5 VPP-39 - refactoring of NSH into own folder
- common header files and structs used in both GRE and VXLAN-GPE

Change-Id: I06d0b773e936fb011408817237059f24a4beb412
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-05 11:45:22 +00:00
8f15e922f7 NETMAP: Some fixes
1) Correct the NIOCRXSYNC macro on receive side from NIOCTXSYNC.
2) Flush the pending messages in the tx rings.

Change-Id: I581040d03b1633a3d6fb22fa1fb285bcb7975afb
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2016-05-04 17:18:11 +00:00
29d8510d22 VPP-42: VPP crashes in IPsec code when running multithreaded
Change-Id: Ib231642cfead5f5e8e45508361a11c87aad83b51
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2016-05-04 11:41:52 -05:00
0aaf92ffbb HONEYCOMB-10: fix issues with FindClass in multithreaded environments
Added jclass reference caching and updated JNI version to 1.8

Change-Id: Ie8dbbd4b91b90bf9e4e9a6148313e46056b0d67e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-04 15:52:22 +00:00
9942bba79f VPP-12: only remove vpp-related files from /dev/shm
Change-Id: I1b6983a6d23d3d2635814cdd307efa25cd5c8b7b
Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-04 09:42:20 -04:00
b53693ab0c ENIC driver patch to set PKT_RX_VLAN_PKT only if pkt passed has VLAN tag
Change-Id: I72475bfe50e42886ffa8fb6e58eb8192892fa381
Signed-off-by: John Lo <loj@cisco.com>
2016-05-04 03:18:44 +00:00
d6a779c411 Fix for unattended in Makefile
Also works around verify

Change-Id: I79ac470ec3fa9943c3a0913ebfaaf91176eb9a81
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-04 01:50:47 +00:00
5657c5c808 HONEYCOMB-10: Copy context identifier from request to reply
Some of the send_*_details methods did not copy context
identifier from dump request message to details response.
The context identifier is used for request<->reply matching.

Change-Id: I8a744f3817bef94d7fa8ecb7bec6ea942c1a8793
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-03 15:09:49 +00:00
d06f1b790c VPP-15 Add decap-next for nsh-gre tunnel short_help
Change-Id: I1965e9852f62aaf8c1576b72446a43b5878eb452
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-03 10:14:46 +00:00
d91b22fd6c VPP-15 Add ethernet support for nsh-gre's decap-next
Change-Id: Icf3424671b4aa0f619983a3eb61785b533fdc11d
Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-05-03 02:07:03 +00:00
c7e91e4451 Small fixes to lisp-gpe header and decap
- enforce lisp-gpe router mode (set P bit)
- fix selection of ip6 decap node
- fix dual-dual lool error index init

Change-Id: I1a9623c0eb7e81a2cfb60efaa88dc44ee65e664d
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-02 22:04:00 +00:00
633134b78a VPP-31 Fix linker issue with new sr-replicate
Changes in gnu ld in Ubuntu 16.04 tickles an issue with the
declaration pattern used for vlib_node_registration when,
as is the case in sr_replicate.c, the forward declaration is
seen by the linker in a module before the real declaration.

This patch uses the "extern" keyword in the forward declaration
to avoid this issue and removes extra forward declarations.

Change-Id: I075b0cd9932404e1360c7f9aec7114003d110f60
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-02 22:03:07 +00:00
047bf84949 HONEYCOMB-10: JVpp documentation
Change-Id: Ibca8fc8c1962ca36d91898c1523afb2df6dfdc49
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-02 21:19:26 +00:00
72c7a2eadb HONEYCOMB-10: Add specific methods for each request to Future facade
These specific methods remove the need for casting on client
side code while using generic send method

Change-Id: Ic0240359333831b676a7d205f63ac1c3f3f8af4c
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-02 21:19:11 +00:00
21c33bb307 VPP-30 sr_replicate requires DPDK
- added fix to disable functionality when no DPDK
- may extend to support non-DPDK case in future.

Change-Id: Ic8ad4eeb91c4866f3f102dd4a718898eb0419dee
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-02 21:17:56 +00:00
d85036fd6b HONEYCOMB-10: jVpp - the new java API. C code and jar file generation
Added comments generation for C and Java files.

Change-Id: Ifb670a5592eb871bfe68804f0a8d8f9b5b14f00a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02 20:58:54 +00:00
c5e8681b32 Re-do java-8 handling, add unattended switch to toplevel Makefile
Change-Id: Ifaea353be5b42bb6edbcfa0506d02b721c00e392
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-02 19:35:11 +00:00
efa7f9e6c2 Break out install.sh from build.sh
This is necessary because we are now using
build.sh for CI... and we shouldn't
install packages on CI boxes.

Change-Id: I68f7880dfc75bbc4aa278ab0765a43e3fb899f3d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02 19:25:44 +00:00
3d5916dee6 VPP-32 Increase # cpus to 2, leave RAM at 4G for virtualbox vagrant users
Change-Id: Ifb40316db96e019d6c14ff6a6e9653579009d4c3
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-02 18:55:52 +00:00
50038d1909 Netmap: typo correct
There is  a typo mistake in netmap. This patch corrects it.

Change-Id: Id358e0de74555ac7858c93fa1335f02abd5624b5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2016-05-02 18:55:20 +00:00
f86abbb936 VPP-33 Removing javah from Makefile. Merged as fix for Gerrit 884
Change-Id: I2d9d6a607ffa1a8788c1ce79770db8b2b9bae6fb
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-02 10:20:53 -07:00
45a42b5d7f HONEYCOMB-10: jVpp - the new java API. Java code generation
The old japi has two main drawbacks:

* it is not fully generated (requres manual coding for
every new api call that returns data other thanstatus code)

* it is not asynchronous from Java perspective (requires
active wait loops - big overhead due to JNI boundary being
crossed lots of times).

The new api is lightweight (fully generated except for connect,
disconenct and ping) and truly asynchronous (uses callbacks,
utilities that offer java.util.concurrent.Future interface
are also provided).

Change-Id: I531080ef651e8a74f19210490c71d161221ab600
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02 08:46:21 -05:00
52fc44d61b IP6 SR multicast replicator
- adds ability to name tunnel
- creates policy as a collection of tunnel names
- map ip6 multicast address to policy and replicate packet
- adds zero memcpy for invariant portion of packet

Change-Id: Icd2fe6a2cf65c09906e82ed1afbb0eae8df79452
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-30 16:38:09 +00:00
6de2ff28fe VPP-26 Iterate through empty command line in cli history
When cursoring through the command history in the CLI, when you reach
the end of the history (ie, back at "where you started") most CLI's
typically show a blank line. This is a visual cue that you are back
where you started.

Change-Id: I5733dbd0dcdc6deac6a0a856cfadbdb987456ec0
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29 22:37:08 +00:00
7ef6d5bb68 Fix use of vni throughout lisp code
This leverages the vni LCAF support introduced in a previous patch.

Change-Id: I0a1b6b9dfc8095d62ad3f4e800b9f2d04c475521
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-29 21:29:27 +00:00
816a924fd3 Revert ixgbe driver vRX removal of packet type recognition
VPP still needs to use packet type recognition in vRX path of the
ixgbe driver so ip packet can bypass ethernet-input node processing
for better performance. The shortcoming of packet type recognition
in the vRX path does not affect VPP.

Change-Id: Ibc96021c50402a75a8bc4f80125c664714276cef
Signed-off-by: John Lo <loj@cisco.com>
2016-04-29 14:47:46 -04:00
aca64c9de1 Add indirect next hop support
Change-Id: I0626c2650eba7961a15b1e87a664b57bef5503a2
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-29 17:22:16 +00:00
7deadac47e Remove unused variable in lisp decap
Change-Id: I6aef98252e6134fd2f1a30a8407086ab98285a53
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-29 17:04:50 +02:00
27fe48f699 VPP-25 Add API for GRE tunnel create/delete/show.
Add API methods to create, delete and show GRE tunnels.

Also add missing CLI functionality for deleting and listing
configured tunnels.

Change-Id: I7565966037d94ade07938e4ff0d9333419716857
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29 14:32:58 +00:00
210bfc8eaa Fix ip-udp encap checksum for ip6
Thanks to Chris Luke for reporting.

Change-Id: I4f2ac5bb0eb565738755ddb00e8c918134ff67b6
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-29 14:31:59 +00:00
1a64ab900f Fix ip4 address formatting in the show ip fib ouptut
Change-Id: I3ffb2e3cef63cbc9f2abc81bbdedabb34b9b3408
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-29 13:29:27 +00:00
9444c0673c Fix use of format_ip46_address in custom_format
format_ip46_address() does not take a 2nd argument indicating the
address family. Harmless since the extra argument is simply not
consumed.

(noticed while adding gre to this module)

Change-Id: I692883872eedb4a8e3c0be7680d03b4b257ba6f9
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29 09:07:00 -04:00