Age | Commit message (Collapse) | Author | Files | Lines |
|
The current VPP formating for floats tries to round number to the
closest value (depending on the number of requested digits), but fails
to do so when the last printed digit is 9 (because carries are hard...).
This commits fixes this by adding 0.5 * 10^n_fraction_digits
to the value and then ignoring digits past the printed ones.
Note that when the number is exactly midway, like 9.5, the value is
rounded up, as this seems to be the clib behavior as well.
Type: fix
Change-Id: I03ce04ea6a24b84eeffd548d3f7bd306c58ce36d
Signed-off-by: Pierre Pfister <ppfister@cisco.com>
|
|
When $(wildcard /usr/lib*/ccache) returns more than one directory, they
are separated by space and it ends up setting only first one to PATH
variable while the rest of the string is just throwed to bash and it
ends up breaking the build. This change replaces space by colon to keep
desired PATH string syntax.
Type: fix
Change-Id: I94ba3465a46fa3c4fbb50c9668f0afd97e8c4f91
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
|
|
Needed for an out-of-tree plugin under development
Type: improvement
Change-Id: Ie37f847607616d7f3f5de67550bef17f2afee17f
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Type: fix
Change-Id: I487ee4e69d8885f46d7a4af2c66a710da66108c5
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Type: fix
Change-Id: I869e657744e9bba81994ad426731a08e5f1bcad7
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
New CLI to enable/disable auto-sdl (requires session enable rt-backend sdl)
auto-sdl <enable|disable> [threshold <n>] [remove-timeout <t>]
threshold is defined as the number of packets before the SDL entry is created to deny the source.
remove-timeout is defined as the duration to remove the SDL entry which was created earlier.
Type: feature
Change-Id: I513094a59663970beae33257006c652674643764
Signed-off-by: Steven Luong <sluong@cisco.com>
|
|
Send rpc evt from ao thread to po thread so http response is generated
on correct thread.
Type: fix
Change-Id: I3b9a651a1935e5b623033902f9cf9ec1daf05617
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Type: test
Change-Id: Ie0b4e2d5f6d8ac19e86599f5f9ecbb642c3027ea
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Interface tx nodes want frames with scalar data populated by output
nodes. This is not supported by nsim output feature. To avoid
reimplementing output node logic and/or future incompatibilities,
recirculate buffers through interface output after tagging.
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib8865798d8e7dc0d2f34b3e13ce29b683e490ceb
|
|
Rebuild hst docker images when the previous test run had different vpp
build type, e.g.
1) make test
2) make tes-debug
Type: test
Change-Id: If3a6f11f4f50bbfa88ef3808f98dcba3ab61d348
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Display output of 'show version verbose' from vpp in the summary report
at the end of a test run.
Type: test
Change-Id: Iae3d886dd4106678b60389ec42ba42a159940403
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I87cc6d2ba1a07751359c7276fe096eeae4e30a2e
|
|
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie8b4ba2cfd2c7fc1e27d2a2eb763b31417bc0743
|
|
return error otherwise hst might panic
Type: test
Change-Id: Ib3ec8a2113af4594f2c2fc54ae72e358bfadaef2
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
This is first step in process of making crypto engine binaries
less dependant on specific VPP version.
Type: improvement
Change-Id: Ib08135688be409049b660e2b2ac435578b63be65
Signed-off-by: Damjan Marion <dmarion@me.com>
|
|
Type: make
Change-Id: Id779d7c90a920926d40d241afb89bcb9312bcfc1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
Type: improvement
cli support enable dns node and config name server addr
Change-Id: I4fcef28876b916bd5eac026f20afb0b0dda38fa2
Signed-off-by: fenglei <1579628578@qq.com>
|
|
Type: docs
Change-Id: Ia2f9f94ebdf55d435559f6615da61efb1d2f9616
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
|
|
Type: improvement
add return_desc for except failure
Change-Id: Idcec0f8833fc264f66d2e0a784ece2a62c425263
Signed-off-by: fenglei <1579628578@qq.com>
|
|
Type: fix
policer_input didn't check policer_index will lead to coredump
when refer to cm->counters[thread_index] variable, cm->counters[thread_index] is null.
Change-Id: I8c6ef6c4c2bc96f23ab806327cb6f179c958cee2
Signed-off-by: fenglei <1579628578@qq.com>
|
|
An asyncio version of the VPP Python API.
A API call returns a awaitable future.
In comparision to the legacy API, the extra message receive thread
is no needed.
from vpp_papi.vpp_papi_async import VPPApiClient
async def process_events(event_queue):
while True:
event = await event_queue.get()
print(f"*** Processing event: {event}")
if event is None:
return
async def test():
vpp = VPPApiClient()
event_queue = asyncio.Queue()
event_processor_task = asyncio.create_task(process_events(event_queue))
rv = await vpp.connect("foobar", event_queue)
assert rv == 0
rv = await vpp.api.show_version()
rv = await vpp.api.sw_interface_dump()
await event_queue.put(None) # Send sentinel to stop the event processor
await asyncio.gather(event_processor_task) # Wait for them to finish
await vpp.disconnect()
Example of sending multiple requests and gather replies asynchronously
async def test_bulk():
futures = []
for i in range(n):
futures.append(vpp.api.show_version())
rv = await asyncio.gather(*futures)
def main():
asyncio.run(test())
Type: feature
Change-Id: Ie6bcb483930216c21a45658b72e87ba4c46f43ad
Signed-off-by: Ole Troan <otroan@employees.org>
|
|
Type: improvement
Change-Id: Ie8568999821f6dd5025fd5343670a8969a3e634e
Signed-off-by: Ole Troan <otroan@employees.org>
|
|
Fix API to handle map_domain_dump for domains with an empty tag.
Type: fix
Change-Id: Ie065c5863538d5851cd8f8907400255f51a2e90f
Signed-off-by: Ole Troan <otroan@employees.org>
|
|
- running 'make build' will now always build docker images,
'make test' will try to skip building them unless FORCE_BUILD=true
- now also checking ubuntu version
Type: make
Change-Id: Ie16e8dc4712963de19e2450e058b867c1cede7ee
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- skip building if new changes are .go, .sum, .mod, .txt, .test,
IP address files or dotfiles
Type: test
Change-Id: Ib041a077fa34120e86ebb43cd19e50142ef01f16
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- don't run 'make list-tests' after 'make help'
Type: docs
Change-Id: I1b2ae02faf53b072b96c91f2e1fead52128f4710
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- only works when not running in parallel
Type: test
Change-Id: Iab9881f8a2a93c6ef5129742e3c0ad950f9e5328
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
Script vapi_c_gen.py uses full paths to source files to generate include
guards in files with `.vapi.h` extension. This makes the content of
header files depend on build directory which causes reproducibility
issues (cannot get identical build output when building in a different
directory).
Commit 4c64b6edc86f7 fixes this for .hpp files, but seems to forget
about .h files. Use its fix for these as well.
Type: fix
Change-Id: Ida638c7b4630fac1f6d968a9203a409648bef55c
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
|
|
- framework panicked if core_pattern was set to "core"
Type: test
Change-Id: I14211cc59779090a61e6e08a18d16fd7399b2bed
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
Commit 3d14f036199d added the possibility to use `VPP_BUILD_USER` and
`VPP_BUILD_HOST` from environment (if they are set) to avoid
reproducibility issues by hard-coding such data in the build system.
However, there's no way to provide VPP_BUILD_TOPDIR externally. Add this
feature to improve binary reproducibility.
Type: improvement
Change-Id: I3a7ee47d75af9635b636fa3750a3688314eaa60d
Signed-off-by: Oleksandr Hnatiuk <ohnatiuk@cisco.com>
|
|
Fixes an issue preventing a feature to be configured on a secondary interface.
Type: fix
Signed-off-by: Guillaume Solignac <gsoligna@cisco.com>
Change-Id: I8ecd80988d22291013cd0addae6dc25043aaea98
|
|
1) pg can typically injects packets in ethernet-input, ip4-input or
ip6-input. Make sure offload offsets are correctly set for ip4-input and
ip6-input.
2) add hw-addr support for ethernet mode (only available through cli)
3) refactor pg creation code to improve the readability by using
data structure pg_interface_args_t
4) fix the pg input and output traces to use headers according to
pg interface mode
5) introduce pg interface flags i.e. checksum, gso, gro
Type: improvement
Change-Id: Iffed502e9c6357d7ef8e8a72217867e8297236aa
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
|
|
Type: fix
Change-Id: Id6aa410a75356ece1d114a2970f70cf32203997f
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
- now working with UBUNTU_VERSION=24.04
Type: test
Change-Id: I60aa62b8dcf3e96392af7179925e0f0fa3e15f11
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- replaced s.GetContainerByName("xyz") with s.Containers.Xyz in tests
and suites
- same thing for interfaces
- each suite has its own structs with containers/interfaces
- structs are initialized in SetupSuite
Type: test
Change-Id: I5bd99605b40921b7b8c844e8650f6fb0915e9e99
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
Type: improvement
Change-Id: I7ca860dbee0d0a24b7f00943142d8c878ed90e80
Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
|
|
- TCP and UDP iperf proxy tests added
Type: test
Change-Id: Ic6f429cc6d48388ce9a17f8b9cd7c4b54b9a7e4d
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- core dump check would get skipped if vpp crashed and vppctl
was called on teardown
Type: test
Change-Id: I9dda7036042158332c8ec815f6eb4bb3c2f7000f
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
Type: fix
Change-Id: I014aebc84d0c219cc0c99120e9cd51fcc520a41c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
A philosophical question. Do an interface have to have an IPv4 address
to process IPv4 packets? For ICMP error generation it's sufficient that
it has an address available on the node.
More concretely this patch is to allow an extern DHCP client to process
IP packets before it configures an address on the interface, without
having to have an node early in the ip4-unicast feature-arc like
ip4-dhcp-client-detect to intercept the packets.
Type: improvement
Change-Id: I780c579eec28ba564cf8417fbcc87e7a7876fdd2
Signed-off-by: Ole Troan <otroan@employees.org>
|
|
Handle "Connection" and "Upgrade" headers in http transport layer which
are used to create a tunnel for some other protocol on the same
connection.
Type: improvement
Change-Id: Icf5479f36fbcc7259b157eaad957211be5ea2aae
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
CPU arch dependencies cleanup. Everything works fine apart from
redis-benchmark test.
Type: test
Change-Id: I4a1e7d3bce994f6ea0681e06955ef9c621468642
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
- set iperf to json output
- added iperf json parsing function
- we can now check if iperf transferred more than X megabytes
(other asserts can be added)
Type: test
Change-Id: I560104a153456b46f22a1affee4301018063b99d
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
- simple fix to avoid apps trying to start after a test
timeout/interrupt
Type: test
Change-Id: I4e6fcbb2bb00c07e35cda1ebf6fcb76a913f7a32
Signed-off-by: Adrian Villin <avillin@cisco.com>
|
|
Type: improvement
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ief1e97d03b7a934547add35ac3ed1f93f2499a20
|
|
Problem
The API app_namespace_add_del allows specifying ip4_fib_id and
ip6_fib_id. But the CLI does not. It only allows interface.
Interface binding may change after the application namespace
is created and there is no registration for the callback
when the interface binding changes.
Fix
Add ip4-fib-id and ip6-fib-id to app ns CLI. When both
interface and fib-id's are specified, interface takes
precedence. When interface is not specified, either ip4-fib-id
or ip6-fib-id or both ip4 and ip6 fib-id's may be specified.
If only ip4-fib-id is specified, ip6 is disable for this
particular app namespace. If only ip6-fib-id is specified,
ip4 is disable for this namespace.
When the interface binding changes to different vrf and the
application namespace was created via interface option, we
delete the application namespace and recreate the application
namespace with the new interface binding. Notice when the
application namespace is removed, all session rules and
sdl rules previously created for the deleted application
namespace will be deleted. However, if the fib table/session
table was shared by another namespace, the other namespace
will still contain the session rules and sdl rules.
Type: improvement
Change-Id: I76eb30da1ed8a39d06694c1e66d0675bf03516bf
Signed-off-by: Steven Luong <sluong@cisco.com>
|
|
Display segment manager information for show app <index> verbose
Mark segment manager as listener if it is a listener segment.
Type: improvement
Change-Id: I8d91f4c2ed5b8f39620f2c8b06950c0e7ee2225e
Signed-off-by: Steven Luong <sluong@cisco.com>
|
|
Properly handle incomplete capsule.
Type: fix
Change-Id: Ied7fca861f02e401451beaff09e612bcf471d8e0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
|
|
netinet/tcp.h and linux/tcp.h have different lenghts but overlap. LDP
uses the former while iperf the latter. Accept both lengths for now as
we do not support exposing tcp metrics via ldp.
Type: improvement
Change-Id: I13a149d68715ed9451773630a3595c09c421aa29
Signed-off-by: Florin Coras <fcoras@cisco.com>
|
|
Meant for multi-threaded applications that share a vls and vcl worker.
Disable thread cancelation on thread new thread detection and add a new
pthread cancelation point in vls_mt_mq_lock
Type: improvement
Change-Id: I21b16ee7c6a5ec31b8f6363325cc7ffa463c7b5c
Signed-off-by: Florin Coras <fcoras@cisco.com>
|