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] -=-=-=-=-=-=-=-=-=-=-=-