That describes what the logical router datapath does. The main purpose of the patch port is to provide isolation. A packet that ingresses on a logical switch might egress on several ports. A packet that passed directly from a logical switch to a logical router might be modified by the logical router. Then, when control returns to the logical switch, perhaps for the packet to egress on another logical port, there needs to be some way to restore the packet state. This is difficult to do in OpenFlow, but output to a patch port accomplishes it in a simple way.
I've been thinking for some time of implementing an Open vSwitch action that directly provides a way to save and restore a packet. Such an action would reduce the need for patch ports in OVN. However, patch ports have not yet become a burden in OVN, so I have higher priorities. On Thu, May 19, 2016 at 10:28:00AM +0800, Na Zhu wrote: > I need learn the code, it is a easy way to implement, but i think it is not > the only way. > OVN knows how to what packets should be bridge and what packets should be > routing, for example, it can configure flows to match dmac, if it is > router mac, set the metadata to logical router datapath identifer ID, no > need create patch port pair. > > It is my stupid opinion. > > 2016-05-18 23:05 GMT+08:00 Ben Pfaff <[email protected]>: > > > On Wed, May 18, 2016 at 09:01:51PM +0800, Na Zhu wrote: > > > OVN creates patch port pair for logical router interface, the routing > > > packets go through ovs openflow pipeline many times (for routing in one > > HV, > > > it is 3 times), i am confused why implement it like this, can anyone tell > > > me it? > > > > How do you suggest doing it? > > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
