Difference between revisions of "VPP/HostStack/EchoClientServer"
Florin.coras (Talk | contribs) |
Florin.coras (Talk | contribs) |
||
Line 7: | Line 7: | ||
On vpp1 (the server), from the cli do: | On vpp1 (the server), from the cli do: | ||
− | # test echo server uri | + | # test echo server uri <transport>://vpp1_ip/port |
and on vpp2 (the client): | and on vpp2 (the client): | ||
− | # test echo client uri | + | # test echo client uri <transport>://vpp1_ip/port |
− | + | === Half-Duplex single connection throughput === | |
+ | |||
+ | For connection oriented transport protocols like TCP processing is pinned to a core so for testing purposes running vpp with one core (main thread) is enough. | ||
On vpp1: | On vpp1: | ||
− | # test echo server fifo-size 4096 no-echo | + | # test echo server uri <transport>://vpp1_ip/port fifo-size 4096 no-echo |
On vpp2: | On vpp2: | ||
− | # test echo client fifo-size 4096 test-timeout 100 no-return mbytes 10000 | + | # test echo client uri <transport>://vpp1_ip/port fifo-size 4096 test-timeout 100 no-return mbytes 10000 |
+ | |||
+ | The no-echo and no-return options configure the server and the client for half-duplex operation. | ||
== External Echo Server/Client == | == External Echo Server/Client == | ||
These applications leverage the binary api for establishing connections and shared memory fifos for data exchanges. | These applications leverage the binary api for establishing connections and shared memory fifos for data exchanges. |
Revision as of 17:27, 9 May 2018
The host stack can be used by both internal and external, with respect to vpp, applications. For debugging and performance testing two pairs of such apps have been developed.
Builtin Echo Server/Client
These applications leverage the internal C apis to establish connections, shared memory fifos for sending and callback functions for receiving data. For simple debugging of the stack, start two debug images and:
On vpp1 (the server), from the cli do:
# test echo server uri <transport>://vpp1_ip/port
and on vpp2 (the client):
# test echo client uri <transport>://vpp1_ip/port
Half-Duplex single connection throughput
For connection oriented transport protocols like TCP processing is pinned to a core so for testing purposes running vpp with one core (main thread) is enough.
On vpp1:
# test echo server uri <transport>://vpp1_ip/port fifo-size 4096 no-echo
On vpp2:
# test echo client uri <transport>://vpp1_ip/port fifo-size 4096 test-timeout 100 no-return mbytes 10000
The no-echo and no-return options configure the server and the client for half-duplex operation.
External Echo Server/Client
These applications leverage the binary api for establishing connections and shared memory fifos for data exchanges.