Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
f9bc169
.
Oct 16, 2025
83b3cee
Merge branch 'main' into proc_topology
Oct 16, 2025
3600e7a
wip
Oct 30, 2025
87cf158
Merge branch 'main' of https://github.com/microsoft/openvmm
damanm24 Oct 30, 2025
bedd466
Merge branch 'main' of https://github.com/microsoft/openvmm
damanm24 Nov 4, 2025
01fe341
Merge branch 'main' into consomme_ipv6
Nov 4, 2025
8acde53
wip
Nov 5, 2025
bc383e2
Finish UDP over IPv6 and DNS on unix
Nov 5, 2025
c60bd6d
Use AF_UNSPEC for 1 syscall instead
damanm24 Nov 6, 2025
116b411
Merge branch 'main' of https://github.com/microsoft/openvmm
damanm24 Nov 6, 2025
2bc543b
checkpt
damanm24 Nov 7, 2025
30dac28
Remove un-needed message handling for DHCPv6
damanm24 Nov 7, 2025
99b277d
checkpt
damanm24 Nov 7, 2025
441db93
Windows guest recognizes IPv6 capabilities
damanm24 Nov 7, 2025
f5b97f1
minor changes
damanm24 Nov 10, 2025
a77bea0
Merge branch 'main' of https://github.com/microsoft/openvmm
damanm24 Nov 10, 2025
2b57eea
Use already existing types
damanm24 Nov 11, 2025
cb23c36
checkpt
damanm24 Nov 11, 2025
dd84e24
bit of cleanup
damanm24 Nov 12, 2025
36c6cb5
Prepare for review
damanm24 Nov 12, 2025
31b7a60
More cleanup
damanm24 Nov 12, 2025
b439e0e
update comment with accurate default network state
damanm24 Nov 12, 2025
423a20b
Clippy + xtask fixes
Nov 12, 2025
235da5e
checkpt
damanm24 Nov 14, 2025
ab27f38
minor changes
damanm24 Nov 14, 2025
9121770
Merge branch 'main' of https://github.com/microsoft/openvmm
damanm24 Nov 14, 2025
4493f2b
Merge branch 'main' into consomme_ipv6
damanm24 Nov 14, 2025
6f56fbf
Merge branch 'consomme_ipv6' of https://github.com/damanm24/openvmm i…
damanm24 Nov 14, 2025
6bedac1
clippy fixes
damanm24 Nov 17, 2025
6a01be6
remove dhcproto dep
damanm24 Nov 17, 2025
1b78011
undo
damanm24 Nov 17, 2025
e1c2455
.
damanm24 Nov 17, 2025
2dc273d
.
damanm24 Nov 18, 2025
6fdce76
Merge branch 'main' into consomme_ipv6
damanm24 Dec 10, 2025
9577aa8
Address feedback
damanm24 Dec 15, 2025
9005164
Update bind_port fn
Dec 16, 2025
6e43b51
Address comments
Dec 16, 2025
ccba360
Merge branch 'main' of https://github.com/microsoft/openvmm into cons…
Jan 9, 2026
0e1c1c1
Handle incoming IPv6
damanm24 Jan 12, 2026
0341d89
feedback
damanm24 Jan 12, 2026
fb4a5dc
remove unnecessary trait
damanm24 Jan 22, 2026
87f3621
Merge remote-tracking branch 'origin/main' into consomme_ipv6
damanm24 Jan 29, 2026
6b5615c
Use smoltcp v0.12, address some more feedback
damanm24 Jan 29, 2026
f47fe83
fmt + clippy fixes
damanm24 Jan 29, 2026
3f1dfd2
.
damanm24 Jan 29, 2026
7949cc2
.
Jan 30, 2026
908ddc1
Merge remote-tracking branch 'origin/main' into consomme_ipv6
damanm24 Feb 5, 2026
6db0ced
nits
damanm24 Feb 5, 2026
69ef81c
Merge remote-tracking branch 'origin/main' into consomme_ipv6
damanm24 Feb 6, 2026
211813c
DNS over ipv6 works for both windows/linux guests
damanm24 Feb 6, 2026
5289414
build fix
damanm24 Feb 6, 2026
71f24c2
Optionally check hostside ipv6 support
damanm24 Feb 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,7 @@ dependencies = [
"inspect_counters",
"libc",
"mesh_channel_core",
"open_enum",
"pal",
"pal_async",
"parking_lot",
Expand All @@ -818,6 +819,7 @@ dependencies = [
"tracing",
"winapi",
"windows-sys 0.61.0",
"zerocopy 0.8.27",
]

[[package]]
Expand Down
13 changes: 8 additions & 5 deletions vm/devices/net/net_consomme/consomme/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,21 @@ rust-version.workspace = true

[dependencies]
mesh_channel_core.workspace = true
inspect.workspace = true
inspect_counters.workspace = true
pal_async.workspace = true
futures.workspace = true
getrandom.workspace = true
heapless.workspace = true
parking_lot.workspace = true
smoltcp = { workspace = true, features = [ "proto-ipv4", "proto-dns", "medium-ethernet", "socket-raw", "std", "proto-dhcpv4" ] }
smoltcp = { workspace = true, features = [ "proto-ipv4", "proto-ipv6", "proto-dns", "medium-ethernet", "socket-raw", "std", "proto-dhcpv4" ] }
socket2.workspace = true
thiserror.workspace = true
tracelimit.workspace = true
tracing.workspace = true
zerocopy.workspace = true

inspect.workspace = true
inspect_counters.workspace = true
open_enum.workspace = true
pal_async.workspace = true
tracelimit.workspace = true

[target.'cfg(unix)'.dependencies]
blocking.workspace = true
Expand Down
25 changes: 12 additions & 13 deletions vm/devices/net/net_consomme/consomme/src/dhcp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ use super::Client;
use super::DropReason;
use crate::ChecksumState;
use crate::MIN_MTU;
use heapless::Vec as HeaplessVec;
use smoltcp::phy::ChecksumCapabilities;
use smoltcp::wire::DHCP_MAX_DNS_SERVER_COUNT;
use smoltcp::wire::DhcpMessageType;
Expand Down Expand Up @@ -47,22 +48,20 @@ impl<T: Client> Access<'_, T> {
ty => return Err(DropReason::UnsupportedDhcp(ty)),
}

let dns_servers = if self.inner.state.params.nameservers.is_empty() {
None
} else {
let mut dns_servers = heapless::Vec::new();
for &s in self
.inner
let mut dns_servers: HeaplessVec<Ipv4Address, DHCP_MAX_DNS_SERVER_COUNT> =
HeaplessVec::new();
dns_servers.extend(
self.inner
.state
.params
.nameservers
.iter()
.take(DHCP_MAX_DNS_SERVER_COUNT)
{
let _ = dns_servers.push(s);
}
Some(dns_servers)
};
.filter_map(|ip| match ip {
IpAddress::Ipv4(addr) => Some(*addr),
_ => None,
})
.take(DHCP_MAX_DNS_SERVER_COUNT),
);

let resp_dhcp = if let Some(your_ip) = your_ip {
DhcpRepr {
Expand All @@ -81,7 +80,7 @@ impl<T: Client> Access<'_, T> {
client_identifier: None,
server_identifier: Some(self.inner.state.params.gateway_ip),
parameter_request_list: None,
dns_servers,
dns_servers: Some(dns_servers),
max_size: None,
lease_duration: Some(86400),
renew_duration: None,
Expand Down
Loading