Openflow-based DVR L3

Registered by Yi Yang

In current DVR implementation, L3 routing and floating IP used network
namespaces and iptables, qrouter network namespace and FIP network
namespace used tap interfaces which is added to OVS bridge br-int, this
means more hops, worse performance, especially it is much worse for FIP
and in case of OVS DPDK (Note: for tap and veth interfaces, OVS DPDK's
performance is very very bad)

This spec proposes neutron uses Openflow to implement L3 routing and
floating IP in OVS bridge br-int.

* L3 routing
  * Openflow-based ARP reply for ARP requests from local VMs
  * Openflow-based ICMP v4 & v6 reply for IPs of gateways in qrouter
  * Openflow-based TTL decrease
  * Openflow-based routing across subnets

* floating IP
  * Use advanced packet_in to trigger ARP request for remote floating IP
    and gateway IP of floating IP segment
  * Use neutron ovs agent as SDN controller to send ARP request for remote
    floating IP and gateway IP of floating IP segment
  * Use learn action to build Openflow-based ARP table for floating IP segment
  * Use Openflow (not conntrack/ct) to translate VM IP to FIP, vice versa
  * ARP Reply for local FIPs (FIPs associated to local VMs).

Note: secrity group/firewall_driver must use openvswitch.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
Yi Yang
Direction:
Needs approval
Assignee:
Yi Yang
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.