Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm working on moving my current server setup to newer hardware, and migrating from ubuntu karmic koala to lucid lynx. Currently i'm using gw6c (compiled from the gogo6 website, as opposed to the version from the repositories) to get ipv6 access for my systems. On the karmic koala system, i used simple init.d script to get the ipv6 client started

 #! /bin/sh
/usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf

I figured since this runs at any runlevel, it should translate to

respawn
console none

start on startup

stop on shutdown

script
exec /usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf
emit free6_ipv6_started
end script

this works fine started from initctrl, but it apparently fails to start when it boots. - its status being stop/waiting. It works fine (and respawns) when started otherwise.Any ideas on where i'm going wrong, and what would be the appropriate 'start on' arguement?

EDIT: the exact error is 'init: gw6c main process (xxx) ended with status 8' followed by the process respawning , with xxx being a PID i suspect. I'm also half suspecting this is cause gw6c starts before networking does, and i need my eth0 up before gw6c is

share|improve this question
add comment

4 Answers 4

up vote 15 down vote accepted

Apparently

respawn
console none

start on (local-filesystems and net-device-up IFACE!=lo)
stop on [!12345]

script
chdir /usr/local/gw6c/bin/

exec /usr/local/gw6c/bin/gw6c 
end script

seems to work

share|improve this answer
    
Yeah I've just recently written a few that use net-device-up and net-device-down which work perfectly. –  Andy Shellam Feb 28 '10 at 11:08
    
i didn't find it anywhere in the documentation. someone on a local mailing list helped me out –  Journeyman Geek Feb 28 '10 at 12:32
    
This was exactly what I was looking for. It's still not in the upstart documentation anywhere that I could find. –  Nathan Aug 14 '12 at 20:45
add comment

Place a script starting gw6c in

/etc/network/if-up.d

All scripts in that folder get run after an interface comes up. If you only want it run when eth0 comes up then edit the eth0 entry in

/etc/network/interfaces

and add a call to the script

iface eth0 inet dhcp
  up /etc/init.d/gw6c restart

I would also suggest adding pre-down scripts to shutdown the tunnel before the interface goes offline.

Once you do that and find an implementation that works, post it back here so I can use it. I've got gw6c on my laptop but I have been thus far to lazy to automate it.

share|improve this answer
    
The former script i posted works pretty well- though i need to manually restart it, should my connection reset itself- this is for upstart, which is default on lucid lynx. –  Journeyman Geek Feb 28 '10 at 9:00
add comment

Thank you "The Journeyman geek" :) You saved me a lot of time. I was fighting with /etc/init.d/gw6c script, trying some timings with "sysv-rc-conf -p" and wondering why it is not working (aka WTF?).

respawn
console none

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

script

exec /etc/init.d/gw6c start
end script

Slightly modified ("runlevel" and exec command) script did the job! :) :) :)

share|improve this answer
add comment

From here: http://upstart.ubuntu.com/cookbook/#single-job-instance-running-without-pid

description     "Uncomplicated firewall"

# Make sure we start before an interface receives traffic
start on (starting network-interface
          or starting network-manager
          or starting networking)

stop on runlevel [!023456]

console output

pre-start exec /lib/ufw/ufw-init start quiet
post-stop exec /lib/ufw/ufw-init stop
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.