Shashi, 

You can’t really compare macswap with a full fledged host stack. As you 
delegate more work to vpp, you should expect a drop in throughput.

Also worth noting is that the stack sends/receives byte streams, not single 
packets and up to transport layer, it does make use of vectorization. The 
amount of bytes transferred per call depends on the size of the fifos and app 
buffers used. Depending on your hardware, the builtin echo client/server can 
push more than 10Gbps/connection. If you use more connections in parallel, you 
should be able to go over 20Gbps. 

Florin

> On Feb 27, 2018, at 9:17 PM, Shashi Kant Singh <sksi...@altiostar.com> wrote:
> 
> Thanks Ray
> 
> I could see that at VPP, I could receive at line rate of 10G, process and 
> send out the traffic (macswap)
> 
> When I tried to use the test_server / test_client (vcl_test_client), I could 
> not go beyond 3.5G rate in stream test mode. It is probably because of VCL 
> sockets being used to send and receive SINGLE packets at the vcl_test_client 
> . It does not do multiple packet processing like VPP does.
> 
> How would  I get near line of packet send /receive using VCL in my 
> application ?
> I see recvmmsg kind of function in VCL but it is still not implemented using 
> vpp library.
> 
> Regards
> Shashi
> 
> 
> 
> -----Original Message-----
> From: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> 
> [mailto:vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>] On Behalf Of Ray 
> Kinsella
> Sent: 27 February 2018 21:56
> To: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] Developing application on top of VPP
> 
> Really it depends on the kind of application you want to develop?
> 
> If your intention is to do something monolithic like a tightly integrated VNF 
> application. A VNF with L2, L3, L4 and app as an integrated appliance. Then 
> the plugin _might_ make the sense for you, however I suspect that VCL library 
> might still be easier to maintain and integrate with in this instance
> 
> However if you intend to use a vSwitch on the system or you anticipate that a 
> vSwitch will be used in the system. You can integrate the L2, L3 and L4 with 
> the (VPP) vSwitch and have your App sit on VCL. This ends up being simplier 
> and more lightweight, but you need to know that VPP can be your vSwitch.
> 
> Thanks,
> 
> 
> Ray K
> 
> On 27/02/2018 11:53, Shashi Kant Singh wrote:
>> Inline...
>> 
>> 
>> -----Original Message-----
>> From: Ray Kinsella [mailto:m...@ashroe.eu]
>> Sent: 27 February 2018 17:20
>> To: Shashi Kant Singh; vpp-dev@lists.fd.io
>> Subject: Re: [vpp-dev] Developing application on top of VPP
>> 
>> 
>> Would be good if you could provide some additional information.
>> 
>> What kind of application is it - UDP/TCP/RAW socket based?
>> SKS: Would be a mix of UDP/GTP and TCP/SCTP. UDP/GTP over IPSEC.
>> 
>> How is it typically deployed - Cloud Based, Virtualized Appliance or 
>> Discrete Appliance?
>> SKS: Cloud Based in a VM.
>> 
>> 
>> Ray K
>> 
>> On 27/02/2018 08:21, Shashi Kant Singh wrote:
>>> Hi
>>> 
>>> There is a need to port AI kind of application on top of VPP. This 
>>> could  > 20k lines of code with fair complexity.
>>> 
>>> Would it make sense to put this as plugin in VPP or have an 
>>> independent application and connect to VPP using VCL?
>>> 
>>> Does it mean that AI app need to be broken down in 10 of nodes if 
>>> plugin is the option?
>>> 
>>> Performance required from AI app is like that of a typical data path.
>>> 
>>> Regards
>>> 
>>> Shashi
>>> 
>>> 
>> 
>> 
>> 
>> 
> 
> 
> 
> 
> 

Reply via email to