Re: [vpp-dev] 18.07.1 dot release

2018-09-04 Thread avinash . gonsalves
I would like to propose an enhancement for vpp to work with dpdk 
multicore-crypto scheduler ( 
http://doc.dpdk.org/guides-18.02/cryptodevs/scheduler.html ).

For the software crypto pmd to be scheduled on multiple cores the following 
dpdk configuration is required:

vdev 
crypto_scheduler,slave=aesni_mb_1,slave=aesni_mb_2,mode=multi-core,corelist=3-4,ordering=enable

This does not work directly with base VPP code, the following enhancements are 
required

1. VPP Changes:

    - Recognize slave-lcore corelist assigned for multi-core crypto and pass 
the configuration during dpdk plugin device init(startup.conf)

    - Start the multi-core crypto scheduler for the correct device_id.

2. DPDK Patch 

    - Enable RTE_LIBRTE_PMD_CRYPTO_SCHEDULER

    - Enable PER_SLAVE_BUFF_SIZE to be configurable from start 
parameters(slave_buff_size=8192)

    - Ordering Fix for Multi Producer Queue

A patch was performance tested off VPP 17.10 (DPDK 17.08) release with 2,3,4 
crypto cores.

If everyone thinks this merits going into 18.07.1, i'll initiate a review 
(there have been a couple of posts on this already)
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10353): https://lists.fd.io/g/vpp-dev/message/10353
Mute This Topic: https://lists.fd.io/mt/25177447/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] vpp io Multi-thread Model #vpp

2018-04-18 Thread Avinash Gonsalves
Worker Thread is your IO thread? How many worker-threads have you enabled?
If you're flow based, you might want to explore the RSS feature
https://wiki.fd.io/view/VPP/Using_VPP_In_A_Multi-thread_Model



On Wed, Apr 18, 2018 at 9:16 AM,  wrote:

> Thanks Damjan, Avinash
>
> I just want the packet flow always goes directly to the same worker
> thread. And I think that it should use io thread to redirect packet of the
> flow to an appropriate worker thread.
> has that already existed in vpp?  Damjan, Could you tell me how can i do
> that?
>
> I follow Avinash's answer and enable handoff_worker feature,  I find out
> worker thread is my needed io thread also, i am wrong?
> Any help will be highly appreciated!
> 
>
>


Re: [vpp-dev] vpp io Multi-thread Model #vpp

2018-04-17 Thread Avinash Gonsalves
If i'm not mistaken i think the io is supported by a cli, have a look if
this is what you're looking for.
> set interface  handoff  ...

On Tue, Apr 17, 2018 at 8:18 AM,  wrote:

> Hello,
>
> I have watched the series CodeWalkingThrough video on their Youtube
> channel and it show me some configuration about the IO thread,
> But currently, I dig the vpp's source(v18.04). I couldn't find anything
> about the IO thread,
> Does VPP multi-thread model support the IO thread?
> Could you tell me is that IO thread exists in the lastest release? If it
> does, how can I configure and run?
> 
>
>


Re: [vpp-dev] DPDK Crypto Plugin: rte_cryptodev_enqueue_burst does not return Decrypted packets

2017-05-24 Thread Avinash Gonsalves
Hi Sergio,


Right, without the change to dpdk.am, it builds correctly with the
crypto libraries, but the plugin fails to load.
After the change, i'm able to load the plugin, but the enqueue_crypto
call does not return, no crypto error ops counters are incremented
either

Building it using the "make release".


-Avinash



Hi,

So without the change to dpdk.am, does the build completes correctly
(including both crypto libraries) but you fail to load the plugin?
Are you building a VPP release or from master?

Sergio


On Mon, May 22, 2017 at 9:51 AM, Avinash Gonsalves <
avinash.gonsal...@gmail.com> wrote:

> Need help with the  DPDK crypto plugin,
>
>
> After I moved to the DPDK Crypto plugin, and built it with:
>
> *make vpp_uses_dpdk_cryptodev_sw=yes build*
>
>
> On running VPP faced the following error:
>
> *load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)*
>
> *load_one_plugin:142:
> /vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins/dpdk_plugin.so:
> undefined symbol: aesni_gcm128_init*
>
> *load_one_plugin:143: Failed to load plugin 'dpdk_plugin.so'*
>
> *Aborted (core dumped)*
>
>
> I fixed this one by modifying to use a share lib,
>
> --- a/fastpath/vpp/vpp-src/src/plugins/dpdk.am
>
> +++ b/fastpath/vpp/vpp-src/src/plugins/dpdk.am
>
> @@ -17,9 +17,10 @@ vppplugins_LTLIBRARIES += dpdk_plugin.la
>
>  dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:
> libdpdk.a,--no-whole-archive
>
>  if WITH_DPDK_CRYPTO_SW
>
>  dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_
> MB.a,-l:libIPSec_MB.a
>
> -dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_
> crypto.a,-l:libisal_crypto.a
>
> -endif
>
> +dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl,-lisal_crypto
>
> +else
>
>  dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
>
> +endif
>
>
> After this change, the rte_cryptodev_enqueue_burst, does not return
> decrypted packets.
> Any configuration that I'm missing?
>
>
> This is my system configuration:
>
> *No LSB modules are available.*
>
> *Distributor ID:  Ubuntu*
>
> *Description: Ubuntu 16.04.1 LTS*
>
> *Release: 16.04*
>
> *Codename:  xenial*
>
> *# uname -a*
>
> *Linux VPP 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017
> x86_64 x86_64 x86_64 GNU/Linux*
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] DPDK Crypto Plugin: rte_cryptodev_enqueue_burst does not return Decrypted packets

2017-05-22 Thread Avinash Gonsalves
Need help with the  DPDK crypto plugin,


After I moved to the DPDK Crypto plugin, and built it with:

*make vpp_uses_dpdk_cryptodev_sw=yes build*


On running VPP faced the following error:

*load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)*

*load_one_plugin:142:
/vpp/build-root/install-vpp-native/vpp/lib64/vpp_plugins/dpdk_plugin.so:
undefined symbol: aesni_gcm128_init*

*load_one_plugin:143: Failed to load plugin 'dpdk_plugin.so'*

*Aborted (core dumped)*


I fixed this one by modifying to use a share lib,

--- a/fastpath/vpp/vpp-src/src/plugins/dpdk.am

+++ b/fastpath/vpp/vpp-src/src/plugins/dpdk.am

@@ -17,9 +17,10 @@ vppplugins_LTLIBRARIES += dpdk_plugin.la

 dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS)
-Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive

 if WITH_DPDK_CRYPTO_SW

 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a

-dpdk_plugin_la_LDFLAGS +=
-Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a

-endif

+dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl,-lisal_crypto

+else

 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl

+endif


After this change, the rte_cryptodev_enqueue_burst, does not return
decrypted packets.
Any configuration that I'm missing?


This is my system configuration:

*No LSB modules are available.*

*Distributor ID:  Ubuntu*

*Description: Ubuntu 16.04.1 LTS*

*Release: 16.04*

*Codename:  xenial*

*# uname -a*

*Linux VPP 4.4.0-75-generic #96-Ubuntu SMP Thu Apr 20 09:56:33 UTC 2017
x86_64 x86_64 x86_64 GNU/Linux*
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev