summaryrefslogtreecommitdiff
path: root/rc/bin
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-05-01 23:46:57 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-05-01 23:46:57 +0200
commit3ffbe35a2030822e1877c17c9da4f12db4176cf7 (patch)
tree7360375fddefb9e8aa563bc3db3236883b3ca546 /rc/bin
parent8f91d94d19af3531d3f1afd4361f807c76f42cff (diff)
downloadplan9front-3ffbe35a2030822e1877c17c9da4f12db4176cf7.tar.xz
termrc: put #u in front for endpoint renaming to be effective, handle multipe ether= tuples in ndb
Diffstat (limited to 'rc/bin')
-rwxr-xr-xrc/bin/cpurc27
-rwxr-xr-xrc/bin/termrc19
2 files changed, 30 insertions, 16 deletions
diff --git a/rc/bin/cpurc b/rc/bin/cpurc
index a410d3dcb..31caf33a2 100755
--- a/rc/bin/cpurc
+++ b/rc/bin/cpurc
@@ -5,7 +5,7 @@
NPROC=`{wc -l </dev/sysstat}
# bind all likely devices
-for(i in t S P '$')
+for(i in u t S P '$')
bind -a '#'^$i /dev >/dev/null >[2=1]
rm -f /env/i
@@ -56,12 +56,19 @@ if(test -e /cfg/$sysname/cpurc)
# automatic ip address setup
if(test -r /net/ipselftab){
if(! grep u /net/ipselftab | grep -sv 127.0.0.1){
- ether=`{ndb/query sys $sysname ether}
- if(~ $#ether 1){
- # try /lib/ndb first, then do dhcp
- ip/ipconfig -N >[2]/dev/null || ip/ipconfig -h $sysname
+ addrs=`{ndb/query -a sys $sysname ether}
+ if(! ~ $#addrs 0){
+ for(ether in /net/ether*){
+ addr=`{cat $ether/addr}
+ switch($addr){
+ case $addrs
+ # try /lib/ndb first, then do dhcp
+ ip/ipconfig -N ether $ether >[2]/dev/null \
+ || ip/ipconfig ether $ether -h $sysname
+ }
+ }
}
- rm -f /env/ether
+ rm -f /env/ether /env/addrs /env/addr
}
}
@@ -77,16 +84,16 @@ if(! ps|grep -s timesync){
sleep 2
}
-if(~ $#auth 0){
- auth=`{ndb/query sys $sysname auth}
- . <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}
-}
if(test -d /cfg/$sysname/service)
serviced=/cfg/$sysname/service
if not if(test -d /cfg/default/service)
serviced=/cfg/default/service
if not
serviced=/rc/bin/service
+if(~ $#auth 0){
+ auth=`{ndb/query sys $sysname auth}
+ . <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}
+}
switch($auth){
case `{ echo $sysname; ndb/query sys $sysname dom
if(test -r /net/ipselftab){
diff --git a/rc/bin/termrc b/rc/bin/termrc
index dfc99968b..092137564 100755
--- a/rc/bin/termrc
+++ b/rc/bin/termrc
@@ -6,7 +6,7 @@ TIMESYNCARGS=(-rLa1000000)
NPROC=`{wc -l </dev/sysstat}
# bind all likely devices
-for(i in v t m i f S P L A '$')
+for(i in u v t m i f S P L A '$')
bind -a '#'^$i /dev >/dev/null >[2=1]
rm -f /env/i
@@ -57,12 +57,19 @@ if(test -e /cfg/$sysname/termrc)
# automatic ip address setup
if(test -r /net/ipselftab){
if(! grep u /net/ipselftab | grep -sv 127.0.0.1){
- ether=`{ndb/query sys $sysname ether}
- if(~ $#ether 1){
- # try /lib/ndb first, then do dhcp
- ip/ipconfig -N >[2]/dev/null || ip/ipconfig -h $sysname
+ addrs=`{ndb/query -a sys $sysname ether}
+ if(! ~ $#addrs 0){
+ for(ether in /net/ether*){
+ addr=`{cat $ether/addr}
+ switch($addr){
+ case $addrs
+ # try /lib/ndb first, then do dhcp
+ ip/ipconfig -N ether $ether >[2]/dev/null \
+ || ip/ipconfig ether $ether -h $sysname
+ }
+ }
}
- rm -f /env/ether
+ rm -f /env/ether /env/addrs /env/addr
}
}