[ovs-dev] Imperative vs. Declarative abstraction at the SB DB
Ben Pfaff
blp at ovn.org
Fri Apr 6 20:05:24 UTC 2018
On Fri, Mar 30, 2018 at 05:15:57AM +0200, Liran Schour wrote:
> I wanted to raise a question that I came a cross. Maybe the community
> already dealt with it.
>
> The ovn-northd translates the CMS's commands that resides in the NB DB
> into the SB DB.
>
> Specifically it produces the Logical_flow table which represent the L2 L3
> topologies specified in the NB DB.
> However logical flows are very much imperative abstraction. Means that
> they are very specific and instruct the hypervisors
> how to implement those topologies. These logical flows are very much
> derived and linked to the physical networking while we are implementing
> virtual networking.
>
> The disadvantage that I see for such approach are:
> 1. Reduce flexibility of implementation at the hypervisor level.
> 2. Increase total number of control messages between SB DB to
> hypervisors.
>
> I see the reason why to do that in one centralized place (SB DB) instead
> of on each hypervisor, but the hypervisors anyhow needs to translate these
> logical flows into actual local flows.
> Therefore there is no real reduction of computation in the system overall.
>
> Lower at the stack, the ovn-controller' on each hypervisot, should
> implement an imperative abstraction with it's datapath.
I'm not sure I understand the point yet. What alternative approach do
you recommend?
More information about the dev
mailing list