socket/dhcp: add nak tests
This commit is contained in:
parent
a43a6772c9
commit
bcf6211fbe
|
@ -653,6 +653,14 @@ mod test {
|
||||||
hop_limit: 64,
|
hop_limit: 64,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const IP_SERVER_BROADCAST: Ipv4Repr = Ipv4Repr {
|
||||||
|
src_addr: SERVER_IP,
|
||||||
|
dst_addr: Ipv4Address::BROADCAST,
|
||||||
|
protocol: IpProtocol::Udp,
|
||||||
|
payload_len: 0,
|
||||||
|
hop_limit: 64,
|
||||||
|
};
|
||||||
|
|
||||||
const IP_RECV: Ipv4Repr = Ipv4Repr {
|
const IP_RECV: Ipv4Repr = Ipv4Repr {
|
||||||
src_addr: SERVER_IP,
|
src_addr: SERVER_IP,
|
||||||
dst_addr: MY_IP,
|
dst_addr: MY_IP,
|
||||||
|
@ -745,6 +753,13 @@ mod test {
|
||||||
..DHCP_DEFAULT
|
..DHCP_DEFAULT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const DHCP_NAK: DhcpRepr = DhcpRepr {
|
||||||
|
message_type: DhcpMessageType::Nak,
|
||||||
|
server_ip: SERVER_IP,
|
||||||
|
server_identifier: Some(SERVER_IP),
|
||||||
|
..DHCP_DEFAULT
|
||||||
|
};
|
||||||
|
|
||||||
const DHCP_RENEW: DhcpRepr = DhcpRepr {
|
const DHCP_RENEW: DhcpRepr = DhcpRepr {
|
||||||
message_type: DhcpMessageType::Request,
|
message_type: DhcpMessageType::Request,
|
||||||
client_identifier: Some(MY_MAC),
|
client_identifier: Some(MY_MAC),
|
||||||
|
@ -880,6 +895,17 @@ mod test {
|
||||||
recv!(s, time 60_000, [(IP_BROADCAST, UDP_SEND, DHCP_REQUEST)]);
|
recv!(s, time 60_000, [(IP_BROADCAST, UDP_SEND, DHCP_REQUEST)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_request_nak() {
|
||||||
|
let mut s = socket();
|
||||||
|
|
||||||
|
recv!(s, time 0, [(IP_BROADCAST, UDP_SEND, DHCP_DISCOVER)]);
|
||||||
|
send!(s, time 0, (IP_RECV, UDP_RECV, DHCP_OFFER));
|
||||||
|
recv!(s, time 0, [(IP_BROADCAST, UDP_SEND, DHCP_REQUEST)]);
|
||||||
|
send!(s, time 0, (IP_SERVER_BROADCAST, UDP_RECV, DHCP_NAK));
|
||||||
|
recv!(s, time 0, [(IP_BROADCAST, UDP_SEND, DHCP_DISCOVER)]);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_renew() {
|
fn test_renew() {
|
||||||
let mut s = socket_bound();
|
let mut s = socket_bound();
|
||||||
|
@ -947,4 +973,13 @@ mod test {
|
||||||
_ => panic!("Invalid state"),
|
_ => panic!("Invalid state"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_renew_nak() {
|
||||||
|
let mut s = socket_bound();
|
||||||
|
|
||||||
|
recv!(s, time 500_000, [(IP_SEND, UDP_SEND, DHCP_RENEW)]);
|
||||||
|
send!(s, time 500_000, (IP_SERVER_BROADCAST, UDP_RECV, DHCP_NAK));
|
||||||
|
recv!(s, time 500_000, [(IP_BROADCAST, UDP_SEND, DHCP_DISCOVER)]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue