Things you didn’t known about IPv6 link-local address

I regained interest in trying IPv6 at home since my ISP provides the option to switch to IPv6 (also some might say it’s not IPv6 to the end user as it is intended in IPv6 design documents). But before ticking the appropriate box on the router interface, I wanted to give a shot at serverless network configuration.

I’m running ftp, nfs, afp, ntp, http, smtp, imap and some other servers at home and as I have a couple of machines to run that on, I soon needed a dns and a ldap server for good measure. For reasons I won’t detail, I wanted to give a shot at dns-less (bind) network but still keep name resolution with mdns (avahi, yay auto-discovery of services).

Now to get back to IPv6, I’ve seen MacOS X do a couple of things out of the box with link-local addresses and naive as I am at times, I thought GNU/Linux would do the same. I’ve had IPv6 enabled for a long time in my kernels but never managed to ping others machines without starting a dhcp v6 server (radvd). So digging a bit, I soon discovered that basic tools you find on a GNU/Linux system are useless with link-local address. Take ping6 for example, you want to ping a host you have the address of so you type:

$ ping6 fe80::21b:63ff:feab:e6a6
connect: Invalid argument

Meh ??? It’s a valid address, WTF is it telling me. Google to the rescue, you have to specify the network interface you want to use to send the packet. It’s ok ping6 has a -I parameter that allows you to select the one you want, and you also find that there is a weird syntax that allows you to do that inline:

$ ping6 -I eth0 fe80::21b:63ff:feab:e6a6
PING fe80::21b:63ff:feab:e6a6%eth0(fe80::21b:63ff:feab:e6a6) 56 data bytes
64 bytes from fe80::21b:63ff:feab:e6a6: icmp_seq=1 ttl=64 time=0.041 ms
$ ping6 fe80::21b:63ff:feab:e6a6%eth0
PING fe80::21b:63ff:feab:e6a6%eth0(fe80::21b:63ff:feab:e6a6) 56 data bytes
64 bytes from fe80::21b:63ff:feab:e6a6: icmp_seq=1 ttl=64 time=0.041 ms

You’re all happy now that you sent your first ping over IPv6, now since avahi tells the local world about this machine’s address, you want to try using it’s hostname:

$ ping6 -I eth0 shinobu.local
PING shinobu.local(shinobu.local) from fe80::21b:63ff:feab:e6a6 eth0: 56 data bytes
64 bytes from shinobu.local: icmp_seq=1 ttl=64 time=0.377 ms
$ ping6 shinobu.local%eth0
unknown host

Hu ho, what’s going on here. This post is getting way longer than I expected so let’s jump to the conclusion.

I have found no trick to make a program know about the network interface I want to use when using hostnames so if you want to use ssh or wget that don’t have a way to specify the network interface you’re screwed. Ho yes, there is a solution, you can write wrapper scripts that will resolve the address for you and rewrite the command with the address%iface format, but that’s crazy. Os X seems to do this just fine, how come free software can’t ? (this is a rethorical question in case you wonder).

Finally, having a dhcp v6 server providing a global scope address solves these issues but to the cost of having a device to run it on. A device you depend on and that must be online all the time. Say good bye to auto-discovery, etc on your network.

Posted in Gentoo | 5 Comments

Unleash the beast

Got up early, commited required eclass changes and unmasked gnome 2.32.
It is still incomplete in tree so the gnome meta ebuild will have to wait a couple more days.

Enjoy.

Posted in Gentoo, Gnome | 5 Comments

Gnome herd needs fresh blood

Title says it all. As things are today, even though a couple of people popped up on my previous “Looking for a padawan” post none of them got actually involved, gnome herd is failing its mission. Gnome 2.28 is not getting keyworded, no migration documentation is being worked on and no stabilization list is in preparation either. As for gnome 2.30, we are closing in final release and we still don’t have 50% of compliant packages in overlay (probably even less). Since working in gentoo got a lot less fun for me, the situation isn’t going to change much in the foreseeable future.

Posted in Gentoo, Gnome | 12 Comments

Irregular update

A few words to say that even though I’ve been busy irl, gnome 2.28.2 is almost completely in tree (about 10 packages left). Also, I finally killed tracker 0.6 from the tree, it was rusty and deserved some rest. Tracker 0.7 has been added and although it’s API/ABI changed, it already is integrated to nautilus 2.28. I still have to get the totem patch for it and we will be back to what was supported with 0.6. I’ve also updated the live ebuild and I’ll make sure it stays in sync with last release.

Posted in Gentoo, Gnome | 4 Comments

Looking for a padawan

Title says it all. It’s pretty obvious that gnome team can’t currently keep up with the income of new bugs (especially a lot of unexpected 2.26 bugs) and I keep being split between my gnome duties and maintenance of various other stuff (notably freedesktop that no-one seems to care about these days). So I need one, two or more guys/gals that want to get their hands a bit dirty. If you feel up to it, just come and say hello on #gentoo-desktop, if I’m not around, probably other gnome herd members will be waiting for you :) .

Posted in Gentoo | 4 Comments

Gnome 2.28.1 full steam

My CIA profile went from about one commit every 17.35 housr to one every 16.56. The difference does not seem big but the calculation is diluted on about 6 years due to a KDE dev sharing the same nick. This amounts to 158 commits tonight.

~arch is now at about 85% of completeness for Gnome 2.28.1, a few commits are missing due extra complexity (hey it still took my 3 hours to do that). Beware that this release still has a few rough edges, especially policykit migration buts. So if you get cut, please come to bugzilla but do not expect sweet words and attention if I see comments like “dude why do you keep on breaking ~arch”. It’s ~arch, beat it.

Posted in Gentoo, Gnome | 3 Comments

Gnome 2.28.1 is there

Just added gnome-2.28.1 ebuild to the overlay, only had to keep two dependencies down. Since we are now finished with gnome-2.28 core, time to squash bugs, there is quite a number of them already, if you want to participate, just visit the overlay status/TODO or status/BUGS files, or visit gnome 2.28 official release tracker bug

Played with gnome-shell, kind of nice but still needs applet work done as I can’t use gnome-globalmenu applet anymore and I’d like to keep to vertical space real estate. Plus I don’t like the actual replacements for notification area and clock applet, they do less. I bit worried about speed in activities menu as well, it’s damn slow on my Core2@2.2Ghz which I can’t understand.

Also worked on some other ebuilds like geoclue, emerillion and seed, not easy on downstream packaging so delayed until further notice.

Posted in Gentoo, Gnome | 3 Comments

The unending tale

Ok guys, buckle up, I’ve finished reviewing Gnome 2.28 ebuilds except for the gnome-shell stuff. Now Gnome 2.28.1 is expected on wednesday so we can start bumping like crazy to be half-decently on time this time (feels like we’ll never be done with the catch-up). There are still quite a few problems with packages as noted in my papers and files under status/ in overlay but upgrade experience should be smoother.

If you are about to test the overlay, please keep us posted on your problems (or your non-problems too) by contacting us on #gentoo-desktop or by filling bug reports. Thanks again to everyone who kept the overlay updated during 2.27 cycle.

edit: fix typo thanks to remi.

Posted in Gentoo, Gnome | Comments Off

To sleep or not to sleep

It’s over 1AM again, and I’m still not finished with Gnome 2.28 review. I’ve spent quite some time this weekend and tonight looking at what was wrong with gnote, gnome-system-monitor, gparted and a few other c++ apps suddendly starting to crash after I updated glib on Friday. Turns out something in the mm stack is doing something wrong so I filled Gnome bug #598209.

Updated to epiphany-2.28 since I got sick of epiphany-2.26 crashing when I wanted to make it remember a new password. Turns out it’s not as nice as I would have thought a nearly two years efforts would be. Lots of problems where loading of a page would stop in the middle of the process. I had to install firefox to fill bug reports and access the pages that fails. That’s quite a regression but upstream is now aware of it through Gnome bug #598115. Hopefully it’ll be fixed for Gnome 2.28.1.

I also spent some time cleaning up unneeded revisions in tree since I had to occupy myself when building all those c++ bindings. So where are we now, a bit less than 41 packages to go for review and about 80% of completeness on my gnome 2.28 status page.

Posted in Gentoo, Gnome | 5 Comments

Review progress

In overlay news, we are currently at 75% of completeness for the 2.28 release. Currently reviewed 46 ebuilds, at bit less than 55 to go.

In other news, if you get strange gnupg related failures, head over to bug #275291. We will apply patch when someone from gnome herd has a chance to get around it.

Update: fix typo

Posted in Gentoo, Gnome | 1 Comment