avsm changed the topic of #mirage to: mirage 2 released! party on!
rgrinberg has joined #mirage
yomimono has joined #mirage
yomimono has quit [Client Quit]
yegods has quit [Remote host closed the connection]
noddy has joined #mirage
insitu has joined #mirage
noddy has quit [Ping timeout: 245 seconds]
copy` has quit [Quit: Connection closed for inactivity]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
insitu has joined #mirage
insitu has quit [Client Quit]
noddy has joined #mirage
twopoint718 has joined #mirage
twopoint718 has quit [Client Quit]
yegods has joined #mirage
yegods has quit [Ping timeout: 250 seconds]
_whitelogger has joined #mirage
brson has quit [Quit: leaving]
rgrinberg has quit [Remote host closed the connection]
_whitelogger has joined #mirage
jermar has joined #mirage
yegods has joined #mirage
yegods has quit [Ping timeout: 245 seconds]
jermar has quit [Ping timeout: 240 seconds]
insitu has joined #mirage
andreas23 has quit [Quit: Leaving.]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
insitu has joined #mirage
fgimenez has joined #mirage
andreas23 has joined #mirage
andreas23 has left #mirage [#mirage]
yegods has joined #mirage
yegods has quit [Ping timeout: 268 seconds]
mort___ has joined #mirage
jermar has joined #mirage
AltGr has joined #mirage
yegods has joined #mirage
mato has quit [Quit: leaving]
mato has joined #mirage
mato has quit [Quit: WeeChat 1.6]
mato has joined #mirage
mato has quit [Client Quit]
mato has joined #mirage
mato has quit [Client Quit]
mato has joined #mirage
copy` has joined #mirage
fgimenez has quit [Ping timeout: 260 seconds]
fgimenez has joined #mirage
fgimenez has joined #mirage
fgimenez has quit [Changing host]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mort___ has quit [Quit: Leaving.]
mort___ has joined #mirage
fgimenez has quit [Ping timeout: 256 seconds]
fgimenez has joined #mirage
fgimenez has joined #mirage
fgimenez has quit [Changing host]
insitu has joined #mirage
yegods has quit [Remote host closed the connection]
yegods has joined #mirage
yegods has quit [Remote host closed the connection]
<mato> hannes: around?
<mato> hannes: I'm experimenting some more -- where exactly can I add an option to the ocamlbuild invocation in the "new order"?
<mato> hannes: It seems "-X _build-ukvm" might do the trick
yomimono has joined #mirage
<hannes> mato: great! I just pushed functoria + mirage changes to include -X _build-ukvm
<mato> ok, trying them out now...
<mato> hannes: seems to work. another nit: "make clean" removes the Makefile which is ... surprising ... :-)
yegods has joined #mirage
<hannes> make clean == mirage clean == distclean... there should be both a distclean and a clean
<mato> ack, though perhaps for the transition period make clean couuld just run "ocamlbuild ... -clean" (simple fix?)
yegods has quit [Remote host closed the connection]
<mato> also, I'm seeing a bunch of exceptions in Functoria when building static_website_tls (doesn't seem to stop the build though)
<mato> $ make
<mato> mirage build -t ukvm
<mato> ocamlfind ocamlopt unix.cmxa -I /home/mato/.opam/mirage-dev-4.04.0/lib/ocamlbuild /home/mato/.opam/mirage-dev-4.04.0/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/mato/.opam/mirage-dev-4.04.0/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
<mato> ocamlfind ocamldep -package mirage -modules config.ml > config.ml.depends
<mato> ocamlfind ocamlc -c -bin-annot -package mirage -color always -o config.cmo config.ml
<mato> ocamlfind ocamlopt -c -bin-annot -package mirage -color always -o config.cmx config.ml
<mato> ocamlfind ocamlopt -shared -package mirage config.cmx -o config.cmxs
<mato> Uncaught exception: Invalid_argument("Fl_package_base.query")
<mato> Generating /home/mato/solo5/mirage-skeleton/static_website_tls/static1.ml
<mato> Generating /home/mato/solo5/mirage-skeleton/static_website_tls/static1.mli
<mato> Uncaught exception: Invalid_argument("Fl_package_base.query")
<mato> Generating /home/mato/solo5/mirage-skeleton/static_website_tls/static2.ml
<mato> Generating /home/mato/solo5/mirage-skeleton/static_website_tls/static2.mli
<mato> (...)
noddy has quit [Ping timeout: 248 seconds]
mort___ has quit [Quit: Leaving.]
mort___ has joined #mirage
<hannes> I've no clue where Fl_package comes from
<hannes> Fl_package_base
miragebot has joined #mirage
<miragebot> mirage/master 67cd271 Anil Madhavapeddy: Merge pull request #708 from avsm/master...
miragebot has left #mirage [#mirage]
<miragebot> [mirage] avsm pushed 2 new commits to master: https://git.io/v1mq4
<miragebot> mirage/master 0f1cf22 Anil Madhavapeddy: doc: temporarily disable arp and mirage-block-ramdisk from docs build...
noddy has joined #mirage
rgrinberg has joined #mirage
yegods has joined #mirage
brson has joined #mirage
mort___ has quit [Quit: Leaving.]
brson_ has joined #mirage
brson has quit [Ping timeout: 268 seconds]
brson_ has quit [Quit: leaving]
brson has joined #mirage
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
fgimenez has quit []
insitu has joined #mirage
noddy has quit [Ping timeout: 258 seconds]
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jermar has quit [Ping timeout: 260 seconds]
miragebot has joined #mirage
<miragebot> mirage/master cfac654 Mindy Preston: specify ipv4/netmask as one parameter in the "network" key.
<miragebot> mirage/master 53d38dc Mindy Preston: Merge pull request #707 from yomimono/ipv4-network-one-key...
miragebot has left #mirage [#mirage]
<miragebot> [mirage] yomimono pushed 2 new commits to master: https://git.io/v1m0u
mort___ has joined #mirage
yegods has quit [Remote host closed the connection]
mort___ has quit [Ping timeout: 258 seconds]
yegods has joined #mirage
rgrinberg has quit [Remote host closed the connection]
andreas23 has joined #mirage
brson has quit [Read error: Connection reset by peer]
brson has joined #mirage
noddy has joined #mirage
<mato> yomimono: in #707, why --network and not --ip ?
<yomimono> perhaps you are interested in the followup PR which changes it to --ipv4
<yomimono> ^ mato
<mato> yomimono: ah, ok, makes sense :)
<mato> that'd be #709, right?
<hannes> mato: around?
<yomimono> mato: yes
<mato> hannes: a bit, yeah
<hannes> mato: current UKVM_MODULES env var is set in new order.. but I'm happy to pass them explicitly to ukvm-configure
<hannes> do you expect a single argument with whitespace separations, or multiple arguments?
<hannes> ukvm-configure "foo bar" or ukvm-configure foo bar
<mato> multiple arguments, it's just a shell script
<mato> ah, it's not an *env* var, it's a make var
<hannes> there, you have them :)
<hannes> hmm 709... thinking what the actually right name would be? cidr? v4cidr?
<mato> IMO it's fairly common to treat "IPv4 address" as "IP/CIDR"
<hannes> k, then lets settle with "ipv4"
<mato> eg. even freebsd ifconfig lets you do ifconfig iface 1.2.3.4/12
<hannes> yes
<mato> yeah, ipv4 is fine
<hannes> I always use this
<yomimono> yay
<hannes> mato: if this ukvm module thing is good for you, I guess we can merge this rather insanely large PR?
<mato> hannes: i'll try it out, give me a few minutes
<hannes> yes, and I'll rebase
<mato> re --ipv4, i guess the question of what to call gateway kind of comes up
<mato> --gateway4 ? :/
<mato> yomimono: ?
<yomimono> atm it's gateway for ipv4 and gateways for ipv6, which is not very ideal
<hannes> mato: yomimono settled with --ipv4 1.2.3.4/24 and --ipv4-address 1.2.3.1
<hannes> so, #703 is rebased on current master
<mato> what is --ipv4-address ?
<yomimono> --ipv4-address shouldn't be exposed as a key
<hannes> oh, ok... then --ipv4 and --gateway!
<yomimono> hannes: where do you see that?
<hannes> yomimono: I thought from reading briefly through 709
<yomimono> (we need the converter for understanding the gateway, but that's separate from what we show the user)
<yomimono> hannes: oh, ok. thought I'd left some weird dangling config somewhere for a minute
brson has quit [Read error: Connection reset by peer]
jermar has joined #mirage
<mato> so, what do we do with --gateway and --gateways? (these are all very user-visible changes, may as well get them sorted)
brson has joined #mirage
brson has quit [Read error: Connection reset by peer]
<mato> --gateway4 --gateways6 (ugly but obvious)
<mato> or even ditch the 's' for v6, so just --gateway6 and document it can take multiple items?
<yomimono> is "gateway" even the right term when it comes to ipv6?
<mato> hmm
<yomimono> I'd rather change it to something that actually makes sense
<mato> not sure. for v6 we won't really know what right is until we start deploying somewhere
<yomimono> mato: yeah, that's the problem with a lot of the ipv6 setup - I don't think the existing keys have ever been used
<mato> i've been meaning to try it, but not yet gotten around to it
<yomimono> I recall we talked about this but I haven't found the spare time to mess with it :(
<mato> yeah
<yomimono> heh, jinx
brson has joined #mirage
<mato> maybe --default-gateway4 and --default-gateway6 ?
<mato> what are the multiple gateways for ipv6 intended for?
<yomimono> mato: they're called "routers" internally, I'm looking at the implementation now
<yomimono> I don't know enough about ipv6 to say anything more intelligent than "it looks like they actually do get used in figuring out the next hop"
<mato> ipv6 certainly has a concept of default route, that might be just the implementation allowing something more than our ipv4 does?
<mato> i.e. an actual routing table?
brson has quit [Read error: Connection reset by peer]
<yomimono> yes, it indeed looks like the ipv6 implementation allows for an actual routing table, and will (given >1 "gateway") attempt to find the most suitable one
<mato> hm
<yomimono> more correctly (I think) the first one via which the destination is reachable
<yomimono> which is distinct from what I said initially
<mato> do we also have support for multiple ipv6 addresses exposed?
<yomimono> yes.
<yomimono> hm, I said that -- definitely at the IPv6 module API and I think at the key levvel
brson has joined #mirage
<yomimono> although getting a unikernel which gives you those keys is probably a little tricky at the moment
<mato> hannes: ok, tested #703 with stackv4 and block, ukvm modules are set correctly
<mato> hannes: so i think we can merge, if yomimono agrees.
<hannes> !!
<mato> btw is it deliberate that mirage clean does not clean the generated .opam file?
<yomimono> I haven't driven it again yet but I trust you, go ahead
<mato> yomimono: so, a suggestion for the v4/v6 key (option) naming: --ipv[46], --ipv[46]-gateway ? we ditch the 's' for ipv6 and ignore (for now) the fact that you can specify multiple routers since we don't know what that should do in practice...
<mato> wdyt
<yomimono> I think someone needs to make V1.STACKV6 (or make V1.STACK be properly parameterized over the IP module) before it matters, since the v6 keys are unusable at the moment. I'm hesitant to agree to specifying the ip/prefix stuff as tuples for ipv6 as there's a comment in the last discussion I had about it that explicitly says not to do that, if I understand it properly
<mato> ok, so if we stick to ipv4, we're still left with what to call --gateway to be a) consistent b) future-proof
mort___ has joined #mirage
<mato> i think it makes sense to have --ipv4 and --ipv4-gateway, with a view to future --ipv4-whatever, but am open to counter-arguments
<mato> though if we keep calling the ipv4 gateway just --gateway then the address/cidr may as well be just --ip...
<yomimono> --ipv4 and --ipv4-gateway, the people have spoken
insitu has joined #mirage
<mato> how is this supposed to interop in a N-interfaces scenario, if at all?
<mato> as in, do we have any current/proposed syntax for that?
<yomimono> the --group keys are meant for disambiguating this
<yomimono> I always have to look up exactly how to specify them, but they do work
<yomimono> (or at least, they did a few months ago, and I've tried not to break them)
yegods has quit [Remote host closed the connection]
<yomimono> IIRC you specify that one of the network interfaces has ~group:"whatever" and then you get extra keys for --whatever-ipv4, --whatever-ipv4-gateway
insitu has quit [Ping timeout: 248 seconds]
insitu has joined #mirage
<mato> seems entirely reasonable
<yomimono> the group name is in config.ml, which might be annoying for unikernel-runner
<hannes> mato: clean opam file also needs the target... i'll followup on a fix with the target build and clean..
<hannes> +1 for ipv4-gateway
<mato> yomimono: that's no issue atm, i don't expect unikernel-runner to support >1 interface for quite some time
<yomimono> OK, 709 now also renames gateway to ipv4-gateway
<hannes> (I suspect a .current-target generated by mirage configure should be good, or?)
<mato> hannes: is this for "persisting" the target from configure to build and clean?
<hannes> yes
<hannes> the idea at least
<mato> .mirage-target perhaps?
<mato> incidentally, i was thinking about the workflow. now that we have quite a few targets, i think it makes sense for a) there no longer to be a default b) you get a friendly error if you do mirage build/clean/whatever-else-depends-on-target without having done configure beforehand
<mato> hannes: i'd use .mirage-target as a first cut. i'm sure people may want to persist more than the target, in which case that will probably change...
<hannes> mato: ack, and detecting that you haven't run configure depends on having a .mirage-target around or not
<mato> yeah
<hannes> and yes, error out on build if not having run configure
<hannes> but as said earlier, this should be a followup to 703, similar to the clean vs distclean
<mato> yes
<hannes> (plus i'm stuck with tons of other things atm)
<hannes> so, mato, since I try to avoid on my own green buttons, would be great if you can merge 703 :)
<mato> hannes: what else does it depend on? functoria#84, mirage-skeleton#200?
<mato> is that the lot?
<hannes> ack, and mirage-dev PR
<hannes> just squash mirage and functoria commits, no need for the history imho
mort___ has quit [Quit: Leaving.]
<hannes> https://github.com/mirage/mirage-dev/pull/230 is the mirage-dev thing
<mato> right
<mato> ok, let's do it
mort___ has joined #mirage
<yomimono> :D
miragebot has joined #mirage
<miragebot> [mirage] mato pushed 1 new commit to master: https://git.io/v1mde
<miragebot> mirage/master 85b6932 Hannes Mehnert: New order (#703)...
miragebot has left #mirage [#mirage]
<mato> am i now expected to stay up until all the builds pass? :p
<mato> (going to try with a clean switch on my build box at least)
<yomimono> mato: nah, that sounds like the kind of boring stuff a release manager does
<yomimono> :P
<mato> well, i'm going to try a build-from-clean-switch anyways
brson has quit [Read error: Connection reset by peer]
brson has joined #mirage
<hannes> I'll for sure look at mirage-dev travis results and fix issues if there are any..
<hannes> but i'm also atm in utc+5 (or -5, i can never remeber.. east coast us) ;)
<hannes> (and I guess some issues can be closed now)... phew, finally... thx to both of you! mato yomimono
<yomimono> thanks right back at you :)
<mato> indeed !
<mato> ok, got through block, stackv4, static_website_tls, all build (ukvm)
<mato> static_website_tls configured with --dhcp=true does NOT build, not sure if it's related
<mato> i get:
<mato> File "main.ml", line 14, characters 29-52:
<mato> Error: Unbound module Dhcp_client_mirage
<mato> Command exited with code 2.
<mato> (oh, and followed by Fatal error: exception (Invalid argument ... "run ['ocamlbuild' ...]: exited with 10")
<mato> hannes: that above error when you get a build failure is really hard to parse
insitu has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brson has quit [Read error: Connection reset by peer]
brson has joined #mirage
brson has quit [Client Quit]
brson has joined #mirage
<yomimono> mato: I was able to reproduce this, but if you build with `mirage build --dhcp true` it appears to work as expected
yegods has joined #mirage
<yomimono> possibly of interest to hannes
noddy has quit [Ping timeout: 260 seconds]
brson has quit [Read error: Connection reset by peer]
mort___ has quit [Quit: Leaving.]
brson has joined #mirage
mort___ has joined #mirage
andreas231 has joined #mirage
andreas23 has quit [Ping timeout: 258 seconds]
yomimono has quit [Ping timeout: 258 seconds]
AltGr has left #mirage [#mirage]
brson has quit [Ping timeout: 248 seconds]
brson has joined #mirage
brson has quit [Read error: Connection reset by peer]
brson has joined #mirage
brson has quit [Read error: Connection reset by peer]
brson has joined #mirage
yegods has quit [Remote host closed the connection]
yegods has joined #mirage
brson has quit [Quit: leaving]
jermar has quit [Ping timeout: 265 seconds]
yegods has quit [Remote host closed the connection]
<hannes> weird, esp since the opam contains the dependency onto the charrua-client, but the ocamlbuild invocation does not include charrua-client...
yegods has joined #mirage
noddy has joined #mirage