You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by jean-frederic clere <jf...@gmail.com> on 2022/08/26 16:22:37 UTC

QUIC status

Hi,

I am a bit lost with QUIC support, basically I built
https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)

And then configure and build ATS, it builds and starts with
CONFIG proxy.config.http.server_ports STRING 4433:quic

But QUIC doesn't seem to work, ATS open the port 4433 but curl can't 
connect it (and my curl seems to be working with different test URL).

What I am missing? Most of the ATS wikis are old and probably out dated.

Anything I can debug?

-- 
Cheers

Jean-Frederic


Re: QUIC status

Posted by Masakazu Kitajo <ma...@apache.org>.
I tried to run the 10-Dev branch with the openssl fork, and it seems like I
broke the implementation for OpenSSL. The branch doesn't work with any
version of OpenSSL now, but the branch should work with Quiche + BoringSSL.
I've been building and running ATS with those almost everyday.

The first thing that came to mind is a setting for the number of UDP
threads. You need at least 1 thread for UDP. ATS will crash if it's not set.
CONFIG proxy.config.udp.threads INT 1

I currently use these commits:
Quiche: b841ca548a3b9fcb14c1ae16aa8b22b683a3646d
BoringSSL: 7f857eace90b67f45c889b9aadadb5789ad9d33c

Thanks,
Masakazu

On Tue, Aug 30, 2022 at 5:54 PM jean-frederic clere <jf...@gmail.com>
wrote:

> On 8/29/22 17:13, Masakazu Kitajo wrote:
> > On master, h3-29 and h3-27 are supported. On the 10-Dev branch, h3 (the
> > final version) and probably h3-29 as well.
> >
> > The 10-Dev branch should work with openssl also, if I didn't break it.
> I'm
> > just not sure if the combination still works. Please let me know if you
> > have any issue on 10-Dev branch.
>
> Using quiche and boringssl I have:
> +++:
> [jfclere@fedora TS]$ bin/traffic_server start
> Traffic Server 10.0.0 Aug 30 2022 10:01:16 dhcp-144-107.gva.redhat.com
> traffic_server: using root directory '/home/jfclere/TS'
> Fatal: UnixUDPConnection.cc:104: failed assertion `t`
> traffic_server: received signal 6 (Aborted)
> traffic_server - STACK TRACE:
> bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0xc3)[0x8a3bc1]
> /lib64/libc.so.6(+0x3ea70)[0x7fd854278a70]
> /lib64/libc.so.6(+0x8ec4c)[0x7fd8542c8c4c]
> /lib64/libc.so.6(raise+0x16)[0x7fd8542789c6]
> /lib64/libc.so.6(abort+0xcf)[0x7fd8542627f4]
>
> /home/jfclere/TS/lib/libtscore.so.10(_Z11ink_warningPKcz+0x0)[0x7fd8549aada1]
>
> /home/jfclere/TS/lib/libtscore.so.10(_Z17ats_base64_encodePKhmPcmPm+0x0)[0x7fd8549a6ace]
>
> bin/traffic_server(_ZN13UDPConnection12bindToThreadEP12ContinuationP7EThread+0x40)[0xc85cbe]
>
> bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0xd14)[0xc89faa]
>
> bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x4a1)[0xc91617]
> bin/traffic_server(_Z21start_HttpProxyServerv+0x145)[0x95c3fe]
> bin/traffic_server(main+0x23f5)[0x907c3a]
> /lib64/libc.so.6(+0x29550)[0x7fd854263550]
> /lib64/libc.so.6(__libc_start_main+0x89)[0x7fd854263609]
> bin/traffic_server(_start+0x25)[0x8a3075]
> Aborted (core dumped)
> +++
> I am on fedora 36, any suggestions on quiche/boringssl version?
>
> Using openssl: https://github.com/quictls/openssl (openssl-3.0.0+quic)
> +++
> jfclere@fedora TS]$ bin/traffic_server start
> Traffic Server 10.0.0 Aug 30 2022 10:36:05 dhcp-144-107.gva.redhat.com
> traffic_server: using root directory '/home/jfclere/TS'
> traffic_server: received signal 11 (Segmentation fault)
> traffic_server - STACK TRACE:
> /lib64/libc.so.6(+0x3ea70)[0x7f8650546a70]
>
> /home/jfclere/TS/lib/libtscore.so.10(ink_atomiclist_push+0x0)[0x7f8651064d60]
>
> bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0x3c3)[0x8f2513]
>
> bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x2da)[0x8f62ea]
> bin/traffic_server(_Z21start_HttpProxyServerv+0xee)[0x5fdc3e]
> bin/traffic_server(main+0x19c0)[0x55a080]
> /lib64/libc.so.6(+0x29550)[0x7f8650531550]
> /lib64/libc.so.6(__libc_start_main+0x89)[0x7f8650531609]
> bin/traffic_server(_start+0x25)[0x573125]
> +++
> Any other openssl version to try?
>
> Note that I had to remove openssl-dev to get configure enabling quic,
> may be there are some mixing up there with openssl versions/locations.
>
> >
> > Thanks,
> > Masaka
> >
> > On Mon, Aug 29, 2022 at 6:46 PM jean-frederic clere <jf...@gmail.com>
> > wrote:
> >
> >> On 8/29/22 04:26, Masakazu Kitajo wrote:
> >>> Hi,
> >>>
> >>> I guess it's because of version mismatch. Our master branch has not
> >>> supported the final versions (0x00000001 and h3). If your client only
> >>> supports the final versions, it's incompatible with ATS master.
> >>>
> >>> Maybe you can try our 10-Dev branch. The branch has support for the
> final
> >>> versions. I added the support when we switched to using quiche as QUIC
> >>> implementation and I haven't built ATS with openssl since then, so I'm
> >> not
> >>> sure if it really works with openssl now.
> >>
> >> OK I will retry with quiche and 10-Dev, I was trying openssl and master.
> >>
> >> My client is curl, what version traffic-server is supporting? h3-29?
> >>
> >>>
> >>> Thanks,
> >>> Masakazu
> >>>
> >>>
> >>> On Sat, Aug 27, 2022 at 1:22 AM jean-frederic clere <jfclere@gmail.com
> >
> >>> wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I am a bit lost with QUIC support, basically I built
> >>>> https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)
> >>>>
> >>>> And then configure and build ATS, it builds and starts with
> >>>> CONFIG proxy.config.http.server_ports STRING 4433:quic
> >>>>
> >>>> But QUIC doesn't seem to work, ATS open the port 4433 but curl can't
> >>>> connect it (and my curl seems to be working with different test URL).
> >>>>
> >>>> What I am missing? Most of the ATS wikis are old and probably out
> dated.
> >>>>
> >>>> Anything I can debug?
> >>>>
> >>>> --
> >>>> Cheers
> >>>>
> >>>> Jean-Frederic
> >>>>
> >>>>
> >>>
> >>
> >>
> >> --
> >> Cheers
> >>
> >> Jean-Frederic
> >>
> >>
> >
>
>
> --
> Cheers
>
> Jean-Frederic
>
>

Re: QUIC status

Posted by jean-frederic clere <jf...@gmail.com>.
On 8/30/22 10:54, jean-frederic clere wrote:
> On 8/29/22 17:13, Masakazu Kitajo wrote:
>> On master, h3-29 and h3-27 are supported. On the 10-Dev branch, h3 (the
>> final version) and probably h3-29 as well.
>>
>> The 10-Dev branch should work with openssl also, if I didn't break it. 
>> I'm
>> just not sure if the combination still works. Please let me know if you
>> have any issue on 10-Dev branch.
> 
> Using quiche and boringssl I have:
> +++:
> [jfclere@fedora TS]$ bin/traffic_server start
> Traffic Server 10.0.0 Aug 30 2022 10:01:16 dhcp-144-107.gva.redhat.com
> traffic_server: using root directory '/home/jfclere/TS'
> Fatal: UnixUDPConnection.cc:104: failed assertion `t`
> traffic_server: received signal 6 (Aborted)
> traffic_server - STACK TRACE:
> bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0xc3)[0x8a3bc1]
> /lib64/libc.so.6(+0x3ea70)[0x7fd854278a70]
> /lib64/libc.so.6(+0x8ec4c)[0x7fd8542c8c4c]
> /lib64/libc.so.6(raise+0x16)[0x7fd8542789c6]
> /lib64/libc.so.6(abort+0xcf)[0x7fd8542627f4]
> /home/jfclere/TS/lib/libtscore.so.10(_Z11ink_warningPKcz+0x0)[0x7fd8549aada1] 
> 
> /home/jfclere/TS/lib/libtscore.so.10(_Z17ats_base64_encodePKhmPcmPm+0x0)[0x7fd8549a6ace] 
> 
> bin/traffic_server(_ZN13UDPConnection12bindToThreadEP12ContinuationP7EThread+0x40)[0xc85cbe] 
> 
> bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0xd14)[0xc89faa] 
> 
> bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x4a1)[0xc91617] 
> 
> bin/traffic_server(_Z21start_HttpProxyServerv+0x145)[0x95c3fe]
> bin/traffic_server(main+0x23f5)[0x907c3a]
> /lib64/libc.so.6(+0x29550)[0x7fd854263550]
> /lib64/libc.so.6(__libc_start_main+0x89)[0x7fd854263609]
> bin/traffic_server(_start+0x25)[0x8a3075]
> Aborted (core dumped)
> +++
> I am on fedora 36, any suggestions on quiche/boringssl version?
> 
> Using openssl: https://github.com/quictls/openssl (openssl-3.0.0+quic)
> +++
> jfclere@fedora TS]$ bin/traffic_server start
> Traffic Server 10.0.0 Aug 30 2022 10:36:05 dhcp-144-107.gva.redhat.com
> traffic_server: using root directory '/home/jfclere/TS'
> traffic_server: received signal 11 (Segmentation fault)
> traffic_server - STACK TRACE:
> /lib64/libc.so.6(+0x3ea70)[0x7f8650546a70]
> /home/jfclere/TS/lib/libtscore.so.10(ink_atomiclist_push+0x0)[0x7f8651064d60] 
> 
> bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0x3c3)[0x8f2513] 
> 
> bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x2da)[0x8f62ea] 
> 
> bin/traffic_server(_Z21start_HttpProxyServerv+0xee)[0x5fdc3e]
> bin/traffic_server(main+0x19c0)[0x55a080]
> /lib64/libc.so.6(+0x29550)[0x7f8650531550]
> /lib64/libc.so.6(__libc_start_main+0x89)[0x7f8650531609]
> bin/traffic_server(_start+0x25)[0x573125]
> +++
> Any other openssl version to try?

I have retried with boringSSL 3.0.5+quic and 10-Dev, my basic tests are 
working (testing with curl)

Cheers

Jean-Frederic


Re: QUIC status

Posted by jean-frederic clere <jf...@gmail.com>.
On 8/29/22 17:13, Masakazu Kitajo wrote:
> On master, h3-29 and h3-27 are supported. On the 10-Dev branch, h3 (the
> final version) and probably h3-29 as well.
> 
> The 10-Dev branch should work with openssl also, if I didn't break it. I'm
> just not sure if the combination still works. Please let me know if you
> have any issue on 10-Dev branch.

Using quiche and boringssl I have:
+++:
[jfclere@fedora TS]$ bin/traffic_server start
Traffic Server 10.0.0 Aug 30 2022 10:01:16 dhcp-144-107.gva.redhat.com
traffic_server: using root directory '/home/jfclere/TS'
Fatal: UnixUDPConnection.cc:104: failed assertion `t`
traffic_server: received signal 6 (Aborted)
traffic_server - STACK TRACE:
bin/traffic_server(_Z19crash_logger_invokeiP9siginfo_tPv+0xc3)[0x8a3bc1]
/lib64/libc.so.6(+0x3ea70)[0x7fd854278a70]
/lib64/libc.so.6(+0x8ec4c)[0x7fd8542c8c4c]
/lib64/libc.so.6(raise+0x16)[0x7fd8542789c6]
/lib64/libc.so.6(abort+0xcf)[0x7fd8542627f4]
/home/jfclere/TS/lib/libtscore.so.10(_Z11ink_warningPKcz+0x0)[0x7fd8549aada1]
/home/jfclere/TS/lib/libtscore.so.10(_Z17ats_base64_encodePKhmPcmPm+0x0)[0x7fd8549a6ace]
bin/traffic_server(_ZN13UDPConnection12bindToThreadEP12ContinuationP7EThread+0x40)[0xc85cbe]
bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0xd14)[0xc89faa]
bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x4a1)[0xc91617]
bin/traffic_server(_Z21start_HttpProxyServerv+0x145)[0x95c3fe]
bin/traffic_server(main+0x23f5)[0x907c3a]
/lib64/libc.so.6(+0x29550)[0x7fd854263550]
/lib64/libc.so.6(__libc_start_main+0x89)[0x7fd854263609]
bin/traffic_server(_start+0x25)[0x8a3075]
Aborted (core dumped)
+++
I am on fedora 36, any suggestions on quiche/boringssl version?

Using openssl: https://github.com/quictls/openssl (openssl-3.0.0+quic)
+++
jfclere@fedora TS]$ bin/traffic_server start
Traffic Server 10.0.0 Aug 30 2022 10:36:05 dhcp-144-107.gva.redhat.com
traffic_server: using root directory '/home/jfclere/TS'
traffic_server: received signal 11 (Segmentation fault)
traffic_server - STACK TRACE:
/lib64/libc.so.6(+0x3ea70)[0x7f8650546a70]
/home/jfclere/TS/lib/libtscore.so.10(ink_atomiclist_push+0x0)[0x7f8651064d60]
bin/traffic_server(_ZN15UDPNetProcessor7UDPBindEP12ContinuationPK8sockaddriii+0x3c3)[0x8f2513]
bin/traffic_server(_ZN16QUICNetProcessor11main_acceptEP12ContinuationiRKN12NetProcessor13AcceptOptionsE+0x2da)[0x8f62ea]
bin/traffic_server(_Z21start_HttpProxyServerv+0xee)[0x5fdc3e]
bin/traffic_server(main+0x19c0)[0x55a080]
/lib64/libc.so.6(+0x29550)[0x7f8650531550]
/lib64/libc.so.6(__libc_start_main+0x89)[0x7f8650531609]
bin/traffic_server(_start+0x25)[0x573125]
+++
Any other openssl version to try?

Note that I had to remove openssl-dev to get configure enabling quic, 
may be there are some mixing up there with openssl versions/locations.

> 
> Thanks,
> Masaka
> 
> On Mon, Aug 29, 2022 at 6:46 PM jean-frederic clere <jf...@gmail.com>
> wrote:
> 
>> On 8/29/22 04:26, Masakazu Kitajo wrote:
>>> Hi,
>>>
>>> I guess it's because of version mismatch. Our master branch has not
>>> supported the final versions (0x00000001 and h3). If your client only
>>> supports the final versions, it's incompatible with ATS master.
>>>
>>> Maybe you can try our 10-Dev branch. The branch has support for the final
>>> versions. I added the support when we switched to using quiche as QUIC
>>> implementation and I haven't built ATS with openssl since then, so I'm
>> not
>>> sure if it really works with openssl now.
>>
>> OK I will retry with quiche and 10-Dev, I was trying openssl and master.
>>
>> My client is curl, what version traffic-server is supporting? h3-29?
>>
>>>
>>> Thanks,
>>> Masakazu
>>>
>>>
>>> On Sat, Aug 27, 2022 at 1:22 AM jean-frederic clere <jf...@gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I am a bit lost with QUIC support, basically I built
>>>> https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)
>>>>
>>>> And then configure and build ATS, it builds and starts with
>>>> CONFIG proxy.config.http.server_ports STRING 4433:quic
>>>>
>>>> But QUIC doesn't seem to work, ATS open the port 4433 but curl can't
>>>> connect it (and my curl seems to be working with different test URL).
>>>>
>>>> What I am missing? Most of the ATS wikis are old and probably out dated.
>>>>
>>>> Anything I can debug?
>>>>
>>>> --
>>>> Cheers
>>>>
>>>> Jean-Frederic
>>>>
>>>>
>>>
>>
>>
>> --
>> Cheers
>>
>> Jean-Frederic
>>
>>
> 


-- 
Cheers

Jean-Frederic


Re: QUIC status

Posted by Masakazu Kitajo <ma...@apache.org>.
On master, h3-29 and h3-27 are supported. On the 10-Dev branch, h3 (the
final version) and probably h3-29 as well.

The 10-Dev branch should work with openssl also, if I didn't break it. I'm
just not sure if the combination still works. Please let me know if you
have any issue on 10-Dev branch.

Thanks,
Masaka

On Mon, Aug 29, 2022 at 6:46 PM jean-frederic clere <jf...@gmail.com>
wrote:

> On 8/29/22 04:26, Masakazu Kitajo wrote:
> > Hi,
> >
> > I guess it's because of version mismatch. Our master branch has not
> > supported the final versions (0x00000001 and h3). If your client only
> > supports the final versions, it's incompatible with ATS master.
> >
> > Maybe you can try our 10-Dev branch. The branch has support for the final
> > versions. I added the support when we switched to using quiche as QUIC
> > implementation and I haven't built ATS with openssl since then, so I'm
> not
> > sure if it really works with openssl now.
>
> OK I will retry with quiche and 10-Dev, I was trying openssl and master.
>
> My client is curl, what version traffic-server is supporting? h3-29?
>
> >
> > Thanks,
> > Masakazu
> >
> >
> > On Sat, Aug 27, 2022 at 1:22 AM jean-frederic clere <jf...@gmail.com>
> > wrote:
> >
> >> Hi,
> >>
> >> I am a bit lost with QUIC support, basically I built
> >> https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)
> >>
> >> And then configure and build ATS, it builds and starts with
> >> CONFIG proxy.config.http.server_ports STRING 4433:quic
> >>
> >> But QUIC doesn't seem to work, ATS open the port 4433 but curl can't
> >> connect it (and my curl seems to be working with different test URL).
> >>
> >> What I am missing? Most of the ATS wikis are old and probably out dated.
> >>
> >> Anything I can debug?
> >>
> >> --
> >> Cheers
> >>
> >> Jean-Frederic
> >>
> >>
> >
>
>
> --
> Cheers
>
> Jean-Frederic
>
>

Re: QUIC status

Posted by jean-frederic clere <jf...@gmail.com>.
On 8/29/22 04:26, Masakazu Kitajo wrote:
> Hi,
> 
> I guess it's because of version mismatch. Our master branch has not
> supported the final versions (0x00000001 and h3). If your client only
> supports the final versions, it's incompatible with ATS master.
> 
> Maybe you can try our 10-Dev branch. The branch has support for the final
> versions. I added the support when we switched to using quiche as QUIC
> implementation and I haven't built ATS with openssl since then, so I'm not
> sure if it really works with openssl now.

OK I will retry with quiche and 10-Dev, I was trying openssl and master.

My client is curl, what version traffic-server is supporting? h3-29?

> 
> Thanks,
> Masakazu
> 
> 
> On Sat, Aug 27, 2022 at 1:22 AM jean-frederic clere <jf...@gmail.com>
> wrote:
> 
>> Hi,
>>
>> I am a bit lost with QUIC support, basically I built
>> https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)
>>
>> And then configure and build ATS, it builds and starts with
>> CONFIG proxy.config.http.server_ports STRING 4433:quic
>>
>> But QUIC doesn't seem to work, ATS open the port 4433 but curl can't
>> connect it (and my curl seems to be working with different test URL).
>>
>> What I am missing? Most of the ATS wikis are old and probably out dated.
>>
>> Anything I can debug?
>>
>> --
>> Cheers
>>
>> Jean-Frederic
>>
>>
> 


-- 
Cheers

Jean-Frederic


Re: QUIC status

Posted by Masakazu Kitajo <ma...@apache.org>.
Hi,

I guess it's because of version mismatch. Our master branch has not
supported the final versions (0x00000001 and h3). If your client only
supports the final versions, it's incompatible with ATS master.

Maybe you can try our 10-Dev branch. The branch has support for the final
versions. I added the support when we switched to using quiche as QUIC
implementation and I haven't built ATS with openssl since then, so I'm not
sure if it really works with openssl now.

Thanks,
Masakazu


On Sat, Aug 27, 2022 at 1:22 AM jean-frederic clere <jf...@gmail.com>
wrote:

> Hi,
>
> I am a bit lost with QUIC support, basically I built
> https://github.com/quictls/openssl (branch: openssl-3.0.0+quic)
>
> And then configure and build ATS, it builds and starts with
> CONFIG proxy.config.http.server_ports STRING 4433:quic
>
> But QUIC doesn't seem to work, ATS open the port 4433 but curl can't
> connect it (and my curl seems to be working with different test URL).
>
> What I am missing? Most of the ATS wikis are old and probably out dated.
>
> Anything I can debug?
>
> --
> Cheers
>
> Jean-Frederic
>
>