On Sat, Mar 21, 2009 at 1:03 PM, Henning Brauer <lists-open...@bsws.de>
wrote:
> * Garry Dolley <gdol...@arpnetworks.com> [2009-03-21 20:32]:
>> > > If everyone continues to avoid IPv6, then it will remain less than
>> > > useful. I understand IPv6 has less than 1% uptake at the moment, but I
>> > > don't understand why employing it (in addition to IPv4 NATing hacks)
is
>> > > "about the least smart" thing an ISP could do?
>> > >
>> > > Is it a cost issue?
>> >
>> > no, a lack of brain issue. v6 is broken by design in a thousand ways
>> > and way worse than you can imagine. of course it has been detailed
>> > here numerous times.
>>
>> So what are you going to do when all of IPv4 is exhausted?  Do you
>> have all the IPs you need so it won't matter?
>
> personally? yes I have enough as far as I can tell today.
>
> globally? I fear we are going to see a v6-- which still has way too
> much shit in it. That is the way v6 standards (hey, there is not even a
> STD RFC for v6 today!) went in the previous years, cutting some crap.
> but waaaaaaaaayyyyy too much is still there, and some issues are
> fundamental.
>
> whoever claims v6 would be any good has never written network code
> dealing with it.
>
> hey, compare these two which do the same, one for v4 and one for v6:
>
> u_int8_t
> mask2prefixlen(in_addr_t ina)
> {
>        if (ina == 0)
>                return (0);
>        else
>                return (33 - ffs(ntohl(ina)));
> }
>
> u_int8_t
> mask2prefixlen6(struct sockaddr_in6 *sa_in6)
> {
>        u_int8_t         l = 0, i, len;
>
>        /*
>         * sin6_len is the size of the sockaddr so substract the offset of
>         * the possibly truncated sin6_addr struct.
>         */
>        len = sa_in6->sin6_len -
>            (u_int8_t)(&((struct sockaddr_in6 *)NULL)->sin6_addr);
>        for (i = 0; i < len; i++) {
>                /* this "beauty" is adopted from sbin/route/show.c ... */
>                switch (sa_in6->sin6_addr.s6_addr[i]) {
>                case 0xff:
>                        l += 8;
>                        break;
>                case 0xfe:
>                        l += 7;
>                        return (l);
>                case 0xfc:
>                        l += 6;
>                        return (l);
>                case 0xf8:
>                        l += 5;
>                        return (l);
>                case 0xf0:
>                        l += 4;
>                        return (l);
>                case 0xe0:
>                        l += 3;
>                        return (l);
>                case 0xc0:
>                        l += 2;
>                        return (l);
>                case 0x80:
>                        l += 1;
>                        return (l);
>                case 0x00:
>                        return (l);
>                default:
>                        fatalx("non continguous inet6 netmask");
>                }
>        }
>
>        return (l);
> }
>
> don't get me started on the 160bit addresses (128 + 32 scope ID) which
> fuck up all alignment.
>
> just v4 with addresses extended to 64bit (that is still an integer!)
> would have been sweet, with minor adjustments/additions like hopcount
> instead of ttl. maybe better crypto integration than ipsec today (v6
> doesn't solve that problem despite the claims it would either).


But then network admins would have been able to keep track of hosts in
their own networks.

;)

-B

Reply via email to