State of IPv6 on Debian GNU/kFreeBSD

View: New views
3 Messages — Rating Filter:   Alert me  

State of IPv6 on Debian GNU/kFreeBSD

by Axel Beckert :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I just tried to get an SixXS tunnel to my kFreeBSD box using aiccu.

Short summary:

I got it working, but many important IPv6 tools/packages are badly
broken even if the IPv4 counterparts works. Some bug reports exist,
some not, others claim to be fixed, but are still present.

Details:

First I had to patch aiccu slightly to build on kFreeBSD. The patch is
included in the newest aiccu package (which therefore is now also
available on kFreeBSD :-) and upstream also plans to include the fix
in the next (major) release. (See the "Known bugs and issues" section
on http://www.sixxs.net/tools/aiccu/history/)

After that I have a working IPv6 tunnel:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        inet6 fe80::223:54ff:fec7:560a%tun0 prefixlen 64 scopeid 0x3
        inet6 fe80::40e0:ff00:131:2%tun0 prefixlen 64 scopeid 0x3
        inet6 2001:41e0:ff00:131::2 --> 2001:41e0:ff00:131::1
        prefixlen 128
        Opened by PID 84689

>From the inside, I can't ping6, because ping6 just doesn't work, not
even with ping6ing localhost:

!756 Z258 ?0 L1 root@metisse:ttyp0 (-zsh) 10:50:24 [~] # ping6 ::1
!757 Z259 ?1 L1 root@metisse:ttyp0 (-zsh) 10:52:25 [~] #
           ^-- return code

Details and bug report at http://bugs.debian.org/552138 since that's
obviously a bug.

If I ping6 2001:41e0:ff00:131::2 from the outside, I see the pings
coming in in tcpdump.

But they don't come back -- probably due to a missing default route
for IPv6:

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
[...]

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
2001:41e0:ff00:131::1             link#3                        UHL        tun0
2001:41e0:ff00:131::2             link#3                        UHL         lo0
fe80::%re0/64                     link#1                        UC          re0
fe80::223:54ff:fec7:560a%re0      00:23:54:c7:56:0a             UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#2                        UHL         lo0
fe80::223:54ff:fec7:560a%tun0     link#3                        UHL         lo0
fe80::40e0:ff00:131:2%tun0        link#3                        UHL         lo0
ff01:1::/32                       link#1                        UC          re0
ff01:2::/32                       ::1                           UC          lo0
ff01:3::/32                       link#3                        UC         tun0
ff02::%re0/32                     link#1                        UC          re0
ff02::%lo0/32                     ::1                           UC          lo0
ff02::%tun0/32                    link#3                        UC         tun0

If I try to add a default route as I would on FreeBSD and according to
route(8), I get the following error message:

!758 Z260 ?68 L1 root@metisse:ttyp0 (-zsh) 10:57:43 [~] # route add -inet6 -net ::/0 2001:41e0:ff00:131::1
route: writing to routing socket: Invalid argument
!759 Z261 ?1 L1 root@metisse:ttyp0 (-zsh) 10:57:47 [~] #

If I do the same but using the /lib/freebsd/route instead /sbin/route
(which is a shell script wrapper around /lib/freebsd/route), it work's
like a charm:

!767 Z269 ?0 L1 root@metisse:ttyp0 (-zsh) 11:00:04 [~] # /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
add net ::/0: gateway 2001:41e0:ff00:131::1
!768 Z270 ?0 L1 root@metisse:ttyp0 (-zsh) 11:00:18 [~] # netstat -rn
Routing tables

Internet:
[...]

Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           2001:41e0:ff00:131::1         UGS        tun0
::1                               ::1                           UHL         lo0
[...]
!769 Z271 ?0 L1 root@metisse:ttyp0 (-zsh) 11:00:46 [~] #

Looking into /usr/sbin/route I noticed that it's a wrapper around
/lib/freebsd/route. If I use that one directly it works as charm:

/lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
route: writing to routing socket: File exists
add net ::/0: gateway 2001:41e0:ff00:131::1: route already in table

!514 Z3 ?0 L1 root@metisse:ttyp0 (-zsh) 10:16:11 [~] # /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
route: writing to routing socket: File exists
add net ::/0: gateway 2001:41e0:ff00:131::1: route already in table
!515 Z4 ?1 L1 root@metisse:ttyp0 (-zsh) 10:18:01 [~] # /lib/freebsd/route del -inet6 -net ::/0 2001:41e0:ff00:131::1
del net ::/0: gateway 2001:41e0:ff00:131::1
!516 Z5 ?0 L1 root@metisse:ttyp0 (-zsh) 10:18:54 [~] # /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
add net ::/0: gateway 2001:41e0:ff00:131::1
!517 Z6 ?0 L1 root@metisse:ttyp0 (-zsh) 10:18:57 [~] #

So the wrapper does not to support IPv6.

Anyone working on this? If not I would try to get IPv6 support into
it, but a comment about the reason for and the ideas behind the
wrapper from its author would be helpful.

Another thing I noticed is that traceroute6 (not tcptraceroute6) is
missing on kfreebsd. Reason seems to be a FTBFS which is said to be
closed with 2.0.7-1 (according to http://bugs.debian.org/403768) but
according to https://buildd.debian.org/pkg.cgi?pkg=traceroute and my
installation still is present since then:

kfreebsd-i386:

!522 Z11 ?0 L1 root@metisse:ttyp0 (-zsh) 10:23:23 [~] # apt-cache policy traceroute
traceroute:
  Installed: 1.4a12-18
  Candidate: 1.4a12-18
  Version table:
 *** 1.4a12-18 0
        990 http://debian.ethz.ch unstable/main Packages <--- this is probably the old debian-ports archive
        100 /var/lib/dpkg/status
!523 Z12 ?0 L1 root@metisse:ttyp0 (-zsh) 10:26:05 [~] #    

amd64:

3/0/0 root@kiva6:pts/2 10:23:33 [~] # apt-cache policy traceroute
traceroute:
  Installed: 2.0.12-3
  Candidate: 2.0.12-3
  Version table:
 *** 2.0.12-3 0
        990 http://ftp.ch.debian.org sid/main Packages
        600 http://ftp.ch.debian.org testing/main Packages
        100 /var/lib/dpkg/status
     2.0.11-2 0
        400 http://ftp.ch.debian.org stable/main Packages
     1.4a12-21 0
        500 http://ftp.ch.debian.org oldstable/main Packages
4/0/0 root@kiva6:pts/2 10:26:12 [~] #

What's the current policy regarding FTBFS on kfreebsd? Report them?
Reopen them if they claim to be fixed, but don't report new ones?

                Regards, Axel
--
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe@...  (Mail)
 X   See http://www.asciiribbon.org/              | abe@... (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://noone.org/abe/ (Web)


--
To UNSUBSCRIBE, email to debian-bsd-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: State of IPv6 on Debian GNU/kFreeBSD

by Marcus Stoegbauer-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Axel Beckert wrote:
> I got it working, but many important IPv6 tools/packages are badly
> broken even if the IPv4 counterparts works. Some bug reports exist,
> some not, others claim to be fixed, but are still present.

Yep, I noticed the same over the weekend when I installed kFreeBSD as a
test.

>>From the inside, I can't ping6, because ping6 just doesn't work, not
> even with ping6ing localhost:
>
> !756 Z258 ?0 L1 root@metisse:ttyp0 (-zsh) 10:50:24 [~] # ping6 ::1
> !757 Z259 ?1 L1 root@metisse:ttyp0 (-zsh) 10:52:25 [~] #
>            ^-- return code
>
> Details and bug report at http://bugs.debian.org/552138 since that's
> obviously a bug.

Yes, I see the same thing, including the "Protocol not available" error
mentioned in the bug report.

> Looking into /usr/sbin/route I noticed that it's a wrapper around
> /lib/freebsd/route. If I use that one directly it works as charm:
>
> /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
> route: writing to routing socket: File exists
> add net ::/0: gateway 2001:41e0:ff00:131::1: route already in table
>
> !514 Z3 ?0 L1 root@metisse:ttyp0 (-zsh) 10:16:11 [~] # /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
> route: writing to routing socket: File exists
> add net ::/0: gateway 2001:41e0:ff00:131::1: route already in table
> !515 Z4 ?1 L1 root@metisse:ttyp0 (-zsh) 10:18:01 [~] # /lib/freebsd/route del -inet6 -net ::/0 2001:41e0:ff00:131::1
> del net ::/0: gateway 2001:41e0:ff00:131::1
> !516 Z5 ?0 L1 root@metisse:ttyp0 (-zsh) 10:18:54 [~] # /lib/freebsd/route add -inet6 -net ::/0 2001:41e0:ff00:131::1
> add net ::/0: gateway 2001:41e0:ff00:131::1
> !517 Z6 ?0 L1 root@metisse:ttyp0 (-zsh) 10:18:57 [~] #
>
> So the wrapper does not to support IPv6.

I also stumbled over that and shook my fist a couple of times when I
noticed the pretty basic wrapper in place, yeah.

In addition, ifup is broken when using the inet6 address family. There
seems to be missing at least one "inet6" missing for the ifconfig statement.

My current workaround is using the "up" statement in address family inet
to add the v6 address and the default route (with /lib/freebsd/route of
course).

> Another thing I noticed is that traceroute6 (not tcptraceroute6) is
> missing on kfreebsd. Reason seems to be a FTBFS which is said to be
> closed with 2.0.7-1 (according to http://bugs.debian.org/403768) but
> according to https://buildd.debian.org/pkg.cgi?pkg=traceroute and my
> installation still is present since then:

My installation doesn't have a traceroute6 package but suggests to
install ndisc6 instead. And with that comes:

evil:/var/log# update-alternatives --list traceroute6
/usr/bin/rltraceroute6

which is actually working.

   Marcus


--
To UNSUBSCRIBE, email to debian-bsd-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: State of IPv6 on Debian GNU/kFreeBSD

by Axel Beckert :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Marcus,

On Wed, Oct 28, 2009 at 01:14:40PM +0100, Marcus Stoegbauer wrote:
> In addition, ifup is broken when using the inet6 address family. There
> seems to be missing at least one "inet6" missing for the ifconfig statement.

Ok, that's important to fix, of course, too.

> > Another thing I noticed is that traceroute6 (not tcptraceroute6) is
> > missing on kfreebsd. Reason seems to be a FTBFS which is said to be
> > closed with 2.0.7-1 (according to http://bugs.debian.org/403768) but
> > according to https://buildd.debian.org/pkg.cgi?pkg=traceroute and my
> > installation still is present since then:
>
> My installation doesn't have a traceroute6 package but suggests to
> install ndisc6 instead. And with that comes:
>
> evil:/var/log# update-alternatives --list traceroute6
> /usr/bin/rltraceroute6

Ah, saw that one in "apt-file search traceroute" but didn't expect it
to be an alternative (as in /etc/alternatives) for traceroute6.

Thanks for that hint.

                Regards, Axel
--
/~\  Plain Text Ribbon Campaign                   | Axel Beckert
\ /  Say No to HTML in E-Mail and News            | abe@...  (Mail)
 X   See http://www.asciiribbon.org/              | abe@... (Mail+Jabber)
/ \  I love long mails: http://email.is-not-s.ms/ | http://noone.org/abe/ (Web)


--
To UNSUBSCRIBE, email to debian-bsd-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...