[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] Network issues on Xen



Hello,

I'm trying to run the MirageOS examples in mirage-skeleton and mirage-www on a Xen setup on Ubuntu 16.04, but I'm having problems getting networking to work. I posted a Github issue 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
MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/mirageos-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.