Hello,

I'm trying to run the MirageOS examples in mirage-skeleton
<https://github.com/mirage/mirage-skeleton> and mirage-www
<https://github.com/mirage/mirage-www> on a Xen setup on Ubuntu 16.04, but
I'm having problems getting networking to work. I posted a Github issue
<https://github.com/mirage/mirage/issues/910> a while ago but haven't
gotten any replies after about three weeks, so I wonder if anyone on this
list could lend me a bit of help — so far, I haven't been able to find much
current information online about running Mirage on Xen.

As far as I can tell, this is an issue with Mirage itself, as other
unikernels running on the same Xen host are able to use the network
properly. Unfortunately, Mirage gives very little relevant debugging
output, and I am unable to get it to produce any more; running "mirage
configure --logs *:debug …" doesn't have any effect.  I'm hoping someone
here can at least help me get additional information out of Mirage so I can
diagnose what's going on. I'll try to describe all the information I've
gathered so far below.

My OS/software versions are as follows.

OS: Ubuntu 18.04 LTS
Kernel: Linux 4.15.0-23-generic #25-Ubuntu SMP x86_64
Xen version: 4.9.2 amd64
Mirage version: 3.1.0
Mirage-skeleton commit: b3d91b8
Mirage-www commit: 1236376

My network configuration in /etc/network/interfaces is as follows. Mirage's
generated .xl files are correctly set to use "br0" as the Xen network
bridge. I've confirmed that the bridge interface itself works correctly, as
Rumprun unikernels using the same interface are able to connect to the
network, get a DHCP lease, etc.

auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet dhcp

auto dummy0
iface dummy0 inet manual
    up ip link add dummy0 type dummy
    down ip link delete dummy0

auto br0
iface br0 inet static
    bridge_ports dummy0
    address 192.168.1.2
    broadcast 192.168.1.255
    gateway 192.168.1.1
    netmask 255.255.255.0
    bridge_stp off

When I start a Xen guest (e.g. mirage-www or
mirage-skeleton/device-usage/network) that was configured to use DHCP, I
see no DHCP traffic of any kind on the network bridge. The console of the
Mirage unkernel only shows the following:

# Configured with:
#    mirage configure -t xen --dhcp true

MirageOS booting...
Initialising timer interface
Initialising console ... done.
Attempt to open(/dev/urandom)!
Unsupported function getpid called in Mini-OS kernel
Unsupported function getppid called in Mini-OS kernel
2018-07-06 17:12:11 -00:00: INF [net-xen:frontend] connect 0
2018-07-06 17:12:11 -00:00: INF [net-xen:frontend] create: id=0 domid=0
2018-07-06 17:12:11 -00:00: INF [net-xen:frontend]  sg:true
gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
Attempt to open(/dev/urandom)!
Unsupported function getpid called in Mini-OS kernel
Unsupported function getppid called in Mini-OS kernel

When I instead assign a static IP (within the bridge's IP range, of
course), it gets a little farther, but I am unable to connect to the port
80, which should be open on the guest in both the mirage-www and
device-usage/network examples.

# Configured with:
#    mirage configure -t xen --ipv4=192.168.1.4/24
# Bridge has IP 192.168.1.2, netmask 255.255.255.0

MirageOS booting...
Initialising timer interface
Initialising console ... done.
Attempt to open(/dev/urandom)!
Unsupported function getpid called in Mini-OS kernel
Unsupported function getppid called in Mini-OS kernel
2018-07-06 19:31:15 -00:00: INF [net-xen:frontend] connect 0
2018-07-06 19:31:15 -00:00: INF [net-xen:frontend] create: id=0 domid=0
2018-07-06 19:31:15 -00:00: INF [net-xen:frontend]  sg:true
gso_tcpv4:true rx_copy:true rx_flip:false smart_poll:false
2018-07-06 19:31:15 -00:00: INF [net-xen:frontend] MAC: 00:16:3e:4b:17:a6
2018-07-06 19:31:15 -00:00: INF [ethif] Connected Ethernet interface
00:16:3e:4b:17:a6
2018-07-06 19:31:15 -00:00: INF [arpv4] Connected arpv4 interface
00:16:3e:4b:17:a6
2018-07-06 19:31:15 -00:00: INF [udp] UDP interface connected on 192.168.1.4
2018-07-06 19:31:15 -00:00: INF [tcpip-stack-direct] stack assembled:
mac=00:16:3e:4b:17:a6,ip=192.168.1.4
_______________________________________________
MirageOS-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/mirageos-devel

Reply via email to