brcompat: Move BRCTL_GET_BRIDGES, BRCTL_GET_PORT_LIST into userspace.
authorBen Pfaff <blp@nicira.com>
Fri, 7 Aug 2009 22:11:40 +0000 (15:11 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 7 Aug 2009 22:11:40 +0000 (15:11 -0700)
commitdb322751d8bba32152e89eea476cb47a010616b1
tree0813665b87e910e7dfdb9d0fe96cf6836b30c062
parentae1281cfa015b710817822002f21a4f6195cb740
brcompat: Move BRCTL_GET_BRIDGES, BRCTL_GET_PORT_LIST into userspace.

The Citrix QA scripts assume that "brctl show" will show a topology as if
the Linux bridge were still in use; that is, as if there were one bridge
per VLAN and as if bonds were network devices of their own instead of
separate devices.  However, we were showing the datapath topology, i.e.
all VLANs and bond devices lumped together into a single datapath.  This
commit fixes the VLAN end of the problem, by moving the implementation of
the ioctls that brctl uses into userspace in ovs-brcompatd and putting the
necessary translation logic into ovs-brcompatd.

By itself, this commit does not fix the problem for bonds: the port name
for a bond does not (normally) under Open vSwitch exist as an actual
Linux network device, and thus it has no ifindex, and so ovs-brcompatd
can't pass it back to the kernel to report to brctl.  This fix will have
to wait for another commit.

Bug NIC-19.
datapath/brcompat.c
include/openvswitch/brcompat-netlink.h
vswitchd/ovs-brcompatd.c