[ovs-discuss] OVN: Support for multiple routes per Logical Router Port

Amitabha Biswas azbiswas at gmail.com
Tue Nov 24 20:55:21 UTC 2015


The OVN Northbound DB Schema at this point supports only a single route per Logical Router Port.

Openstack/Neutron supports multiple routes per router interface and we need to support this use case in the Neutron OVN Plugin.

To solve the multiple route (per router interface) issue while working within this OVN NB model restriction, I created multiple lport and lrouter port for each subnet supported by a router interface.

For e.g. let’s say a router interface supports both 192.168.1.0/24 and 2001:db8:cafe::/64 routes, I added 2 lport and 2 lrouter ports in the OVN NB.

Logical Router Table:
UUID-PA ["fa:16:3e:59:80:ad 192.168.1.1"]           "port-1"        {router-port="UUID-RA"}     ["fa:16:3e:59:80:ad"] router
UUID-PB ["fa:16:3e:59:80:ad 2001:db8:cafe::1"]      "port-2"        {router-port="UUID-RB"}     ["fa:16:3e:59:80:ad"] router

Logical Router Port Table:
UUID-RA "fa:16:3e:59:80:ad" "port-1" "192.168.1.1/24"      []
UUID-RB "fa:16:3e:59:80:ad" "port-2" "2001:db8:cafe::1/64" []

Note that both ports (in both tables) have the same MAC corresponding to the neutron router interface MAC.

This results in the following logical flow:
...
table=3(switch_in_l2_lkup), priority=   50, match=(eth.dst == fa:16:3e:59:80:ad), action=(outport = "port-2"; output;)
table=3(switch_in_l2_lkup), priority=   50, match=(eth.dst == fa:16:3e:59:80:ad), action=(outport = "port-1"; output;)

As we can see there are 2 conflicting/overlapping rules for the MAC in table 3 and the packet could be sent to the wrong output port.

To support the multiple route per interface feature, we need to propose that OVN NB allow multiple routes per logical router port in ovs-dev or ovs-discuss. Additionally it seems that the MAC must be unique in the Logical Router Table per Logical Flow and this is not stated explicitly in the spec.

—Amitabha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20151124/241b2741/attachment-0002.html>


More information about the discuss mailing list