Re: [libvirt PATCH 00/28] native support for nftables in virtual network driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 11, 2024 at 08:49:42AM -0700, Andrea Bolognani wrote:
> On Tue, Jun 11, 2024 at 02:38:58AM GMT, Andrea Bolognani wrote:
> > On Mon, Jun 10, 2024 at 09:10:08PM GMT, Roman Bogorodskiy wrote:
> > >   Laine Stump wrote:
> > >
> > > > This patch series enables libvirt to use nftables rules rather than
> > > > iptables *when setting up virtual networks* (it does *not* add
> > > > nftables support to the nwfilter driver). It accomplishes this by
> > > > abstracting several iptables functions (from viriptables.[ch] called
> > > > by the virtual network driver into a rudimentary "virNetfilter API"
> > > > (in virnetfilter.[ch], having the virtual network driver call the
> > > > virNetFilter API rather than calling the existing iptables functions
> > > > directly, and then finally adding an equivalent virNftables backend
> > > > that can be used instead of iptables (selected manually via a
> > > > network.conf setting, or automatically if iptables isn't found on the
> > > > host).
> > >
> > > [resend to a proper list]
> > >
> > > Hi,
> > >
> > > Apparently, I'm late to the discussion.
> > >
> > > I noticed that now I cannot use the bridge driver on FreeBSD as it's
> > > failing to initialize both iptables and nftables backends (which is
> > > expect).
> > >
> > > What would be a good way to address that? I see at least two options:
> > >
> > > 1. Add a Noop firewall driver
> > > 2. Implement a "real" FreeBSD driver based either on pf or ipfw (that's
> > > been on my TODO list forever, but I somehow got stuck on the very first
> > > step on choosing between pf and ipfw). This obviously will take much
> > > more time.
> > >
> > > Maybe there are other options I'm missing.
> > >
> > > What do you think?
> >
> > If I understand correctly, the new behavior might cause problems on
> > macOS too, see [1]. I wouldn't be surprised if the other BSDs were
> > similarly affected.
> >
> > I wonder how things could work before if the iptables backend is not
> > functional. Is it possible that we used to ignore failures to
> > initialize the backend, but now we consider them fatal instead?
> >
> > A proper platform-specific backend would obviously be the right
> > approach in the long run, but the priority should be restoring the
> > previous status quo. A noop backend might be the answer, but honestly
> > I just don't understand enough about networking to know for sure. I
> > thought that these firewall rules were necessary in order to give
> > network access to VMs, but if FreeBSD has been doing fine without
> > iptables so far clearly that's not the case?
> 
> One additional issue with this:
> 
>   $ PATH=/usr/bin /usr/sbin/libvirtd
>   error : virNetworkLoadDriverConfig:146 : internal error: could not
> find a usable firewall backend
>   error : virStateInitialize:672 : Initialization of bridge state
> driver failed: internal error: could not find a usable firewall
> backend
>   error : daemonRunStateInit:617 : Driver state initialization failed
> 
> This happens because nft and iptables are both in /usr/sbin, so if
> the user's $PATH doesn't include that directory they won't be found
> and the driver will fail to initialize.
> 
> Not a big deal on Fedora, where /usr/sbin is part of the default
> $PATH for users, but that's not the case on Debian, where
> qemu:///session is just completely broken right now.
> 
> I was testing out a patch that addressed the situation by switching
> backend detection to virFindFileInPathFull(), but then I realized
> that it's fairly pointless to look for nft/iptables when a regular
> user can't run them anyway.
> 
> So what I think we need to do is, make the failure to detect a
> working backend non-fatal, unless the user has explicitly asked for a
> specific backend to be used. That should bring us back to the
> previous situation.

This is probably another reason to have a "no op" backend that merely
raises errors for every operation - see my Roman's mail about FreeBSD


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux