nzrdhcp: define lease in request ack
This commit is contained in:
parent
37a1b0f3a0
commit
693156dc3e
1 changed files with 7 additions and 11 deletions
|
@ -78,20 +78,18 @@ async fn handle_message(ctx: &Context, from: SocketAddr, msg: &Message) {
|
||||||
let mut nak = false;
|
let mut nak = false;
|
||||||
|
|
||||||
let mut response = match msg_type {
|
let mut response = match msg_type {
|
||||||
MessageType::Discover => {
|
MessageType::Discover => make_reply(
|
||||||
lease_time = Some(DEFAULT_LEASE);
|
|
||||||
make_reply(
|
|
||||||
msg,
|
msg,
|
||||||
MessageType::Offer,
|
MessageType::Offer,
|
||||||
Some(instance.lease.addr.addr),
|
Some(instance.lease.addr.addr),
|
||||||
true,
|
true,
|
||||||
)
|
),
|
||||||
}
|
|
||||||
MessageType::Request => {
|
MessageType::Request => {
|
||||||
if let Some(DhcpOption::RequestedIpAddress(addr)) =
|
if let Some(DhcpOption::RequestedIpAddress(addr)) =
|
||||||
msg.opts().get(OptionCode::RequestedIpAddress)
|
msg.opts().get(OptionCode::RequestedIpAddress)
|
||||||
{
|
{
|
||||||
if *addr == instance.lease.addr.addr {
|
if *addr == instance.lease.addr.addr {
|
||||||
|
lease_time = Some(DEFAULT_LEASE);
|
||||||
make_reply(msg, MessageType::Ack, Some(instance.lease.addr.addr), true)
|
make_reply(msg, MessageType::Ack, Some(instance.lease.addr.addr), true)
|
||||||
} else {
|
} else {
|
||||||
nak = true;
|
nak = true;
|
||||||
|
@ -150,8 +148,6 @@ async fn handle_message(ctx: &Context, from: SocketAddr, msg: &Message) {
|
||||||
};
|
};
|
||||||
|
|
||||||
opts.insert(DhcpOption::Hostname(instance.name.clone()));
|
opts.insert(DhcpOption::Hostname(instance.name.clone()));
|
||||||
// TODO: hack for now. if this actually fixes the networkd issue, we'll need to figure out how to get the MTU
|
|
||||||
opts.insert(DhcpOption::InterfaceMtu(1500));
|
|
||||||
|
|
||||||
if !subnet.dns.is_empty() {
|
if !subnet.dns.is_empty() {
|
||||||
opts.insert(DhcpOption::DomainNameServer(subnet.dns));
|
opts.insert(DhcpOption::DomainNameServer(subnet.dns));
|
||||||
|
|
Loading…
Reference in a new issue