When an interface is configured outside of NetworkManager's knowledge
(like libvirt's or docker's bridge), then NetworkManager generates an
in-memory connection profile and pretends(!) that this is active. This
is to show that something is going on with the device, and
NetworkManager is supposed to touch that device.

Whether this pretend mode is of any use is a good question. It's
obviously confusing. I actually do make use of this behaviour to have a
dispatcher script that does something for such external devices, so it's
not entirely useless. Also, it causes the output of `nmcli device` to
show that *something* is going on there. Although, maybe that's more
confusing than helpful. In any case, NetworkManager needs a way to
express that something is happening with this devices, and this is the
way it does that. It doesn't mean that NetworkManager actually touches
the device.


Comment 26 does not say what actual problem NetworkManager causes by this 
(aside the confusion to the user).

Comment 26 also explains that `nm-online` gives wrong results. I think 
nm-online has one real use-case: to implement 
`NetworkManager-wait-online.service` (with the `--startup` option).
Without the `--startup` option, I don't think it's of any use at all. It can 
only return "online" or "offline". It maps the NetworkManager's states "local", 
"site", and "global" to "online". I think that is is sensible, if you connect 
to a libvirt bridge some network is configured and nm-online considers that as 
"online". However I don't think that describing the online state in two words 
is meaningful and calling `nm-online` is not useful.


For a while NetworkManager had a udev rule to automatically unmanage docker 
bridges. But that was dropped, because docker bridges are nothing special. It's 
a common thing that something aside NetworkManager configures an interface and 
NetworkManager must not interfere. So, what actual problems are causes by this?


---


> 1) You should never need to create (actually *shouldn't* create) an ifcfg-* 
> file for a libvirt-created bridge. If proper operation requires this, then 
> there is definitely a bug.

Right. NM doesn't.

> 2) NetworkManager should never mess around with bridge devices created
by other entities (e.g. libvirt, but really anyone else), and no special
plugin should be required to make that happen. If we (libvirt) wanted NM
to manage the bridge, we would create it via NM.

Right. NM shouldn't. Does it?

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to network-manager in Ubuntu.
https://bugs.launchpad.net/bugs/1432599

Title:
  Network-manager tries to manage virbr0, which it should not

Status in network-manager package in Ubuntu:
  Confirmed
Status in network-manager package in Fedora:
  Won't Fix

Bug description:
  Since a recent upgrade in vivid, nm is trying to manage virbr0. This
  results in my main machine not getting a real IP address on eth0, and
  virtual machines not being able to use the network.

  This is probably related to
  https://bugzilla.redhat.com/show_bug.cgi?id=1166199

  ProblemType: Bug
  DistroRelease: Ubuntu 15.04
  Package: network-manager 0.9.10.0-4ubuntu11
  ProcVersionSignature: Ubuntu 3.19.0-9.9-generic 3.19.1
  Uname: Linux 3.19.0-9-generic x86_64
  ApportVersion: 2.16.2-0ubuntu3
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Mon Mar 16 12:36:07 2015
  IfupdownConfig:
   # interfaces(5) file used by ifup(8) and ifdown(8)
   auto lo
   iface lo inet loopback
  InstallationDate: Installed on 2014-12-13 (92 days ago)
  InstallationMedia: Ubuntu 14.10 "Utopic Unicorn" - Release amd64 (20141022.1)
  IpRoute:
   default via 10.0.0.1 dev eth0  proto static  metric 1024
   10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.75
   192.168.111.0/24 dev wlan0  proto kernel  scope link  src 192.168.111.8
   192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
  NetworkManager.state:
   [main]
   NetworkingEnabled=true
   WirelessEnabled=true
   WWANEnabled=true
   WimaxEnabled=true
  SourcePackage: network-manager
  UpgradeStatus: No upgrade log present (probably fresh install)
  http_proxy: http://localhost:8118/
  nmcli-nm: Error: command ['nmcli', '-f', 'all', 'nm'] failed with exit code 
2: Error: Object 'nm' is unknown, try 'nmcli help'.
  no_proxy: localhost,127.0.0.0/8,::1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1432599/+subscriptions


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to