Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: Feature request: provide ability to set a global callback function telling libcurl if IPv6 works on the system
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Daniel F via curl-library <curl-library_at_lists.haxx.se>
Date: Tue, 20 Sep 2022 09:00:23 +0200
W dniu 2022-09-20 08:22, Daniel Stenberg via curl-library napisaĆ(a):
> On Mon, 19 Sep 2022, Dmitry Karpov via curl-library wrote:
>
>> Working with IPv6-enabled dual-stack libcurl, I noticed that for some
>> Linux kernel configurations, it takes ~15-30ms more for dual-stack
>> libcurl to establish IPv4 connections than for IPv4 single-stack
>> libcurl. After looking into this issue, it turned out that the
>> regression was caused by Curl_ipv6works() function enabled in IPv6-on
>> builds.
>
> The origin for that IPv6 check was that back in the 90s it happened
> that configure detected IPv6 support but then at runtime curl couldn't
> actually use it.
>
> I dare to suggest that we don't see that kind of system setups and
> behavior anymore. I think maybe the time has come to make instead
> rather assume that it works when built IPv6 enabled. At least I think
> it is worth exploring that route first before we consider adding a new
> API function for it.
This is not true. Application can be built using curl with IPv6 enabled
(e.g. using RedHat 8 base docker image), then executed on another
system/machine with IPv6 disabled. If I remember correctly, attempt to
create IPv6 socket failed with error.
Date: Tue, 20 Sep 2022 09:00:23 +0200
W dniu 2022-09-20 08:22, Daniel Stenberg via curl-library napisaĆ(a):
> On Mon, 19 Sep 2022, Dmitry Karpov via curl-library wrote:
>
>> Working with IPv6-enabled dual-stack libcurl, I noticed that for some
>> Linux kernel configurations, it takes ~15-30ms more for dual-stack
>> libcurl to establish IPv4 connections than for IPv4 single-stack
>> libcurl. After looking into this issue, it turned out that the
>> regression was caused by Curl_ipv6works() function enabled in IPv6-on
>> builds.
>
> The origin for that IPv6 check was that back in the 90s it happened
> that configure detected IPv6 support but then at runtime curl couldn't
> actually use it.
>
> I dare to suggest that we don't see that kind of system setups and
> behavior anymore. I think maybe the time has come to make instead
> rather assume that it works when built IPv6 enabled. At least I think
> it is worth exploring that route first before we consider adding a new
> API function for it.
This is not true. Application can be built using curl with IPv6 enabled
(e.g. using RedHat 8 base docker image), then executed on another
system/machine with IPv6 disabled. If I remember correctly, attempt to
create IPv6 socket failed with error.
-- Regards, Daniel > > -- > > / daniel.haxx.se > | Commercial curl support up to 24x7 is available! > | Private help, bug fixes, support, ports, new features > | https://curl.se/support.html -- Unsubscribe: https://lists.haxx.se/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2022-09-20