121 |
|
|
122 |
config::for_ip( $ip ); |
config::for_ip( $ip ); |
123 |
|
|
124 |
my $server; |
my $server = server::as_hash_for $ip; |
|
map { $server->{ $_ } = eval '$server::' . $_ } ( 'ip', 'netmask', 'bcast', 'domain' ); |
|
|
|
|
|
if ( my $force = client::conf( $ip => 'dhcpd.pl' ) ) { |
|
|
eval $force; |
|
|
die "$force\n$@" if $@; |
|
|
warn "force server ", dump $server; |
|
|
} |
|
125 |
|
|
126 |
my $packet = { |
my $packet = { |
127 |
Op => BOOTREPLY(), |
Op => BOOTREPLY(), |
139 |
|
|
140 |
my $options = { |
my $options = { |
141 |
DHO_SUBNET_MASK() => $server->{netmask}, |
DHO_SUBNET_MASK() => $server->{netmask}, |
142 |
DHO_ROUTERS() => $server->{ip}, |
DHO_ROUTERS() => ( $server->{gw} || $server->{ip} ), |
143 |
DHO_DOMAIN_NAME() => $server->{domain}, |
DHO_DOMAIN_NAME() => $server->{domain}, |
144 |
DHO_NAME_SERVERS() => $server->{ip}, |
DHO_NAME_SERVERS() => $server->{ip}, |
145 |
DHO_DOMAIN_NAME_SERVERS() => $server->{ip}, |
DHO_DOMAIN_NAME_SERVERS() => ( $server->{dns} || $server->{ip} ), |
146 |
DHO_HOST_NAME() => client::conf( $ip, 'hostname' ), |
DHO_HOST_NAME() => client::conf( $ip, 'hostname' ), |
147 |
DHO_BROADCAST_ADDRESS() => $server->{bcast}, |
DHO_BROADCAST_ADDRESS() => $server->{bcast}, |
148 |
# DHO_NTP_SERVERS() => '', |
# DHO_NTP_SERVERS() => '', |