- How do you connect physical interfaces to the br-int bridge on the compute hosts? Do you create a separate bridge like with the openvswitch plugin, or do you connect them directly, or something else?
No need for separate bridge. Floodlight uses link discovery protocols to determine links between the br-ints.
- How do you connect the external interface on the network node to the br-int bridge?
There is no l3-agent, so there is nothing to create an equivalent qg-xxxxxx-xx interface.
- What other configuration is required on the network node?
I need to look into that more. I really don't think there is much that can be done, bar changing code.
- Do we need to explicitly set the bridge status up on br-int, e.g.: ip link set dev br-int up
That ip command sets interfaces to the up status. You would only need to do this with interfaces from bridges if you wanted to put an IP address on them. That should never be necessary with br-int.
- How do you configure for DevStack? (see last section for current status)
I have included the localrcs from a 2 node config that I have tested.
- Can the RestProxy plugin and Floodlight controller combination be configured for routing and external network access? I see two possible ways: use the l3-agent or have Floodlight install flows that work with L3 headers. I took a quick look at the source and the l3-agent way seems unlikely as that RPC linkage is missing - I think it is required, but not sure. For the second way, it does not appear that the Floodlight controller even understands any ReST calls that are related to subnets and routers - it spews warning and errors on its console.
Confirmed - the RestProxy plugin does not work with the l3-agent. It seems that the Floodlight controller has a ReST API that is similiar (maybe the same) as the Quantum V1 API. But it does not seem to understand the Quantum V2-like calls that have subnets and routers. So currently this plugin/controller combo only provides layer-2 (and not even complete isolation there). I guess the RestProxy plugin with the BigSwitch controller does implement all the calls for the API extensions that the plugin claims to implement.