Re: NM Bridging Support Status



On Aug 22, 2012, at 10:39 AM, Thomas Graf <tgraf redhat com> wrote:

> On Wed, 2012-08-22 at 10:35 -0400, Thomas Goetz wrote:
>> I merged the bridge patches into 0.9.4 and wrote some code for my daemon to make use of it and got the following result. Is this error you were expecting or something different?
>> 
>> I plan on continuing to debug this. Thanks for any help.
> 
> This is actually a different error. What kernel version are you using?


After modifying the nm_system_bridge_attach to remove the check for master, I can connect with a static IP, but not with DHCP. Here's what happens when I connect with DHCP on the bridge:

1. Set up the bridge connection with DHCP and can fail. Don't activate it.
2. Set up the connection for eth0 as a slave of the bridge and with IPv$ disabled
3. activate the connection for eth0.
4. The bridge connection activates, but does not reach the activated state yet.
5. The connection for eth0 tries to activate, but fails on an error that the master connection is unmanaged or not activated. It is still in the process of activating.

Does the bridge connection have to be activated before the slave is added and activated?

Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Connecting wired eth0 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: disconnected: wlan0 (99074db1-8f1e-4445-9a5c-b97fa51ea460) 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Connecting bridge br-eth0 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Adding bridge connection 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Connecting bridge br-eth0 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Connecting: eth0 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Connecting wired eth0 
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Setting GUI Connect action
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> DNS: starting dnsmasq...
Aug 22 15:49:19 wolverine dbus[886]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
Aug 22 15:49:19 wolverine dbus[886]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Aug 22 15:49:19 wolverine NetworkManager[8841]: <warn> dnsmasq exited with error: Network access problem (address in use; permissions; etc) (2)
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): carrier is OFF
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): new Bridge device (driver: 'bridge' ifindex: 14)
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): exported as /org/freedesktop/NetworkManager/Devices/8
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): now managed
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): bringing up device.
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): carrier now ON (device state 20)
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): deactivating device (reason 'managed') [2]
Aug 22 15:49:19 wolverine NetworkManager[8841]: (nm-device.c:4396):nm_device_queue_state: runtime check failed: (priv->queued_state.id == 0)
Aug 22 15:49:19 wolverine NetworkManager[8841]: <warn> connection /org/freedesktop/NetworkManager/Settings/90 failed to activate: (2) Master device br-eth0 unmanaged or not available for activation   <------------------------------------------
Aug 22 15:49:19 wolverine dmd[10440]: ERROR: Error adding connection eth0: Master device br-eth0 unmanaged or not available for activation
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): carrier now OFF (device state 20)
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): carrier now ON (device state 20)
Aug 22 15:49:19 wolverine NetworkManager[8841]: (nm-device.c:4396):nm_device_queue_state: runtime check failed: (priv->queued_state.id == 0)
Aug 22 15:49:19 wolverine dmd[10440]: DEBUG: Added bridge: br-eth0 
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> Auto-activating connection 'eth0'.
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> Connection 'eth0' auto-activation failed: (2) Master device br-eth0 unmanaged or not available for activation
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): device state change: unavailable -> disconnected (reason 'carrier-changed') [20 30 40]
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> Auto-activating connection 'br-eth0'.
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> Activation (br-eth0) starting connection 'br-eth0'
Aug 22 15:49:19 wolverine NetworkManager[8841]: <info> (br-eth0): device state change: disconnected -> prepare (reason 'none') [30 40 0]

gboolean
nm_system_bridge_attach (gint master_ifindex,
                         const char *master_iface,
                         gint slave_ifindex,
                         const char *slave_iface)
{
	g_return_val_if_fail (master_ifindex >= 0, FALSE);
	g_return_val_if_fail (master_iface != NULL, FALSE);
	g_return_val_if_fail (slave_ifindex >= 0, FALSE);
	g_return_val_if_fail (slave_iface != NULL, FALSE);

#if 0
	if (!(nm_system_iface_get_flags (master_ifindex) & IFF_MASTER)) {
		nm_log_err (LOGD_DEVICE, "(%s): interface is not a master", master_iface);
		return FALSE;
	}
#endif

	if (nm_system_iface_get_flags (slave_ifindex) & IFF_SLAVE) {
		nm_log_err (LOGD_DEVICE, "(%s): %s is already a slave",
		            master_iface, slave_iface);
		return FALSE;
	}

	// FIXME: long term plan is to use netlink for this

	return !!nm_system_bridge_attach_compat (master_ifindex, master_iface,
	                                         slave_ifindex, slave_iface);
}



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