Hi Florin,
  Thank you for clarifying.  You said that when the LD_PRELOAD env variable
is set just before I start the application then only that application
syscalls are intercepted. Can you explain how is that mapping is done ( To
determine which application socket API needs to be intercepted)
? For example, I have application A   started initially which is using
standard socket API.  Also, I have application B which I started after
setting the LD_PRELOAD variable and then I have application C which wants
to use standard socket API which I started after application B. So I unset
the env variable.  Can you explain which system calls are intercepted and
which are not...
I would expect Application A to still used traditional socket API (not
intercepted) and even after setting the LD_PRELOAD variable and Application
C to use traditional socket API after unsetting the variable and
Application B to continue to use the LDP path (Socket calls intercepted).
 Is it possible?

Thanks,
Satish K Amara

On Thu, Jul 22, 2021 at 1:29 PM Florin Coras <fcoras.li...@gmail.com> wrote:

> Hi Satish,
>
> If the LD_PRELOAD env variable is only set when starting the application,
> only that application’s syscalls are intercepted. Also note that we don’t
> intercept all syscalls (check ldp.c for more details). So yes, the
> architecture in your diagram should be possible.
>
> Regards,
> Florin
>
> On Jul 22, 2021, at 9:35 AM, satish amara <satishkam...@gmail.com> wrote:
>
> Hi Florin,
>    Thanks!  It mentions setting some config files and env variables. The
> LDP_PATH sets the path  libvcl_ldpreload.so
> I am trying to understand the logistics.  Once I do that does mean all
> networking applications on the host try to use LDP if they can.
> I don't have any application-specific config. Please look into my attached
> diagram.  Do I have the ability to tell only specific apps to use LDP.
> This is for cases where I don't want to rewrite the socket API.
>
> Thanks,
> Satish K Amara
>
>
>
> On Thu, Jul 22, 2021 at 10:36 AM Florin Coras <fcoras.li...@gmail.com>
> wrote:
>
>> Hi Satish,
>>
>> You can find an example of how to use Nginx with LDP here [1]. In general
>> you can find host stack documentation here [2].
>>
>> Regards,
>> Florin
>>
>> [1] https://wiki.fd.io/view/VPP/HostStack/LDP/nginx
>> [2] https://wiki.fd.io/view/VPP/HostStack
>>
>>
>> On Jul 22, 2021, at 7:27 AM, satish amara <satishkam...@gmail.com> wrote:
>>
>> Hi,
>>    I see we have a couple of options for user applications to use the VPP
>> TCP/IP stack. Either by VCL or LD_PRELOAD. I am trying to understand if we
>> can selectively intercept syscalls and injects them into VLS for
>> specific applications. Is LD_PRELOAD can application specific. If so
>> what is the procedure?
>>
>> Thanks,
>>
>>
>> <PacketFlowpng.png>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#19852): https://lists.fd.io/g/vpp-dev/message/19852
Mute This Topic: https://lists.fd.io/mt/84380120/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