Jump to: navigation, search

Difference between revisions of "Neutron/OFAgent/Todo"

Line 27: Line 27:
 
**** currently using ovs-vsctl to set up port-based VLANs
 
**** currently using ovs-vsctl to set up port-based VLANs
 
**** install appropriate flows to push/pop tags instead
 
**** install appropriate flows to push/pop tags instead
 +
**** covered by https://blueprints.launchpad.net/neutron/+spec/ofagent-merge-bridges
 
*** tunnel ports
 
*** tunnel ports
 
**** ideally use OF-Config
 
**** ideally use OF-Config
Line 52: Line 53:
 
*** port l2pop-based tunnel management from OVS agent
 
*** port l2pop-based tunnel management from OVS agent
 
*** implement local arp responder
 
*** implement local arp responder
 +
**** wip https://github.com/fkakuma/neutron/tree/ofagent/l2pop.arp_responder2
 
**** cf. experimental arp proxy https://github.com/yamt/ryu/blob/arp-proxy/ryu/app/arp_proxy.py
 
**** cf. experimental arp proxy https://github.com/yamt/ryu/blob/arp-proxy/ryu/app/arp_proxy.py

Revision as of 03:06, 1 May 2014

  • OFAgent Todo
    • Reduce OVS dependencies
      • patch ports, multiple logical bridges
      • OFPP_NORMAL
        • spec-wise optional
        • an alternative is packet-in based learning. performance concern.
        • another alternative is to query VM mac addresses neutron and install flows accordingly.
          • get_device_details doesn't return the necessary info (mac address)
          • l2pop doesn't propagate the info (device ids)
      • OVSDB
        • port scanning
        • port external id
          • currently the agent uses on openstack device uuids associated to OFP ports by neutron/nova interface drivers and/or libvirt
          • there seems no pure-openflow way to do the same
          • probably use tapXXXX, which is available as ofp_port.name. ML2 plugin already accepts tapXXXX for linuxbridge.
        • add-br, set-controller, set bridge protocols
          • factor out to "OVS" sub-driver
          • use OF-Config
          • move the one-time setup code to devstack
      • port-based VLAN
      • tunnel ports
        • ideally use OF-Config
        • but this likely remains switch-dependant
        • factor out the code into "OVS" sub-driver.
      • the way to configure physical networks
        • it would be more straightforward to specify an interface (eth0) rather than a bridge (br-eth0)
        • this will be user-visible changes
      • the way to configure public network (br-ex)
        • similar to physical networks
      • stop assuming the existence of local ports
        • eg. setup_physical_bridges
        • not a big deal
    • neutron interface driver
      • ideally use OF-Config
      • investigate if the existing IVS driver is usable for our purpose, at least for IVS.
    • nova interface driver
      • ideally use OF-Config
      • investigate if the existing IVS driver is usable for our purpose, at least for IVS.
      • probably it's better to avoid touching libvirt unless absolutely necessary
    • security group. ideally implement with flows.
    • l2pop