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>
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>
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>
(Also checked other API calls for same error without finding any.)
Change-Id: I1062ecf8eff004efb3fad4582a00c6b512c36999
Signed-off-by: Ole Troan <ot@cisco.com>
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>
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>
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>
- common header files and structs used in both GRE and VXLAN-GPE
Change-Id: I06d0b773e936fb011408817237059f24a4beb412
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
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>
Added jclass reference caching and updated JNI version to 1.8
Change-Id: Ie8dbbd4b91b90bf9e4e9a6148313e46056b0d67e
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
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>
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>
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>
- 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>
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>
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>
There is a typo mistake in netmap. This patch corrects it.
Change-Id: Id358e0de74555ac7858c93fa1335f02abd5624b5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
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>
- 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>
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>
This leverages the vni LCAF support introduced in a previous patch.
Change-Id: I0a1b6b9dfc8095d62ad3f4e800b9f2d04c475521
Signed-off-by: Florin Coras <fcoras@cisco.com>
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>
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>
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>