in Qubes doc client_our_ip is always netvm_our_ip

This commit is contained in:
palainp 2023-06-30 15:31:30 +02:00
parent 9cabe7e303
commit 5a0711bb2d
4 changed files with 13 additions and 20 deletions

View File

@ -20,7 +20,7 @@ type host =
let create config = let create config =
let changed = Lwt_condition.create () in let changed = Lwt_condition.create () in
let my_ip = config.Dao.uplink_our_ip in let my_ip = config.Dao.our_ip in
Lwt.return { iface_of_ip = IpMap.empty; my_ip; changed } Lwt.return { iface_of_ip = IpMap.empty; my_ip; changed }
let client_gw t = t.my_ip let client_gw t = t.my_ip

19
dao.ml
View File

@ -123,10 +123,8 @@ let watch_clients fn =
) )
type network_config = { type network_config = {
uplink_netvm_ip : Ipaddr.V4.t; (* The IP address of NetVM (our gateway) *) netvm_ip : Ipaddr.V4.t; (* The IP address of NetVM (our gateway) *)
uplink_our_ip : Ipaddr.V4.t; (* The IP address of our interface to NetVM *) our_ip : Ipaddr.V4.t; (* The IP address of our interface to NetVM *)
clients_our_ip : Ipaddr.V4.t; (* The IP address of our interface to our client VMs (their gateway) *)
dns : Ipaddr.V4.t; dns : Ipaddr.V4.t;
dns2 : Ipaddr.V4.t; dns2 : Ipaddr.V4.t;
} }
@ -138,23 +136,20 @@ let try_read_network_config db =
match DB.KeyMap.find_opt name db with match DB.KeyMap.find_opt name db with
| None -> Ipaddr.V4.make 0 0 0 0 | None -> Ipaddr.V4.make 0 0 0 0
| Some value -> Ipaddr.V4.of_string_exn value in | Some value -> Ipaddr.V4.of_string_exn value in
let uplink_our_ip = get "/qubes-ip" in let our_ip = get "/qubes-ip" in (* - IP address for this VM (only when VM has netvm set) *)
let uplink_netvm_ip = get "/qubes-gateway" in let netvm_ip = get "/qubes-gateway" in (* - default gateway IP (only when VM has netvm set); VM should add host route to this address directly via eth0 (or whatever default interface name is) *)
let clients_our_ip = get "/qubes-netvm-gateway" in
let dns = get "/qubes-primary-dns" in let dns = get "/qubes-primary-dns" in
let dns2 = get "/qubes-secondary-dns" in let dns2 = get "/qubes-secondary-dns" in
Log.info (fun f -> f "@[<v2>Got network configuration from QubesDB:@,\ Log.info (fun f -> f "@[<v2>Got network configuration from QubesDB:@,\
NetVM IP on uplink network: %a@,\ NetVM IP on uplink network: %a@,\
Our IP on uplink network: %a@,\
Our IP on client networks: %a@,\ Our IP on client networks: %a@,\
DNS primary resolver: %a@,\ DNS primary resolver: %a@,\
DNS secondary resolver: %a@]" DNS secondary resolver: %a@]"
Ipaddr.V4.pp uplink_netvm_ip Ipaddr.V4.pp netvm_ip
Ipaddr.V4.pp uplink_our_ip Ipaddr.V4.pp our_ip
Ipaddr.V4.pp clients_our_ip
Ipaddr.V4.pp dns Ipaddr.V4.pp dns
Ipaddr.V4.pp dns2); Ipaddr.V4.pp dns2);
{ uplink_netvm_ip; uplink_our_ip; clients_our_ip ; dns ; dns2 } { netvm_ip ; our_ip ; dns ; dns2 }
let read_network_config qubesDB = let read_network_config qubesDB =
let rec aux bindings = let rec aux bindings =

View File

@ -20,10 +20,8 @@ val watch_clients : (Ipaddr.V4.t VifMap.t -> unit) -> 'a Lwt.t
in XenStore, and again each time XenStore updates. *) in XenStore, and again each time XenStore updates. *)
type network_config = { type network_config = {
uplink_netvm_ip : Ipaddr.V4.t; (* The IP address of NetVM (our gateway) *) netvm_ip : Ipaddr.V4.t; (* The IP address of NetVM (our gateway) *)
uplink_our_ip : Ipaddr.V4.t; (* The IP address of our interface to NetVM *) our_ip : Ipaddr.V4.t; (* The IP address of our interface to NetVM *)
clients_our_ip : Ipaddr.V4.t; (* The IP address of our interface to our client VMs (their gateway) *)
dns : Ipaddr.V4.t; dns : Ipaddr.V4.t;
dns2 : Ipaddr.V4.t; dns2 : Ipaddr.V4.t;
} }

View File

@ -74,8 +74,8 @@ end
let interface t = t.interface let interface t = t.interface
let connect config = let connect config =
let my_ip = config.Dao.uplink_our_ip in let my_ip = config.Dao.our_ip in
let gateway = config.Dao.uplink_netvm_ip in let gateway = config.Dao.netvm_ip in
Netif.connect "0" >>= fun net -> Netif.connect "0" >>= fun net ->
Eth.connect net >>= fun eth -> Eth.connect net >>= fun eth ->
Arp.connect eth >>= fun arp -> Arp.connect eth >>= fun arp ->
@ -88,7 +88,7 @@ let connect config =
>|= or_raise "Getting MAC of our NetVM" Arp.pp_error in >|= or_raise "Getting MAC of our NetVM" Arp.pp_error in
let interface = new netvm_iface eth netvm_mac let interface = new netvm_iface eth netvm_mac
~my_ip ~my_ip
~other_ip:config.Dao.uplink_netvm_ip in ~other_ip:config.Dao.netvm_ip in
let fragments = Fragments.Cache.empty (256 * 1024) in let fragments = Fragments.Cache.empty (256 * 1024) in
Lwt.return { net; eth; arp; interface ; fragments ; ip ; udp } Lwt.return { net; eth; arp; interface ; fragments ; ip ; udp }
end end