summaryrefslogtreecommitdiff
path: root/fw/lib/svc
diff options
context:
space:
mode:
Diffstat (limited to 'fw/lib/svc')
-rw-r--r--fw/lib/svc/fw.ether021
1 files changed, 18 insertions, 3 deletions
diff --git a/fw/lib/svc/fw.ether0 b/fw/lib/svc/fw.ether0
index 93de412..627b1d3 100644
--- a/fw/lib/svc/fw.ether0
+++ b/fw/lib/svc/fw.ether0
@@ -8,9 +8,12 @@
# when the last of fw exits, whether that is the wire failing, the
# control filesystem going away, or a note.
#
-# It has to start after the card has an address, because that is where
-# fw reads the address, mask and gateway from - and before anything
-# dials, because a connection made before fw is up was never filtered.
+# It has to start before anything dials: a connection made before fw is
+# up was never filtered.
+#
+# If fw dies the machine has no network until it is restarted. That is
+# the intended behaviour and not a fault - see FAILURE in fw(8) - so
+# restart=always is what you want, not a supervisor that gives up.
#
svc=fw.ether0
exec=/bin/fw
@@ -20,6 +23,18 @@ svc=fw.ether0
args=/mnt/fw/ether0
args=-e
args=/net/ether0
+#
+# The address and gateway, rather than letting fw read them off the
+# card. A fw that has died has taken the address with it, so a
+# restarted fw has nothing to read; told them, it can restart into the
+# bare card it left behind. Without them restart=always brings fw back
+# only to fail, and the machine stays off the network - which is the
+# safe direction, but not a working one.
+#
+ args=-a
+ args=10.0.2.15/24
+ args=-g
+ args=10.0.2.2
args=/lib/fw/host.ndb
needs=ipconfig
ready=srv:fw.ether0