From mirageos-devel-bounces@lists.xenproject.org Tue Dec 08 12:05:55 2020
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 08 Dec 2020 12:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.47405.83861 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1kmbkR-0005p0-Dw; Tue, 08 Dec 2020 12:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 47405.83861; Tue, 08 Dec 2020 12:05:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1kmbkR-0005os-A2; Tue, 08 Dec 2020 12:05:39 +0000
Received: by outflank-mailman (input) for mailman id 47405;
 Tue, 08 Dec 2020 12:05:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o7dv=FM=mehnert.org=hannes@srs-us1.protection.inumbo.net>)
 id 1kmbkP-0005on-ID
 for mirageos-devel@lists.xenproject.org; Tue, 08 Dec 2020 12:05:37 +0000
Received: from mail.mehnert.org (unknown [213.73.89.200])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 15829a00-9ae3-4023-b3e1-89f2681d9727;
 Tue, 08 Dec 2020 12:05:35 +0000 (UTC)
Received: from [192.168.42.80]
 (dslb-178-008-103-057.178.008.pools.vodafone-ip.de [178.8.103.57])
 (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
 (Client CN "hannes@mehnert.org", Issuer "mehnert root CA" (not verified))
 by mail.mehnert.org (Postfix) with ESMTPS id E3FE4E903
 for <mirageos-devel@lists.xenproject.org>;
 Tue,  8 Dec 2020 13:05:33 +0100 (CET)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15829a00-9ae3-4023-b3e1-89f2681d9727
To: mirageos-devel@lists.xenproject.org
From: Hannes Mehnert <hannes@mehnert.org>
Subject: [ANN] MirageOS 3.10 released
Message-ID: <ac2041e8-2bb1-b1d0-efc8-66253784e418@mehnert.org>
Date: Tue, 8 Dec 2020 13:05:28 +0100
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101
 Thunderbird/68.9.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit

Dear all,

we're pleased to announce MirageOS 3.10:

IPv6 and dual (IPv4 and IPv6) stack support #1187

Since a long time, IPv6 code was around in our TCP/IP stack (thanks to
@nojb who developed it in 2014). Some months ago, @hannesm and @MagnusS
got excited to use it. After we managed to fix some bugs and add some
test cases, and writing more code to setup IPv6-only and dual stacks, we
are eager to share this support for MirageOS in a released version. We
expect there to be bugs lingering around, but duplicate address
detection (neighbour solicitation and advertisements) has been
implemented, and (unless "--accept-router-advertisement=false") router
advertisements are decoded and used to configure the IPv6 part of the
stack. Configuring a static IPv6 address is also possible (with
"--ipv6=2001::42/64").

While at it, we unified the boot arguments between the different
targets: namely, on Unix (when using the socket stack), you can now pass
"--ipv4=127.0.0.1/24" to the same effect as the direct stack: only
listen on 127.0.0.1 (the subnet mask is ignored for the Unix socket stack).

A dual stack unikernel has "--ipv4-only=BOOL" and "--ipv6-only=BOOL"
parameters, so a unikernel binary could support both Internet Protocol
versions, while the operator can decide which protocol version to use.
I.e. now there are both development-time (stackv4 vs stackv6 vs
stackv4v6) choices, as well as the run-time choice (via boot parameter).

I'm keen to remove the stackv4 & stackv6 in future versions, and always
develop with dual stack (leaving it to configuration & startup time to
decide whether to enable ipv4 and ipv6).

Please also note that the default IPv4 network configuration no longer
uses 10.0.0.1 as default gateway (since there was no way to unset the
default gateway #1147).

For unikernel developers, there are some API changes in the Mirage module
- New "v4v6" types for IP protocols and stacks
- The ipv6_config record was adjusted in the same fashion as the ipv4_config
  type: it is now a record of a network (V6.Prefix.t) and gateway (V6.t
option)

Some parts of the Mirage_key module were unified as well:
- Arp.ip_address is available (for a dual Ipaddr.t)
- Arg.ipv6_address replaces Arg.ipv6 (for an Ipaddr.V6.t)
- Arg.ipv6 replaces Arg.ipv6_prefix (for a Ipaddr.V6.Prefix.t)
- V6.network and V6.gateway are available, mirroring the V4 submodule

If you're ready to experiment with the dual stack: below is a diff for
our basic network example (from mirage-skeleton/device-usage/network)
replacing IPv4 with a dual stack, and the tlstunnel unikernel commit
https://github.com/roburio/tlstunnel/commit/2cb3e5aa11fca4b48bb524f3c0dbb754a6c8739b
changed tlstunnel from IPv4 stack to dual stack.

```
diff --git a/device-usage/network/config.ml b/device-usage/network/config.ml
index c425edb..eabc9d6 100644
--- a/device-usage/network/config.ml
+++ b/device-usage/network/config.ml
@@ -4,9 +4,9 @@ let port =
   let doc = Key.Arg.info ~doc:"The TCP port on which to listen for
incoming connections." ["port"] in
   Key.(create "port" Arg.(opt int 8080 doc))

-let main = foreign ~keys:[Key.abstract port] "Unikernel.Main" (stackv4
@-> job)
+let main = foreign ~keys:[Key.abstract port] "Unikernel.Main"
(stackv4v6 @-> job)

-let stack = generic_stackv4 default_network
+let stack = generic_stackv4v6 default_network

 let () =
   register "network" [
diff --git a/device-usage/network/unikernel.ml
b/device-usage/network/unikernel.ml
index 5d29111..1bf1228 100644
--- a/device-usage/network/unikernel.ml
+++ b/device-usage/network/unikernel.ml
@@ -1,19 +1,19 @@
 open Lwt.Infix

-module Main (S: Mirage_stack.V4) = struct
+module Main (S: Mirage_stack.V4V6) = struct

   let start s =
     let port = Key_gen.port () in
-    S.listen_tcpv4 s ~port (fun flow ->
-        let dst, dst_port = S.TCPV4.dst flow in
+    S.listen_tcp s ~port (fun flow ->
+        let dst, dst_port = S.TCP.dst flow in
         Logs.info (fun f -> f "new tcp connection from IP %s on port %d"
-                  (Ipaddr.V4.to_string dst) dst_port);
-        S.TCPV4.read flow >>= function
+                  (Ipaddr.to_string dst) dst_port);
+        S.TCP.read flow >>= function
         | Ok `Eof -> Logs.info (fun f -> f "Closing connection!");
Lwt.return_unit
-        | Error e -> Logs.warn (fun f -> f "Error reading data from
established connection: %a" S.TCPV4.pp_error e); Lwt.return_unit
+        | Error e -> Logs.warn (fun f -> f "Error reading data from
established connection: %a" S.TCP.pp_error e); Lwt.return_unit
         | Ok (`Data b) ->
           Logs.debug (fun f -> f "read: %d bytes:\n%s" (Cstruct.len b)
(Cstruct.to_string b));
-          S.TCPV4.close flow
+          S.TCP.close flow
       );

     S.listen s
```

Other bug fixes include #1188 (in #1201) and adapt to charrua 1.3.0 and
arp 2.3.0 changes (#1199).


Happy hacking,

hannes


From mirageos-devel-bounces@lists.xenproject.org Tue Dec 22 16:40:39 2020
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 22 Dec 2020 16:40:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.57999.101736 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1krki2-0004Vj-Kx; Tue, 22 Dec 2020 16:40:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 57999.101736; Tue, 22 Dec 2020 16:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1krki2-0004Vc-Hu; Tue, 22 Dec 2020 16:40:26 +0000
Received: by outflank-mailman (input) for mailman id 57999;
 Tue, 22 Dec 2020 16:40:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]
 helo=us1-amaz-eas2.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gtU+=F2=lucina.net=martin@srs-us1.protection.inumbo.net>)
 id 1krki1-0004VX-Rt
 for mirageos-devel@lists.xenproject.org; Tue, 22 Dec 2020 16:40:25 +0000
Received: from smtp.lucina.net (unknown [62.176.169.44])
 by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS
 id 680cb866-ca01-4a01-a199-7e3f87638ea5;
 Tue, 22 Dec 2020 16:40:24 +0000 (UTC)
Received: from nodbug.lucina.net (78-141-76-187.dynamic.orange.sk
 [78.141.76.187])
 by smtp.lucina.net (Postfix) with ESMTPSA id CC24C122804;
 Tue, 22 Dec 2020 17:40:22 +0100 (CET)
Received: by nodbug.lucina.net (Postfix, from userid 1000)
 id 5CEE826842AD; Tue, 22 Dec 2020 17:40:22 +0100 (CET)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 680cb866-ca01-4a01-a199-7e3f87638ea5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lucina.net;
	s=dkim-201811; t=1608655222;
	bh=W137l5IqPTNekGTWEGJEBT7Vw4Lqg4R8pGoxTtAW1q4=;
	h=Date:From:To:Subject:References:In-Reply-To:From;
	b=nW679+JMFRdWTrkuY0RJNNdPOvx0AaxRG3k58bZvNzUYZwdgtnZVAPwE7vv3p1VcL
	 +YxqNhwda3Prye91dfILMNqBXwu2mX9FRgqDal/uoYczE4AeRDtoe8qb0qegyOIjmU
	 Fr/5TQqDwemMDPsfrSQnEd1te5lU5kRlO8IVdFMhwl9qcgMp07W+636LTbeIrES/Mb
	 7UchaN++i5r1/eBX/TWfpolMFganKSBU27qpb2vuUy83wktqjs6NdS5t2q0uJ9svyS
	 QGFuaOwrdMZLb3dutzbmBM5WrY0vaY04CODpBU/+O4oAFdmXd2ZsZoOmJWoPi6rscl
	 TVHi21qyjQEww==
Date: Tue, 22 Dec 2020 17:40:22 +0100
From: Martin Lucina <martin@lucina.net>
To: Hans Ole Rafaelsen <hrafaelsen@gmail.com>,
	Ricardo Koller <ricarkol@gmail.com>,
	mirageos-devel@lists.xenproject.org
Subject: Re: MirageOS on OpenStack problem
Message-ID: <20201222164022.GB36335@nodbug.lucina.net>
Mail-Followup-To: Martin Lucina <martin@lucina.net>,
	Hans Ole Rafaelsen <hrafaelsen@gmail.com>,
	Ricardo Koller <ricarkol@gmail.com>,
	mirageos-devel@lists.xenproject.org
References: <20201016121547.GA19073@nodbug.lucina.net>
 <CALs4vDa1o4DnuCegNHr5hNjSqtdUV2iXjbhvWAj-PJCEyOB+ig@mail.gmail.com>
 <CALs4vDZ5d=r8NBy-7nKFm2jtu8Cgmwrj5bQ_A_z08MU_K_SNEw@mail.gmail.com>
 <20201026103746.GB11343@nodbug.lucina.net>
 <20201026104335.GC11343@nodbug.lucina.net>
 <CALs4vDZqAQhyc5JG2LGUkdhTXXNJofe7-dbiGC8JQ7oYs8S3ug@mail.gmail.com>
 <CAN4M1O6o7M5Ae_K_KUHoDQ9gv6OS7RLKLD-WGoitn-j_sDK2DQ@mail.gmail.com>
 <CAN4M1O7aO3FZkaDqiKzEPLc82teZ-pWZtds94bqqpoGd+Oxg-g@mail.gmail.com>
 <CALs4vDYDakZqpLe2JDk=g4qiLSgNFV4Dz4u5g7+b3tar8Cmb4A@mail.gmail.com>
 <20201105150520.GC29775@nodbug.lucina.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20201105150520.GC29775@nodbug.lucina.net>
User-Agent: Mutt/1.10.1 (2018-07-13)

Hans,

On Thursday, 05.11.2020 at 16:05, Martin Lucina wrote:
> thanks for investigating! I've created an issue to track this, though I
> don't expect to have time to look into it soon:
> 
> https://github.com/Solo5/solo5/issues/483
> 
> Hans, you might want to subscribe to that, I don't know your Github ID.

Thanks to Ricardo, we now have a proper fix for this on master. If you have
time, would you mind confirming that it also works on your OpenStack
platform?

> In the mean time, you can work with Ricardo's patch; if you want to get
> that working with a MirageOS application, then do something like (assuming
> OPAM already set up):
> 
> 1. git clone https://github.com/Solo5/solo5.git
> 2. apply Ricardo's workaround to solo5/
> 3. opam pin add -k path solo5-bindings-virtio solo5/
> 4. proceed as normal with building a Mirage application.

To work with master, replace (3) above with

    opam pin add --dev-repo solo5-bindings-virtio

Cheers,

Martin


From mirageos-devel-bounces@lists.xenproject.org Wed Dec 23 11:20:34 2020
Return-path: <mirageos-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 23 Dec 2020 11:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.58313.102422 (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ks2Bp-0002f8-N6; Wed, 23 Dec 2020 11:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 58313.102422; Wed, 23 Dec 2020 11:20:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <mirageos-devel-bounces@lists.xenproject.org>)
	id 1ks2Bp-0002f1-K9; Wed, 23 Dec 2020 11:20:21 +0000
Received: by outflank-mailman (input) for mailman id 58313;
 Wed, 23 Dec 2020 11:20:20 +0000
Received: from us1-rack-iad1.inumbo.com ([172.99.69.81])
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=n2Pa=F3=gmail.com=hrafaelsen@srs-us1.protection.inumbo.net>)
 id 1ks2Bo-0002ew-5A
 for mirageos-devel@lists.xenproject.org; Wed, 23 Dec 2020 11:20:20 +0000
Received: from mail-ej1-x635.google.com (unknown [2a00:1450:4864:20::635])
 by us1-rack-iad1.inumbo.com (Halon) with ESMTPS
 id 36d44613-f079-40d4-93ea-ff3eb6ad2e37;
 Wed, 23 Dec 2020 11:20:18 +0000 (UTC)
Received: by mail-ej1-x635.google.com with SMTP id j22so22307151eja.13
 for <mirageos-devel@lists.xenproject.org>;
 Wed, 23 Dec 2020 03:20:18 -0800 (PST)
X-BeenThere: mirageos-devel@lists.xenproject.org
List-Id: Developer list for MirageOS <mirageos-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:mirageos-devel@lists.xenproject.org>
List-Help: <mailto:mirageos-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/mirageos-devel>, 
 <mailto:mirageos-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: mirageos-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "MirageOS-devel" <mirageos-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36d44613-f079-40d4-93ea-ff3eb6ad2e37
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:references:in-reply-to:from:date:message-id:subject:to;
        bh=a6xrajdr7YVSnt8791bNKSoFxMG+FWdp/IKVve9j5zs=;
        b=JZmOpOLcuGmBt0kGp3zVuR8V+lEmEf3w4qQxD7OCbEaX1e1HKGjFU6oHdmlipP9Ai3
         S9T/7rsFR8QBb4vzTjNrwczANuImwWRsmvESL4fpXzjg/6Ulj+6BGsoBvoOPeN9XOq8r
         uPHSTm6GhRG3eeW57X+5BWAwF31KIZKcDh0rsZgCp+JrgzxELOaf5eQoFV5M3WViR4gt
         LRBJE/qMA44r3PVh+raLtO4Jz/1qvVH/2S8W6ZMX+PgcUQPaGg1YXLpC+n8OArCNSqT/
         HN51KTQDHviOXTffOokwe39wmhpWZ1URAKyhfJ8BcU4sgkpA/tcGEqa35tDkws5+QZCc
         r4ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:references:in-reply-to:from:date
         :message-id:subject:to;
        bh=a6xrajdr7YVSnt8791bNKSoFxMG+FWdp/IKVve9j5zs=;
        b=teAKyjVuSE35AjoDO6YgH1RYudWXrYv02HVmPvhLeCNfCFaFhqdS1KXpJuoxHTB76p
         LGZ94vkKzKOE2gXpMz63YVTn3mt6IN675bISHdqMIWqV9+mx9GBuH1n5iVHB/6Eff9Hr
         OR1yZ9BMxJBzt8HB+H4EWbsinceWhpaDTrW8Pai4X3FEQ5w7Q1Ogp6k5r08oIQEF22cn
         y8f6kExUjQnyRKwvPYegy9aZMFJdDLlMrX7qf/7EMju3HV2hLJEAZ/cBdLHuzC5kWUyE
         BJvHXbc3kXVwUcqd6Sp1KKFzlkdnLxkVJPpleo60kU10ItsBzbg0IFhOGOf0LeLFVu+p
         hRyw==
X-Gm-Message-State: AOAM5312dIko3SBMxsN1d2kPOpp7lZAGkgm0vf+0/5SeDRD7UX4fE+Z1
	/eojvGIqgqlyZ77vxk1lFMYrqbsUdVyCXWYWvrU=
X-Google-Smtp-Source: ABdhPJz2D9UWpXzjC0+WMBqiOVC8NM4q+s+kkSaF6XXlCfvdQ3AKDFnOVcD/08jl5iVxIf9WmZOosmR63A2tGBNKHfo=
X-Received: by 2002:a17:906:b217:: with SMTP id p23mr19277479ejz.461.1608722417701;
 Wed, 23 Dec 2020 03:20:17 -0800 (PST)
MIME-Version: 1.0
References: <20201016121547.GA19073@nodbug.lucina.net> <CALs4vDa1o4DnuCegNHr5hNjSqtdUV2iXjbhvWAj-PJCEyOB+ig@mail.gmail.com>
 <CALs4vDZ5d=r8NBy-7nKFm2jtu8Cgmwrj5bQ_A_z08MU_K_SNEw@mail.gmail.com>
 <20201026103746.GB11343@nodbug.lucina.net> <20201026104335.GC11343@nodbug.lucina.net>
 <CALs4vDZqAQhyc5JG2LGUkdhTXXNJofe7-dbiGC8JQ7oYs8S3ug@mail.gmail.com>
 <CAN4M1O6o7M5Ae_K_KUHoDQ9gv6OS7RLKLD-WGoitn-j_sDK2DQ@mail.gmail.com>
 <CAN4M1O7aO3FZkaDqiKzEPLc82teZ-pWZtds94bqqpoGd+Oxg-g@mail.gmail.com>
 <CALs4vDYDakZqpLe2JDk=g4qiLSgNFV4Dz4u5g7+b3tar8Cmb4A@mail.gmail.com>
 <20201105150520.GC29775@nodbug.lucina.net> <20201222164022.GB36335@nodbug.lucina.net>
In-Reply-To: <20201222164022.GB36335@nodbug.lucina.net>
From: Hans Ole Rafaelsen <hrafaelsen@gmail.com>
Date: Wed, 23 Dec 2020 12:20:06 +0100
Message-ID: <CALs4vDbpjKzMJMQrR=2dUrRKzdBekj3gD8jDfKn6ijUDAY4OfQ@mail.gmail.com>
Subject: Re: MirageOS on OpenStack problem
To: Martin Lucina <martin@lucina.net>, Hans Ole Rafaelsen <hrafaelsen@gmail.com>, 
	Ricardo Koller <ricarkol@gmail.com>, mirageos-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000003fd87005b71fe0f1"

--0000000000003fd87005b71fe0f1
Content-Type: text/plain; charset="UTF-8"

Martin and Ricardo,

Thanks for the fix!

It works fine on the OpenStack platform.

$ opam list --all | grep solo5-bindings-virtio
solo5-bindings-virtio                           0.6.7        pinned to
version 0.6.7 at git+https://github.com/solo5/solo5.git

SYSLINUX 6.03 20171017 Copyright (C) 1994-2014 H. Peter Anvin et al
Loading unikernel.bin... ok
            |      ___|
  __|  _ \  |  _ \ __ \
\__ \ (   | | (   |  ) |
____/\___/ _|\___/____/
Solo5: Bindings version v0.6.8-4-g0eb8cb8
Solo5: Memory map: 1023 MB addressable:
Solo5:   reserved @ (0x0 - 0xfffff)
Solo5:       text @ (0x100000 - 0x48ffff)
Solo5:     rodata @ (0x490000 - 0x52efff)
Solo5:       data @ (0x52f000 - 0x7b7fff)
Solo5:       heap >= 0x7b8000 < stack < 0x3ffdc000
Solo5: Clock source: KVM paravirtualized clock
Solo5: PCI:00:03: virtio-net device, base=0xc060, irq=11
Solo5: PCI:00:03: configured, mac=fa:16:3e:cc:88:0f, features=0x48bf81a6
Solo5: PCI:00:04: virtio-block device, base=0xc000, irq=11
Solo5: PCI:00:04: configured, capacity=2097152 sectors, features=0x79000e54
Solo5: PCI:00:05: unknown virtio device (0x5)
Solo5: Application acquired 'service' as network device
2020-12-23 07:53:55 -00:00: INF [netif] Plugging into service with mac
fa:16:3e:cc:88:0f mtu 1500
2020-12-23 07:53:55 -00:00: INF [ethernet] Connected Ethernet
interface fa:16:3e:cc:88:0f
2020-12-23 07:53:55 -00:00: INF [dhcp_client_lwt] Lease obtained! IP:
10.3.91.3, routers: 10.3.91.1
2020-12-23 07:53:55 -00:00: INF [ARP] Sending gratuitous ARP for
10.3.91.3 (fa:16:3e:cc:88:0f)
2020-12-23 07:53:55 -00:00: INF [udp] UDP interface connected on 10.3.91.3
2020-12-23 07:53:55 -00:00: INF [tcpip-stack-direct] stack assembled:
mac=fa:16:3e:cc:88:0f,ip=10.3.91.3

Regards,

Hans Ole


On Tue, Dec 22, 2020 at 5:40 PM Martin Lucina <martin@lucina.net> wrote:

> Hans,
>
> On Thursday, 05.11.2020 at 16:05, Martin Lucina wrote:
> > thanks for investigating! I've created an issue to track this, though I
> > don't expect to have time to look into it soon:
> >
> > https://github.com/Solo5/solo5/issues/483
> >
> > Hans, you might want to subscribe to that, I don't know your Github ID.
>
> Thanks to Ricardo, we now have a proper fix for this on master. If you have
> time, would you mind confirming that it also works on your OpenStack
> platform?
>
> > In the mean time, you can work with Ricardo's patch; if you want to get
> > that working with a MirageOS application, then do something like
> (assuming
> > OPAM already set up):
> >
> > 1. git clone https://github.com/Solo5/solo5.git
> > 2. apply Ricardo's workaround to solo5/
> > 3. opam pin add -k path solo5-bindings-virtio solo5/
> > 4. proceed as normal with building a Mirage application.
>
> To work with master, replace (3) above with
>
>     opam pin add --dev-repo solo5-bindings-virtio
>
> Cheers,
>
> Martin
>

--0000000000003fd87005b71fe0f1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Martin and Ricardo,</div><div><br></div><div>Thanks f=
or the fix! <br></div><div><br></div><div>It works fine on the OpenStack pl=
atform.</div><div><br></div><div>$ opam list --all | grep solo5-bindings-vi=
rtio<br>solo5-bindings-virtio =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 0.6.7 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0pinned to version 0.6.7 at git+<a href=3D"https://github.com/solo5/so=
lo5.git">https://github.com/solo5/solo5.git</a><br></div><div><br></div><di=
v><pre class=3D"gmail-logs">SYSLINUX 6.03 20171017 Copyright (C) 1994-2014 =
H. Peter Anvin et al
Loading unikernel.bin... ok
            |      ___|
  __|  _ \  |  _ \ __ \
\__ \ (   | | (   |  ) |
____/\___/ _|\___/____/
Solo5: Bindings version v0.6.8-4-g0eb8cb8
Solo5: Memory map: 1023 MB addressable:
Solo5:   reserved @ (0x0 - 0xfffff)
Solo5:       text @ (0x100000 - 0x48ffff)
Solo5:     rodata @ (0x490000 - 0x52efff)
Solo5:       data @ (0x52f000 - 0x7b7fff)
Solo5:       heap &gt;=3D 0x7b8000 &lt; stack &lt; 0x3ffdc000
Solo5: Clock source: KVM paravirtualized clock
Solo5: PCI:00:03: virtio-net device, base=3D0xc060, irq=3D11
Solo5: PCI:00:03: configured, mac=3Dfa:16:3e:cc:88:0f, features=3D0x48bf81a=
6
Solo5: PCI:00:04: virtio-block device, base=3D0xc000, irq=3D11
Solo5: PCI:00:04: configured, capacity=3D2097152 sectors, features=3D0x7900=
0e54
Solo5: PCI:00:05: unknown virtio device (0x5)
Solo5: Application acquired &#39;service&#39; as network device
2020-12-23 07:53:55 -00:00: INF [netif] Plugging into service with mac fa:1=
6:3e:cc:88:0f mtu 1500
2020-12-23 07:53:55 -00:00: INF [ethernet] Connected Ethernet interface fa:=
16:3e:cc:88:0f
2020-12-23 07:53:55 -00:00: INF [dhcp_client_lwt] Lease obtained! IP: 10.3.=
91.3, routers: 10.3.91.1
2020-12-23 07:53:55 -00:00: INF [ARP] Sending gratuitous ARP for 10.3.91.3 =
(fa:16:3e:cc:88:0f)
2020-12-23 07:53:55 -00:00: INF [udp] UDP interface connected on 10.3.91.3
2020-12-23 07:53:55 -00:00: INF [tcpip-stack-direct] stack assembled: mac=
=3Dfa:16:3e:cc:88:0f,ip=3D10.3.91.3<br><br></pre><pre class=3D"gmail-logs">=
Regards,<br><br></pre><pre class=3D"gmail-logs">Hans Ole<br></pre></div></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On =
Tue, Dec 22, 2020 at 5:40 PM Martin Lucina &lt;<a href=3D"mailto:martin@luc=
ina.net">martin@lucina.net</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex">Hans,<br>
<br>
On Thursday, 05.11.2020 at=C2=A016:05, Martin Lucina wrote:<br>
&gt; thanks for investigating! I&#39;ve created an issue to track this, tho=
ugh I<br>
&gt; don&#39;t expect to have time to look into it soon:<br>
&gt; <br>
&gt; <a href=3D"https://github.com/Solo5/solo5/issues/483" rel=3D"noreferre=
r" target=3D"_blank">https://github.com/Solo5/solo5/issues/483</a><br>
&gt; <br>
&gt; Hans, you might want to subscribe to that, I don&#39;t know your Githu=
b ID.<br>
<br>
Thanks to Ricardo, we now have a proper fix for this on master. If you have=
<br>
time, would you mind confirming that it also works on your OpenStack<br>
platform?<br>
<br>
&gt; In the mean time, you can work with Ricardo&#39;s patch; if you want t=
o get<br>
&gt; that working with a MirageOS application, then do something like (assu=
ming<br>
&gt; OPAM already set up):<br>
&gt; <br>
&gt; 1. git clone <a href=3D"https://github.com/Solo5/solo5.git" rel=3D"nor=
eferrer" target=3D"_blank">https://github.com/Solo5/solo5.git</a><br>
&gt; 2. apply Ricardo&#39;s workaround to solo5/<br>
&gt; 3. opam pin add -k path solo5-bindings-virtio solo5/<br>
&gt; 4. proceed as normal with building a Mirage application.<br>
<br>
To work with master, replace (3) above with<br>
<br>
=C2=A0 =C2=A0 opam pin add --dev-repo solo5-bindings-virtio<br>
<br>
Cheers,<br>
<br>
Martin<br>
</blockquote></div>

--0000000000003fd87005b71fe0f1--


