Read-only mirror. Please submit merge requests / issues to https://gitlab.com/libvirt/libvirt
Go to file
Laine Stump 020ad8d1a2 network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars
This patch addresses:

   https://bugzilla.redhat.com/show_bug.cgi?id=694382

In order to give each libvirt-created bridge a fixed MAC address,
commit 5754dbd56d, added code to create
a dummy tap device with guaranteed lowest MAC address and attach it to
the bridge. This tap device was given the name "${bridgename}-nic".
However, an interface device name must be IFNAMSIZ (15) characters or
less, so a valid ${bridgename} such as "verylongname123" (15
characters) would lead to an invalid tap device name
("verylongname123-nic" - 19 characters), and that in turn led to a
failure to bring up the network.

The solution is to shorten the part of the original name used to
generate the tap device name. However, simply truncating it is
insufficient, because the last few characters of an interface name are
often a number used to indicate one of a list of several similar
devices (for example, "verylongname123", "verylongname124", etc) and
simple truncation would lead to duplicate names (eg "verlongnam-nic"
and "verylongnam-nic"). So instead we take the first 8 characters of
$bridgename ("verylong" in the example), add on the final 3 bytes
("123"), then add "-nic" (so "verylong123-nic").  Not pretty, but it
is much more likely to generate a unique name, and is reproducible
(unlike, say, a random number).
2011-04-14 15:24:17 -04:00
.gnulib@fb799692f5 maint: fix grammar errors 2011-04-12 09:06:14 -06:00
daemon Replace REMOTE_DEBUG with VIR_DEBUG in daemon dispatcher 2011-04-13 19:01:24 +01:00
docs Spice: support audio, images and stream compression 2011-04-14 10:23:59 -06:00
examples Fix domain events C example on Win32 2011-03-31 16:01:49 +01:00
include maint: fix grammar errors 2011-04-12 09:06:14 -06:00
m4 build: fix gitignore sorting 2011-04-07 15:03:53 -06:00
po Release of libvirt-0.9.0 2011-04-04 20:15:45 +08:00
python python: Use hardcoded python path in libvirt.py 2011-03-14 12:37:19 +01:00
src network: truncate bridges' dummy tap device names to IFNAMSIZ (15) chars 2011-04-14 15:24:17 -04:00
tests Introduce virDomainChrDefNew() 2011-04-14 10:29:39 -06:00
tools docs: document freecell --all 2011-04-11 08:32:37 -06:00
.dir-locals.el maint: make spacing in .sh files easier 2011-03-14 21:57:42 -06:00
.gitignore build: fix gitignore sorting 2011-04-07 15:03:53 -06:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap Fix gcc 4.6 warnings 2011-04-14 19:09:12 +02:00
AUTHORS Fix gcc 4.6 warnings 2011-04-14 19:09:12 +02:00
autobuild.sh Remove the Open Nebula driver 2011-03-28 14:09:11 +01:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: fix gitignore sorting 2011-04-07 15:03:53 -06:00
bootstrap.conf Migrate VMs between different-endianess hosts 2011-04-14 14:48:03 -04:00
cfg.mk maint: fix grammar errors 2011-04-12 09:06:14 -06:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.ac Use gnulib's manywarnings & warnings modules 2011-04-05 11:39:35 +01:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING docs: mention C89 syntax preferences 2011-03-30 13:51:22 -06:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in Fix typo in systemtap tapset directory name 2011-04-05 17:44:12 +01:00
Makefile.am build: nuke all .x-sc* files, and fix VPATH syntax-check 2011-03-23 15:51:32 -06:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw32-libvirt.spec.in Remove iohelper on Win32 since it is not required 2011-03-31 17:41:51 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>