libvirt/AUTHORS
Thomas Woerner bf156385a0 network: use firewalld instead of iptables, when available
* configure.ac, spec file: firewalld defaults to enabled if dbus is
  available, otherwise is disabled. If --with_firewalld is explicitly
  requested and dbus is not available, configure will fail.

* bridge_driver: add dbus filters to get the FirewallD1.Reloaded
  signal and DBus.NameOwnerChanged on org.fedoraproject.FirewallD1.
  When these are encountered, reload all the iptables reuls of all
  libvirt's virtual networks (similar to what happens when libvirtd is
  restarted).

* iptables, ebtables: use firewall-cmd's direct passthrough interface
  when available, otherwise use iptables and ebtables commands. This
  decision is made once the first time libvirt calls
  iptables/ebtables, and that decision is maintained for the life of
  libvirtd.

* Note that the nwfilter part of this patch was separated out into
  another patch by Stefan in V2, so that needs to be revised and
  re-reviewed as well.

================

All the configure.ac and specfile changes are unchanged from Thomas'
V3.

V3 re-ran "firewall-cmd --state" every time a new rule was added,
which was extremely inefficient.  V4 uses VIR_ONCE_GLOBAL_INIT to set
up a one-time initialization function.

The VIR_ONCE_GLOBAL_INIT(x) macro references a static function called
vir(Ip|Eb)OnceInit(), which will then be called the first time that
the static function vir(Ip|Eb)TablesInitialize() is called (that
function is defined for you by the macro). This is
thread-safe, so there is no chance of any race.

IMPORTANT NOTE: I've left the VIR_DEBUG messages in these two init
functions (one for iptables, on for ebtables) as VIR_WARN so that I
don't have to turn on all the other debug message just to see
these. Even if this patch doesn't need any other modification, those
messages need to be changed to VIR_DEBUG before pushing.

This one-time initialization works well. However, I've encountered
problems with testing:

1) Whenever I have enabled the firewalld service, *all* attempts to
call firewall-cmd from within libvirtd end with firewall-cmd hanging
internally somewhere. This is *not* the case if firewall-cmd returns
non-0 in response to "firewall-cmd --state" (i.e. *that* command runs
and returns to libvirt successfully.)

2) If I start libvirtd while firewalld is stopped, then start
firewalld later, this triggers libvirtd to reload its iptables rules,
however it also spits out a *ton* of complaints about deletion failing
(I suppose because firewalld has nuked all of libvirt's rules). I
guess we need to suppress those messages (which is a more annoying
problem to fix than you might think, but that's another story).

3) I noticed a few times during this long line of errors that
firewalld made a complaint about "Resource Temporarily
unavailable. Having libvirtd access iptables commands directly at the
same time as firewalld is doing so is apparently problematic.

4) In general, I'm concerned about the "set it once and never change
it" method - if firewalld is disabled at libvirtd startup, causing
libvirtd to always use iptables/ebtables directly, this won't cause
*terrible* problems, but if libvirtd decides to use firewall-cmd and
firewalld is later disabled, libvirtd will not be able to recover.
2012-08-21 13:40:58 -04:00

269 lines
12 KiB
Plaintext

libvirt Authors
===============
The libvirt project was initiated by:
Daniel Veillard <veillard@redhat.com> or <daniel@veillard.com>
The primary maintainers and people with commit access rights:
Daniel Veillard <veillard@redhat.com>
Daniel Berrange <berrange@redhat.com>
Richard W.M. Jones <rjones@redhat.com>
Mark McLoughlin <markmc@redhat.com>
Anthony Liguori <aliguori@us.ibm.com>
Jim Meyering <meyering@redhat.com>
Jim Fehlig <jfehlig@suse.com>
Chris Lalancette <clalance@redhat.com>
Cole Robinson <crobinso@redhat.com>
Guido Günther <agx@sigxcpu.org>
John Levon <john.levon@sun.com>
Matthias Bolte <matthias.bolte@googlemail.com>
Jiří Denemark <jdenemar@redhat.com>
Dave Allan <dallan@redhat.com>
Laine Stump <laine@redhat.com>
Stefan Berger <stefanb@us.ibm.com>
Eric Blake <eblake@redhat.com>
Justin Clift <jclift@redhat.com>
Osier Yang <jyang@redhat.com>
Wen Congyang <wency@cn.fujitsu.com>
Michal Prívozník <mprivozn@redhat.com>
Peter Krempa <pkrempa@redhat.com>
Christophe Fergeau <cfergeau@redhat.com>
Alex Jia <ajia@redhat.com>
Martin Kletzander <mkletzan@redhat.com>
Previous maintainers:
Karel Zak <kzak@redhat.com>
Atsushi SAKAI <sakaia@jp.fujitsu.com>
Dave Leskovec <dlesko@linux.vnet.ibm.com>
Dan Smith <danms@us.ibm.com>
Patches have also been contributed by:
David Lutterkort <dlutter@redhat.com>
Andrew Puch <apuch@redhat.com>
Philippe Berthault <philippe.berthault@Bull.net>
Hugh Brock <hbrock@redhat.com>
Michel Ponceau <michel.ponceau@bull.net>
Jeremy Katz <katzj@redhat.com>
Pete Vetere <pvetere@redhat.com>
Kazuki Mizushima <mizushima.kazuk@jp.fujitsu.com>
Saori Fukuta <fukuta.saori@jp.fujitsu.com>
Tatsuro Enokura <fj7716hz@aa.jp.fujitsu.com>
Takahashi Tomohiro <takatom@jp.fujitsu.com>
Nobuhiro Itou <fj0873gn@aa.jp.fujitsu.com>
Masayuki Sunou <fj1826dm@aa.jp.fujitsu.com>
Mark Johnson <johnson.nh@gmail.com>
Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Shuveb Hussain <shuveb@binarykarma.com>
Jim Paris <jim@jtan.com>
Daniel Hokka Zakrisson <daniel@hozac.com>
Mads Chr. Olesen <shiyee@shiyee.dk>
Anton Protopopov <aspsk2@gmail.com>
Stefan de Konink <dekonink@kinkrsoftware.nl>
Kaitlin Rupert <kaitlin@linux.vnet.ibm.com>
Evgeniy Sokolov <evg@openvz.org>
David Lively <dlively@virtualiron.com>
Charles Duffy <Charles_Duffy@messageone.com>
Nguyen Anh Quynh <aquynh@gmail.com>
James Morris <jmorris@namei.org>
Chris Wright <chrisw@redhat.com>
Ben Guthro <ben.guthro@gmail.com>
Shigeki Sakamoto <fj0588di@aa.jp.fujitsu.com>
Gerd von Egidy <gerd@egidy.de>
Itamar Heim <iheim@redhat.com>
Markus Armbruster <armbru@redhat.com>
Ryota Ozaki <ozaki.ryota@gmail.com>
Daniel J Walsh <dwalsh@redhat.com>
Maximilian Wilhelm <max@rfc2324.org>
Pritesh Kothari <Pritesh.Kothari@Sun.COM>
Amit Shah <amit.shah@redhat.com>
Florian Vichot <florian.vichot@diateam.net>
Serge E. Hallyn <serue@us.ibm.com>
Soren Hansen <soren@linux2go.dk>
Abel Míguez Rodríguez<amiguezr@pdi.ucm.es>
Doug Goldstein <cardoe@cardoe.com>
Javier Fontan <jfontan@gmail.com>
Federico Simoncelli <fsimonce@redhat.com>
Amy Griffis <amy.griffis@hp.com>
Henrik Persson E <henrik.e.persson@ericsson.com>
Satoru SATOH <satoru.satoh@gmail.com>
Paolo Bonzini <pbonzini@redhat.com>
Miloslav Trmač <mitr@redhat.com>
Jamie Strandboge <jamie@canonical.com>
Gerhard Stenzel <gerhard.stenzel@de.ibm.com>
Matthew Booth <mbooth@redhat.com>
Diego Elio Pettenò <flameeyes@gmail.com>
Adam Litke <agl@us.ibm.com>
Steve Yarmie <steve.yarmie@gmail.com>
Dan Kenigsberg <danken@redhat.com>
Yuji NISHIDA <nishidy@nict.go.jp>
Dustin Xiong <x_k_123@hotmail.com>
Rolf Eike Beer <eike@sf-mail.de>
Wolfgang Mauerer <wolfgang.mauerer@siemens.com>
Philipp Hahn <hahn@univention.de>
Ed Swierk <eswierk@aristanetworks.com>
Paolo Smiraglia <paolo.smiraglia@gmail.com>
Sharadha Prabhakar <sharadha.prabhakar@citrix.com>
Chris Wong <wongc-redhat@hoku.net>
Daniel Berteaud <daniel@firewall-services.com>
Dustin Kirkland <kirkland@canonical.com>
Luiz Capitulino <lcapitulino@redhat.com>
Ryan Harper <ryanh@us.ibm.com>
Spencer Shimko <sshimko@tresys.com>
Marco Bozzolan <bozzolan@gmail.com>
Alex Williamson <alex.williamson@redhat.com>
Ersek Laszlo <lacos@caesar.elte.hu>
Kenneth Nagin <NAGIN@il.ibm.com>
Klaus Ethgen <Klaus@Ethgen.de>
Bryan Kearney <bkearney@redhat.com>
Darry L. Pierce <dpierce@redhat.com>
David Jorm <dfj@redhat.com>
Eduardo Otubo <otubo@linux.vnet.ibm.com>
Garry Dolley <gdolley@arpnetworks.com>
Harshavardhana <harsha@gluster.com>
Jonas Eriksson <jonas.j.eriksson@ericsson.com>
Jun Koi <junkoi2004@gmail.com>
Olivier Fourdan <ofourdan@redhat.com>
Ron Yorston <rmy@tigress.co.uk>
Shahar Klein <shaharklein@yahoo.com>
Taizo ITO <taizo.ito@hde.co.jp>
Thomas Treutner <thomas@scripty.at>
Jean-Baptiste Rouault <jean-baptiste.rouault@diateam.net>
Марк Коренберг <socketpair@gmail.com>
Alan Pevec <apevec@redhat.com>
Aurelien Rougemont <beorn@binaries.fr>
Patrick Dignan <pat_dignan@dell.com>
Serge Hallyn <serge.hallyn@canonical.com>
Nikunj A. Dadhania <nikunj@linux.vnet.ibm.com>
Lai Jiangshan <laijs@cn.fujitsu.com>
Harsh Prateek Bora <harsh@linux.vnet.ibm.com>
John Morrissey <jwm@horde.net>
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Hu Tao <hutao@cn.fujitsu.com>
Laurent Léonard <laurent@open-minds.org>
MORITA Kazutaka <morita.kazutaka@lab.ntt.co.jp>
Josh Durgin <josh.durgin@inktank.com>
Roopa Prabhu <roprabhu@cisco.com>
Paweł Krześniak <pawel.krzesniak@gmail.com>
Kay Schubert <kayegypt@web.de>
Marc-André Lureau <marcandre.lureau@redhat.com>
Juerg Haefliger <juerg.haefliger@hp.com>
Matthias Dahl <mdvirt@designassembly.de>
Niels de Vos <ndevos@redhat.com>
Davidlohr Bueso <dave@gnu.org>
Alon Levy <alevy@redhat.com>
Hero Phương <herophuong93@gmail.com>
Zdenek Styblik <stybla@turnovfree.net>
Gui Jianfeng <guijianfeng@cn.fujitsu.com>
Michal Novotny <minovotn@redhat.com>
Markus Groß <gross@univention.de>
Phil Petty <phpetty@cisco.com>
Taku Izumi <izumi.taku@jp.fujitsu.com>
Minoru Usui <usui@mxm.nes.nec.co.jp>
Tiziano Mueller <dev-zero@gentoo.org>
Thibault VINCENT <thibault.vincent@smartjog.com>
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Jesse Cook <code.crashenx@gmail.com>
Alexander Todorov <atodorov@otb.bg>
Richard Laager <rlaager@wiktel.com>
Mark Wu <dwu@redhat.com>
Yufang Zhang <yuzhang@redhat.com>
Supriya Kannery <supriyak@linux.vnet.ibm.com>
Dirk Herrendoerfer <d.herrendoerfer@herrendoerfer.name>
Taisuke Yamada <tai@rakugaki.org>
Heath Petersen <HeathPetersen@Kandre.com>
Neil Wilson <neil@aldur.co.uk>
Ohad Levy <ohadlevy@gmail.com>
Michael Chapman <mike@very.puzzling.org>
Daniel Gollub <gollub@b1-systems.de>
David S. Wang <dwang2@cisco.com>
Ruben Kerkhof <ruben@rubenkerkhof.com>
Scott Moser <smoser@ubuntu.com>
Guannan Ren <gren@redhat.com>
John Williams <john.williams@petalogix.com>
Michael Santos <michael.santos@gmail.com>
Oskari Saarenmaa <os@ohmu.fi>
Nan Zhang <nzhang@redhat.com>
Wieland Hoffmann <themineo@googlemail.com>
Douglas Schilling Landgraf <dougsland@redhat.com>
Tom Vijlbrief <tom.vijlbrief@xs4all.nl>
Shradha Shah <sshah@solarflare.com>
Steve Hodgson <shodgson@solarflare.com>
Xu He Jie <xuhj@linux.vnet.ibm.com>
Lei Li <lilei@linux.vnet.ibm.com>
Matthias Witte <witte@netzquadrat.de>
Tang Chen <tangchen@cn.fujitsu.com>
Dan Horák <dan@danny.cz>
Sage Weil <sage@newdream.net>
David L Stevens <dlstevens@us.ibm.com>
Tyler Coumbes <coumbes@gmail.com>
Royce Lv <lvroyce@linux.vnet.ibm.com>
Patrice LACHANCE <patlachance@gmail.com>
Eli Qiao <taget@linux.vnet.ibm.com>
Michael Wood <esiotrot@gmail.com>
Bharata B Rao <bharata@linux.vnet.ibm.com>
Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Chang Liu <lingjiao.lc@taobao.com>
Lorin Hochstein <lorin@isi.edu>
Christian Franke <nobody@nowhere.ws>
Prerna Saxena <prerna@linux.vnet.ibm.com>
Michael Ellerman <michael@ellerman.id.au>
Rommer <rommer@active.by>
Yuri Chornoivan <yurchor@ukr.net>
Deepak C Shetty <deepakcs@linux.vnet.ibm.com>
Laszlo Ersek <lersek@redhat.com>
Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
Marcelo Cerri <mhcerri@linux.vnet.ibm.com>
Hendrik Schwartke <hendrik@os-t.de>
Ansis Atteka <aatteka@nicira.com>
Dan Wendlandt <dan@nicira.com>
Kyle Mestery <kmestery@cisco.com>
Lincoln Myers <lincoln_myers@yahoo.com>
Peter Robinson <pbrobinson@gmail.com>
Benjamin Cama <benoar@dolka.fr>
Duncan Rance <libvirt@dunquino.com>
Peng Zhou <ailvpeng25@gmail.com>
Li Zhang <zhlcindy@linux.vnet.ibm.com>
Stef Walter <stefw@gnome.org>
Christian Benvenuti <benve@cisco.com>
Ilja Livenson <ilja.livenson@gmail.com>
Stefan Bader <stefan.bader@canonical.com>
MATSUDA Daiki <matsudadik@intellilink.co.jp>
Jan Kiszka <jan.kiszka@siemens.com>
Ryan Woodsmall <rwoodsmall@gmail.com>
Wido den Hollander <wido@widodh.nl>
Eugen Feller <eugen.feller@inria.fr>
Dmitry Guryanov <dguryanov@parallels.com>
William Jon McCann <william.jon.mccann@gmail.com>
David Weber <wb@munzinger.de>
Marti Raudsepp <marti@juffo.org>
Radu Caragea <dmns_serp@yahoo.com>
Beat Jörg <Beat.Joerg@ssatr.ch>
Gao feng <gaofeng@cn.fujitsu.com>
Dipankar Sarma <dipankar@in.ibm.com>
Gerd Hoffmann <kraxel@redhat.com>
Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Thang Pham <thang.pham@us.ibm.com>
Eiichi Tsukata <eiichi.tsukata.xh@hitachi.com>
Sascha Peilicke <saschpe@suse.de>
Chuck Short <chuck.short@canonical.com>
Sebastian Wiedenroth <wiedi@frubar.net>
Ata E Husain Bohra <ata.husain@hotmail.com>
Ján Tomko <jtomko@redhat.com>
Richa Marwaha <rmarwah@linux.vnet.ibm.com>
Peter Feiner <peter@gridcentric.ca>
Frido Roose <frido.roose@gmail.com>
Asad Saeed <asad.saeed@acidseed.com>
Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Thomas Woerner <twoerner@redhat.com>
[....send patches to get your name here....]
The libvirt Logo was designed by Diana Fong
-- End
;; Local Variables:
;; coding: utf-8
;; End: