lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 20 Jun 2013 11:25:51 +0300
From:	Yuval Shaia <yuval.shaia@...cle.com>
To:	xen-devel@...ts.xensource.com, netdev@...r.kernel.org,
	ian.campbell@...rix.com, bridge@...ts.linux-foundation.org
Cc:	yuval.shaia@...cle.com
Subject: Add support for netconsole driver used on bridge device with VIF
 attached

When starting a VM which has virtual interface attached to the same
bridge which is used for netconsole the system freeze for 60 then the
following message pops out to system console:
"Error: Device 0 (vif) could not be connected. Hotplug scripts not
working."

When trying to do the opposite, i.e. first create VM and then run
netconsole i got the following error:
"#524 - vif2.0 doesn't support polling, aborting."

Following is my setup:

----------                              ----------
| VM A1  |------vif1.0----->|           | Host B |
|--------|                  |--xenbr0   |        |
| Host A |--bond0 (eth0)--->|           |        |
----------          |                   ----------
                    |                        |
                    V                        V
--------------------------------------------------
|                      LAN                       |
--------------------------------------------------

I'm using netconsole to capture logs from Host-A and send them to
Host-B. Host-A and Host-B are separate hosts (running XEN) which are
connected to the same LAN.
netconsole parameters:
netconsole=1111@...tA-ip/xenbr0,2002@...tB-ip/hostB-mac

As i see it, netconsole driver requires ndo_poll_controller from the
device's controlling driver (function __netpoll_setup in
net/core/netpoll.c), a thing that is not supported currently in
xen_netback driver which is the driver that runs on dom0 and serve VM's
virtual interface.
call flow: init_netconsole() in netconsole.c -> alloc_param_target() ->
netpoll_setup() in netpoll.c -> __netpoll_setup() which check if
ndo_poll_controller().

Looks like the underlying issue is that br_netpoll_setup() requires that
all members of the bridge support netpoll before allowing netpoll to be
enabled on the bridge itself.

This seems like an odd restriction in the bridge driver since in
principal only the port over which the netpoll traffic will be going
will need netpoll, but perhaps the bridge can't tell which port that is
or is going to be.
It is obvious why the bridge device might need an ndo_poll_controller
hook but it is unclear why the netback device would need one.

Hopefully the bridge isn't flooding/broadcasting netpoll to all ports,
at least in the case where DST IP and MAC have been specified. That
would be rather inefficient, especially when most ports go to virtual
machines.

Yuval
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists