Denys Vlasenko | 6cf7f01 | 2009-11-06 04:04:19 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # convert: |
| 3 | |
| 4 | # dhcptype=5 |
| 5 | # serverid=172.16.42.102 |
| 6 | # lease=97200 |
| 7 | # interface=eth0 |
| 8 | # ip=172.16.42.177 |
| 9 | # subnet=255.255.255.0 |
| 10 | # mask=24 |
| 11 | # broadcast=172.16.22.255 |
| 12 | # router=172.16.42.98 |
| 13 | # dns=10.34.32.125 10.32.63.5 10.34.255.7 10.11.255.27 |
| 14 | # domain=lab.example.com example.com |
| 15 | # ntpsrv=10.34.32.125 10.34.255.7 |
| 16 | |
| 17 | # into: |
| 18 | |
| 19 | #let cfg=cfg+1 |
| 20 | #if[$cfg]=...; ip[$cfg]=...; ipmask[$cfg]=.../...; gw[$cfg]=...; net[$cfg]=... dns[$cfg]=... |
| 21 | |
Denys Vlasenko | 391dd92 | 2009-11-09 09:39:50 +0100 | [diff] [blame] | 22 | exec >/dev/null |
| 23 | #exec >"$0.out" # debug |
| 24 | exec 2>&1 |
Denys Vlasenko | 6cf7f01 | 2009-11-06 04:04:19 +0100 | [diff] [blame] | 25 | |
| 26 | test "$interface" || exit 1 |
Denys Vlasenko | 391dd92 | 2009-11-09 09:39:50 +0100 | [diff] [blame] | 27 | test "$ip" || exit 1 |
Denys Vlasenko | 6cf7f01 | 2009-11-06 04:04:19 +0100 | [diff] [blame] | 28 | |
| 29 | { |
| 30 | echo "let cfg=cfg+1" |
Denys Vlasenko | 3581c62 | 2010-01-25 13:39:24 +0100 | [diff] [blame] | 31 | test "$interface" && echo "if[\$cfg]='$interface'" |
Denys Vlasenko | 6cf7f01 | 2009-11-06 04:04:19 +0100 | [diff] [blame] | 32 | test "$ip" && echo "ip[\$cfg]='$ip'" |
| 33 | test "$ip" && test "$mask" \ |
| 34 | && echo "ipmask[\$cfg]='$ip/$mask'" |
| 35 | test "$router" && echo "gw[\$cfg]='$router'" |
| 36 | test "$dns" && echo "dns[\$cfg]='$dns'" |
| 37 | # TODO: I never saw a dhcp server which correctly announces |
| 38 | # which subnet(s) is/are available thru advertised router |
| 39 | # Assume 0/0 |
| 40 | echo "net[\$cfg]='0/0'" |
Denys Vlasenko | 391dd92 | 2009-11-09 09:39:50 +0100 | [diff] [blame] | 41 | } >"$1" |