Ubuntu Fan Updates for Trusty and Vivid

Martin Pitt martin.pitt at ubuntu.com
Fri Jul 10 14:15:47 UTC 2015


Hey Andy,

Andy Whitcroft [2015-07-07 10:27 +0100]:
> The Ubuntu Fan driver is an IPv4 address multiplication mechanism.  It
> allows a group of host machines to participate in an expanded address
> space with hundreds (potentially thousands) of directly addressable
> addresses per host.  These are intended to allow direct communication
> between individual host containers and virtual machines.

This doesn't sound much different than normal local DHCP serving from
a private IP range, and using NAT, tunnelling, and similar; normally
IP distribution and routing setup is pretty much exclusively an
userspace matter. Out of interest, how is the kernel involved into
this?

What's the security surface of this? I. e. is this concerned with any
actual data manipulation and routing, or limited to setting up virtual
interfaces, but does not get in touch with remotely specified data? As
this seems to be an Ubuntu specific feature, was that ever reviewed by
the kernel network maintainers for some potential
problems/bugs/security issues? I don't find anything on kernel.org or
LKML about it.

> As the 14.04 LTS point release will contain the 15.04 LTS backport
> kernel we propose to apply the Ubuntu Fan changes currently in Wily to
> the 15.04 kernel, and thereby the 15.04 LTS backport kernel in 14.04
> LTS.

That's a normal process through which certainly a lot of other new
features will land in the 14.04 kernel. That's fine.

> We also propose to apply the corresponding changes for the
> iproute2 package in lock step in both 15.04 and 14.04 LTS.

This is the bit that causes me most worries.

 - What is the precise nature of these changes? Does it change the
   default behaviour in any way or just add new options?

  - Does this touch any code paths for other functionality? How intrusive is this, is there a patch to look at?

  - Why does this need changes to such a central utility if we are
    going to need a separate ubuntu-fan package anyway?

If we screw this up in any way and break networking for existing
users, then -- not good things will happen. So I would like to
understand this particular part very well.

> Finally we propose to update the ubuntu-fan package in 15.04 and
> introduce it in 14.04 LTS.

That seems fine to me.

Do you plan to do any other changes besides that, i. e. will this be
suddenly used by existing installations through some other packages
(LXC and the like)? Or will this remain an "opt-in" feature for 14.04?

> We also insulate the consumers of this functionality from later
> changes as this feature further develops moving forward towards
> 16.04 LTS.

What does that mean? It sounds like this somehow has a "versioned"
interface so that configs from 14.04 won't break even if the
kernel/userspace bits change in an incompatible way?

> These changes should present a reasonably low risk overall.  The feature
> we are modifying was a never announced technology preview.  (The
> announced test images for this utilised the proposed updated versions
> and interfaces.)  The kernel updates apply to an isolated driver
> component only activated when Fan address ranges are configured.  The
> iproute2 changes introduce new interfaces specifiers which would not
> normally exist.  The ubuntu-fan package is benign when installed until
> configured.

OK, that touches some of the questions above, but I'd like to hear
some more details particularly about the iproute2 changes and why they
are necessary.

Thank you!

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the technical-board mailing list