Re: rumprun autoconfiguration and netconfig usability

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users@xxxxxxxxxxxxx
  • Date: Tue, 16 Jun 2015 11:47:24 +0000

On 16/06/15 10:50, Martin Lucina wrote:

Hi,

the recent introduction of the "new-style" network interface configuration
on rumprun is a major usability setback.

I'm not particularly happy about it either. That said, having a hard way of doing what you need is an improvement over having an easy of doing !what you need.

The new-style syntax has sacrificed "usability" for "flexibility": I now
have to invent an "iftag", and I also have to remember what the
"ifbasename" of the virtual interace is on this particular platform. The
latter I *always* get wrong and is an implementation detail I shouldn't
have to care about for a unikernel running on a cloud hypervisor.

Granted, the new syntax makes it possible (fsvo possible) to configure kvm
and qemu network interfaces. An example of such a configuration:

rumprun kvm -I 'qnet0,vioif,-net tap,ifname=tap0' -W qnet0,inet,dhcp

Not only that, but it also makes it possible to give multiple addresses to interfaces (e.g. ipv4+ipv6) without ending up with one interface with a ipv4 address and another one with a ipv6 address.

Interface creation/configuration and network parameter configuration are separate things, so they should be handled separately.

Perhaps the right approach is to support *only* the simplified form of
network configuration via "rumprun -n" (i.e. Xen PV and KVM with virtio
interfaces *only*) and for everything else rather than attempting to do it
via command line options require that the user supply a full JSON
configuration?

No. Manual address configuration is a requirement. Simplicity is good, and Lampson's "separate normal case and worst case" guideline is even more important, but you're overdoing it by proposing turning the normal case into the worst case for the user.

My major gripe, and I understood your's too, is having to specify "ifbasename". So let's figure out how to get rid of that.

Other related posts: