Re: [PATCH] SCTP: IPv4 mapped addr not returned in SCTPv6 accept()

From: Vlad Yasevich
Date: Thu Jul 26 2007 - 16:50:35 EST


Dave Johnson wrote:
> Vlad Yasevich writes:
>> Ok. First, this is a different bug, so I would prefer a separate patch.
>> Also, I see the problem and it's ugly, but this solution is not really correct,
>> both conceptually and code wise.
>>
>> Conceptually, the v4 code should never worry about V4-mapped addresses and shouldn't
>> muck with them. They are IPv6 addresses and there should be a clean separation.
>>
>> Code wise, the code in the __sctp_connect() is terrible.
>>
>> Does the attached patch work for you in this case.
>
> yes, with the v4mapped in ipv6.c and your patch, connect and accept
> both work with v4 mapped addresses.
>
> Note instead of:
>
>> + af = sctp_get_af_specific(sa_addr->sa.sa_family);
>> + af->to_sk_daddr(sa_addr, sk);
>
> you should have:
>
>> + af = sctp_get_af_specific(sa_addr->sa_family);
>> + af->to_sk_daddr((union sctp_addr *)sa_addr, sk);
>
>

Feel free to clean it up and submit both patches.

-vlad
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/