• HLB STUDIOS
  • ICADYPTES
  • ELEUTHERNET

Go Beyond

  • about
  • blog
  • projects
  • ctimetracker
  • services
  • donate
  • contact

Console Time Tracker

admin — Sun, 2009-10-25 03:18

Hey,

I had been needing a time tracker for my new job (haven't told you about that, have I ;-) ), so I wrote one In Bash shell script.

If you understand the phrase "/bin/bash ~/ctimetracker-0.0.1/ctimetracker", then this might be understandable to you, and more than that, it *could* be useful.

So, checkout the public domain code, all on it's very own, special page. It took a whole day to write that (almost) mess :-(. Have fun with it!

One of these days I'll work on the menu and layout so ctimetracker isn't so prominent but is still findable. We'll see though.

Console Time Tracker

Off to bed. Thanks for reading :-).

--Teran (sega01)
  • my code
  • shell scripting
  • time tracking
  • toogeeky
  • /dev/thoughts/geekery
  • /dev/thoughts/main
  • 1 comment

IPv6 and Specific, Stateless Route Autoconfiguration on Linux

admin — Thu, 2009-10-22 00:19

/bin/cat > /dev/world << "EoF"

If you didn't understand the above, and you don't know what stateless autoconfiguration in IPv6 is, you probably won't find the post very useful. But feel free to read along and comment, either way :-). I'm pretty sure that this is applicable to at least Linux 2.6.22 and later, but I'm sure it's been around longer than that.

Time to finally get this written out. Ages ago, I noticed radvd's route option and wanted to use it for eleutherNet (which is unused and needs to be updated some year). What the option does, is it sets the router to advertise specific routes for any number of subnets. I was hoping to have eleutherNet in it's on /48 of fd11:2358:1321::/48, but give out /64's to each connecting node. So, you'd connect to aditi (the main server, don't ask) and have a place in fd11:2358:1321::/64, foobar could connect to imaginaryserverA and have its IP in fd11:2358:1321:1337::/64, and boredomdefied could connect to imaginaryserverB, have its own place in fd11:2358:1321:1234::/64, while all of them would route the /48's through their node, if they weren't connected to the others directly. Now, I can `ip ro add fd11:2358:1321::/48 via fd11:2358:1321::1`, but that's just kinda lame. radvd lets us automate that, or it should, if your boxes are configured correctly.

I tested out the route option, and nothing. rdisc6 printed the route, but none of my boxes would pick it up automatically. I ended up spending hours and hours on the problem, googling for "specific routes", and different things. I even emailed kernel developers (which usually isn't a good idea. Don't worry though, I tried mailing lists directly, first), and didn't get very far. Eventually, I found it. After I found the solution I decided that some day I would blog about it, since it's so cryptic to find, even on the mostly omniscient Google (which still isn't as smart as Heather :-) ).

Turns out, the more proper term to google for is "route information option". After finding that out, I stumbled upon this mailing list post, and had my question answered.

So, how do stateless specific routes work in Linux? They don't, by default. The key lies in:

net.ipv6.conf.default.accept_ra_rt_info_max_plen
Or, something more receptive to echo's,
`mount | grep type\ proc | cut -d \  -f3`/sys/net/ipv6/conf/default/accept_ra_rt_info_max_plen

Or, usually,
/proc/sys/net/ipv6/conf/default/accept_ra_rt_info_max_plen

(I'm not trying to show off. I think I'm just missing Heather. It's nothing, anyways. Newbies beware: you usually look stupid doing that kind of stuff :-).)

Using my decoding skills, I think "accept_ra_rt_info_max_plen" means something like "Accept Router Advertisement Route Inform Maximum Prefix length".

It defaults to 0. So in other words, the maxmimum prefix interfaces accept by default is a length of 0, which either means it accepts routes to ::/0 (default route, so what IPv6 routers usually are, unless they have a lifetime of 0), or nada. You can make your own guess. Anyways, if you want to accept a /64, echo 64 into your procfs, and things will work out. In Icadyptes I have it default to 120, for no particular reason, of course I'll probably change it later.

So, there you have it. Stateless, specific routes, autoconfigured without much more than `ip l s $interface up`. Pretty cool, eh?

If it works, you can get something like this:

[root@blazingcabbage ~]# ip -6 ro
2001:470:8:29::/64 dev eth0  proto kernel  metric 256  expires 86383sec mtu 1500 advmss 1440 hoplimit 4294967295
fd11:2358:1321::/48 via fe80::2e0:4cff:fe00:8520 dev eth0  proto
kernel  metric 1024  expires 1796sec mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::2e0:4cff:fe00:8520 dev eth0  proto kernel  metric 1024  expires 1796sec mtu 1500 advmss 1440 hoplimit 64

 

And yes, I love Heather!

Thanks for reading. I hope this helps someone.

--Teran
EoF

  • ILoveHeather
  • IPv6
  • toogeeky
  • /dev/thoughts/geekery
  • /dev/thoughts/main
  • 1 comment

Climate Change

admin — Sun, 2009-10-18 10:32

I don't have much time, but I think I'll shoot out a link to a post I liked on climate change. It didn't really take a position either way, but I thought the author had some good points. I left a painfully long comment in reply, almost as long as the post itself. Just keep on scroll'n and you'll find it.

Here it is: http://written-idea.blogspot.com/2009/10/blog-action-day-topic-climate-change.html

Oh, and I'm on Twitter now :-). You can find me as devthoughts (per the blog name, and lack of "Teran" or "sega01").

Icadyptes is on Twitter too, but I'll do a Icadyptes blog post soon, anyways. HLB Studios will be coming soon, too :-).

And, today is the death of diyist.blogspot.com. Not really the death, just the end, kinda. Take a look at the last post, if you're in IPv4.

That's all for now. 6:27 and I've already punched out two blog posts and a big comment. I think I'm doing pretty well :-).

Thanks,
Teran

PS: For those of you who aren't commenting yet. Are we going to burn up tomorrow? Could we intoxicate outselves with excessive carbon dioxide (more likely: a lack of oxygen due to too much CO2 displacing it) before the earth would heat? Does it even matter? And yeah, this post really doesn't look like it's that much about climate change/global warming.

PPS: Heather is amazing :-) <3.
  • climate change
  • global warming
  • long commments
  • offsite links
  • twitter
  • /dev/thoughts/main
  • Add new comment
  • « first
  • ‹ previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • next ›
  • last »

Twitter

  • @akirk My Belgian friend actually turned the cow purple and told me about the Milka cow :-). Thanks — 39 weeks 5 days ago
  • @kickstarter I need a #kickstarter invite for #icadyptes. I'd really appreciate it if anyone has one. sega01 /-\t go-beyond dot .org — 40 weeks 7 hours ago
  • @fruitslinger Do you have an extra invite for Kickstarter? I'd really appreciate one for icadyptes.org sega01 /-\t go-beyond dot .org — 40 weeks 7 hours ago
  • Interesting comment on #slashdot about public schooling in the #US. http://bit.ly/7H8XSr — 41 weeks 10 hours ago
  • ‹‹
  • 5 of 8
  • ››
Follow us on Twitter: @devthoughts

  • about
  • blog
  • projects
  • ctimetracker
  • services
  • donate
  • contact