[ovs-discuss] Some questions about OVS porting

Mehdi Rashidi fanttazio at gmail.com
Tue May 7 15:35:33 UTC 2013


On Thu, May 2, 2013 at 4:58 PM, Ben Pfaff <blp at nicira.com> wrote:

> On Thu, May 02, 2013 at 12:59:30PM +0100, Mehdi Rashidi wrote:
> > I am trying to analyze the OVS as an option for porting it to our
> devices.
> > Reading the porting document has risen some question for me.
> > Q: Say I want to port OVS to a new hardware like EZchip NP-3 platform.
> > According to the document if I want to take full advantage of hardware I
> > need to write my own "ofproto-provider".
> > "ofproto-provider" uses "dpif" library.
>
> Only if you write your ofproto-provider so that it uses "dpif".  (But in
> that case why don't you just use ofproto-dpif?)
>
 If I can use ofproto-dpif on my hardware and knowing that it uses dpif
library and datapath kernel module, then besides netdev provider what do I
need to implement to port OVS on the hardware?
 I'm trying to figure out if I have two different hardware architecture,
say EZchip-NP3 and Cavium-OCTEON, and I want to port OVS to them, where
Hardware Abstraction happens in porting process.


>  > Now do I need to write a new library for my "ofproto-provider" or I
> > can just use the one that is already in the package?
>
> Your ofproto-provider can use any code already included that you find to
> be useful.
>
> > Also do I need to write "dpif-provider" too to feed the
> > "ofproto-provider"?
>
> Only if you write your ofproto-provider so that it uses "dpif".  (But in
> that case why don't you just use ofproto-dpif?)
>
> > What about the "datapath" in the kernel space? Is it needed to be written
> > for every porting?
>
> Only if you write your ofproto-provider so that it uses the kernel
> datapath.
>
> > From the architectural block diagram I get that I need to write
> >  "ofproto-provider", "dpif", "dpif-provider" and "datapath" if I want to
> > port OVS to a new hardware
>
> Most of the trouble that people have with the porting document is that
> they do not actually read it.  Is the following paragraph unclear?
>
>     If the userspace switch is not the right choice for your port, then
>     you will have to write more code.  You may implement either an
>     "ofproto provider" or a "dpif provider".  Which you should choose
>     depends on a few different factors:
>
> > but if I want to port it to a software (say make a VM that acts as
> > OpenFlow proxy that sits between egress/ingress) I need to write
> > "dpif-provider" and "datapath".
>
> That would be the case if your VM runs an operating system that Open
> vSwitch does not yet support.  You could avoid writing any code if you
> used Linux or FreeBSD in the VM.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20130507/e66311a9/attachment.html>


More information about the discuss mailing list