Setting the IPv6 Flow Label for TCP connections

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Setting the IPv6 Flow Label for TCP connections

Fernando Gont-2
Folks,

There seems to be a bug in the setting of the IPv6 Flow Label for TCP
connections.

When an incoming connection is received, the SYN/ACK is always sent with
the FL set to zero.

It seems that syn_cache_respond() and syn_cache_add() should be patched,
together with the SYN-cookies generation function (as you need to
remember the FL you used for the SYN/ACK, since the FL is supposed to
remain constant during the life of the connection).

Might be able to produce a patch in a couple of weeks, but mentioned it
in the event anyone else finds some cycles before I do.

Thanks,
--
Fernando Gont
e-mail: [hidden email] || [hidden email]
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1

Reply | Threaded
Open this post in threaded view
|

Re: Setting the IPv6 Flow Label for TCP connections

Christiano F. Haesbaert
On 15 February 2012 13:11, Fernando Gont <[hidden email]> wrote:

> Folks,
>
> There seems to be a bug in the setting of the IPv6 Flow Label for TCP
> connections.
>
> When an incoming connection is received, the SYN/ACK is always sent with
> the FL set to zero.
>
> It seems that syn_cache_respond() and syn_cache_add() should be patched,
> together with the SYN-cookies generation function (as you need to
> remember the FL you used for the SYN/ACK, since the FL is supposed to
> remain constant during the life of the connection).
>
> Might be able to produce a patch in a couple of weeks, but mentioned it
> in the event anyone else finds some cycles before I do.
>

I'm a bit ignorant about IPv6, but that is the same case for TCCLASS,
I had fixed the TOS for ipv4 and I had an untested diff for ipv6. The
thing is

On 15 February 2012 13:11, Fernando Gont <[hidden email]> wrote:

> Folks,
>
> There seems to be a bug in the setting of the IPv6 Flow Label for TCP
> connections.
>
> When an incoming connection is received, the SYN/ACK is always sent with
> the FL set to zero.
>
> It seems that syn_cache_respond() and syn_cache_add() should be patched,
> together with the SYN-cookies generation function (as you need to
> remember the FL you used for the SYN/ACK, since the FL is supposed to
> remain constant during the life of the connection).
>
> Might be able to produce a patch in a couple of weeks, but mentioned it
> in the event anyone else finds some cycles before I do.
>

I'm a bit ignorant about IPv6, but that is the same case for TCCLASS,
I had fixed the TOS for ipv4 and I had an untested diff for ipv6. The
thing is struct ip6_pktopts *opt is NULL in ip6_output() from
syn_cache_respond():

                error = ip6_output(m, NULL /*XXX*/, (struct route_in6 *)ro, 0,
                        (struct ip6_moptions *)0, NULL, NULL);

I didn't want to touch it much since I'm not fully aware of the consequences.

> Thanks,
> --
> Fernando Gont
> e-mail: [hidden email] || [hidden email]
> PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1
>



> Thanks,
> --
> Fernando Gont
> e-mail: [hidden email] || [hidden email]
> PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1

Reply | Threaded
Open this post in threaded view
|

Re: Setting the IPv6 Flow Label for TCP connections

Fernando Gont-2
Hi, Christiano,

On 02/15/2012 01:44 PM, Christiano F. Haesbaert wrote:
>> Might be able to produce a patch in a couple of weeks, but mentioned it
>> in the event anyone else finds some cycles before I do.
>>
>
> I'm a bit ignorant about IPv6, but that is the same case for TCCLASS,
> I had fixed the TOS for ipv4 and I had an untested diff for ipv6. The
> thing is

No. The IPv6 traffic class is similar ot the IPv4 *ToS*.

Thanks,
--
Fernando Gont
e-mail: [hidden email] || [hidden email]
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1