brcompat: Move more brcompat implementation into userspace.
authorBen Pfaff <blp@nicira.com>
Thu, 21 May 2009 16:31:11 +0000 (09:31 -0700)
committerBen Pfaff <blp@nicira.com>
Thu, 21 May 2009 16:42:54 +0000 (09:42 -0700)
commitcdaab9ebde89e9ab3f685d4aaba075c6aecf1200
tree0e8566d093bb2b32efc2c88645017957da326261
parent7ab141b97e4db666d86a3394623d93ce209e5ef1
brcompat: Move more brcompat implementation into userspace.

Until now, the brcompat kernel module has had to do more of the work of
simulating a bridge than is ideal, because brcompatd was not able to find
out when the vswitchd had finished reloading.  It is important that the
bridge reconfiguration be complete by the time that the bridge ioctl
returns, so this had to be done from the kernel.

Now it is possible for brcompatd to wait for the reload to finish (by
using the equivalent of "ovs-appctl -e vswitchd/reload") so this part of
the work can be done in userspace.  This commit moves it there.

This commit also moves to userspace some error-checking work, in particular
checking whether a bridge or a port operation is correct.  This is
important for an upcoming commit, where brcompatd wishes to send a fake
success return value for an operation that must be ignored.  When the error
checking is done in the kernel, it defeats this purpose.
datapath/brcompat.c
vswitchd/brcompatd.8.in
vswitchd/brcompatd.c
xenserver/etc_init.d_vswitch