Hi Bill, 

Here’s the patch [1]. 

Regards,
Florin

[1] https://gerrit.fd.io/r/c/vpp/+/29887

> On Nov 11, 2020, at 11:53 AM, Bill Vaughan <billvaug...@gmail.com> wrote:
> 
> Glad I could help.  I have never used gerrit so please go ahead and submit 
> the patch.
> 
> Thanks,
> -Bill
> 
> On Wed, Nov 11, 2020 at 2:09 PM Florin Coras <fcoras.li...@gmail.com 
> <mailto:fcoras.li...@gmail.com>> wrote:
> Hi Bill, 
> 
> Welcome to the project and thanks for the report! Agreed, that is a bug in 
> non-default scenarios like yours where custom fifo tuning is required. Would 
> you be willing to push a patch or should I do it?
> 
> Regards,
> Florin
> 
> 
>> On Nov 11, 2020, at 10:33 AM, Bill Vaughan <billvaug...@gmail.com 
>> <mailto:billvaug...@gmail.com>> wrote:
>> 
>> Hi all,
>> 
>> I am working on a custom VPP plugin and found what I think may be a bug in 
>> application_worker.c. I don't really have a question, just wanted to point 
>> this out in case it really is a bug. There is always a chance I am doing 
>> something wrong, but everything seems to be working fine with the fix.   I 
>> am running the latest 2009.
>> 
>> My plugin, among other things, accepts and initiates TCP connections (it has 
>> client and server functionality).  I am using vnet directly via 
>> vnet_application_attach() , vnet_connect(), etc. 
>> 
>> Development is going great so far but one of the things I wanted to do on 
>> the client and server side is custom fifo handling (via the custom fifo 
>> callback).  That works fine on the server side, but I was never getting the 
>> callback on the client side.  I am registering both the client and server as 
>> a builtin app (APP_OPTIONS_FLAGS_IS_BUILTIN), but not using the proxy flag.
>> 
>> To get the client side to call my custom fifo handler, I had to make the 
>> following change. application_is_builtin_proxy() returns false so the fifo 
>> callback flag was never getting set.
>> 
>> 
>> >git diff -U7 ../../src/vnet/session/application_worker.c
>> diff --git a/src/vnet/session/application_worker.c 
>> b/src/vnet/session/application_worker.c
>> index 17aeb57d4..ec4a97852 100644
>> --- a/src/vnet/session/application_worker.c
>> +++ b/src/vnet/session/application_worker.c
>> @@ -383,24 +383,27 @@ app_worker_accept_notify (app_worker_t * app_wrk, 
>> session_t * s)
>> 
>>  int
>>  app_worker_init_connected (app_worker_t * app_wrk, session_t * s)
>>  {
>>    application_t *app = application_get (app_wrk->app_index);
>>    segment_manager_t *sm;
>> 
>> +
>> +  if ( app->cb_fns.fifo_tuning_callback )
>> +    {
>> +      s->flags |= SESSION_F_CUSTOM_FIFO_TUNING;
>> +    }
>> +
>>    /* Allocate fifos for session, unless the app is a builtin proxy */
>>    if (!application_is_builtin_proxy (app))
>>      {
>>        sm = app_worker_get_connect_segment_manager (app_wrk);
>>        return app_worker_alloc_session_fifos (sm, s);
>>      }
>> 
>> -  if (app->cb_fns.fifo_tuning_callback)
>> -    s->flags |= SESSION_F_CUSTOM_FIFO_TUNING;
>> -
>>    return 0;
>>  }
>> 
>> Thanks for maintaining a great project.
>> 
>> -Bill
>> 
>> 
>> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#18000): https://lists.fd.io/g/vpp-dev/message/18000
Mute This Topic: https://lists.fd.io/mt/78189700/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to