[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47321424.1050407@simon.arlott.org.uk>
Date: Wed, 07 Nov 2007 19:38:12 +0000
From: Simon Arlott <simon@...e.lp0.eu>
To: "Templin, Fred L" <Fred.L.Templin@...ing.com>
CC: YOSHIFUJI Hideaki / 吉藤英明
<yoshfuji@...ux-ipv6.org>, netdev@...eo.de, netdev@...r.kernel.org
Subject: Re: [PATCH 02/05] ipv6: RFC4214 Support
On 07/11/07 19:32, Templin, Fred L wrote:
>
>
>> -----Original Message-----
>> From: Simon Arlott [mailto:simon@...e.lp0.eu]
>> Sent: Wednesday, November 07, 2007 11:02 AM
>> To: Templin, Fred L
>> Cc: YOSHIFUJI Hideaki / 吉藤英明; netdev@...eo.de; netdev@...r.kernel.org
>> Subject: Re: [PATCH 02/05] ipv6: RFC4214 Support
>>
>> On 07/11/07 18:52, Templin, Fred L wrote:
>> >> > > > > + eui[0] = 0;
>> >> > > > > +
>> >> > > > > + /* Check for RFC3330 global address ranges */
>> >> > > > > + if (((ipv4 >= 0x01000000) && (ipv4 < 0x0a000000)) ||
>> >> > > > > + ((ipv4 >= 0x0b000000) && (ipv4 < 0x7f000000)) ||
>> >> > > > > + ((ipv4 >= 0x80000000) && (ipv4 < 0xa9fe0000)) ||
>> >> > > > > + ((ipv4 >= 0xa9ff0000) && (ipv4 < 0xac100000)) ||
>> >> > > > > + ((ipv4 >= 0xac200000) && (ipv4 < 0xc0a80000)) ||
>> >> > > > > + ((ipv4 >= 0xc0a90000) && (ipv4 < 0xc6120000)) ||
>> >> > > > > + ((ipv4 >= 0xc6140000) && (ipv4 <
>> >> 0xe0000000))) eui[0] |=
>> >> > > > > 0x2;
>> >> I don't understand.
>> >>
>> >> For example, 1.0.0.11 is valid IPv4 global address.
>> >> In little-endian, this is not in the range of
>> >> 0x00000001 <= addr <= 0x0000000a (addr is 0x0b000001).
>> >
>> > Maybe it is I who did not understand. Can you suggest a
>> clean solution?
>>
>> ((ipv4 & htonl(0xFF000000)) == htonl(0x0A000000)) etc.?
>
> I'm not sure this works when we consider disjoint ranges
> of globally-unique IP prefixes. Do you have a vision for
> how the entire conditional would look like?
You need to match RFC3330 addresses, not anything that isn't.
((ipv4 & htonl(0xFF000000)) == htonl(0x0A000000))
|| ((ipv4 & htonl(0xFFFF0000)) == htonl(0xC0A80000))
|| ((ipv4 & htonl(0xFF000000)) == htonl(0x80000000))
etc.
--
Simon Arlott
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists