[ovs-dev] what functions should be implemented of the netdev-provider interface
Ben Pfaff
blp at nicira.com
Fri Apr 6 16:07:49 UTC 2012
On Fri, Apr 06, 2012 at 03:48:41PM +0800, Min Chen wrote:
> I've been reading the source code for a while. Although the PORTING manual
> is quite clear, but still I have no idea how to port this to switching
> ASICs. For example, on writing the netdev provider, it reads in the manual:
>
> > * Functions required to properly implement OpenFlow features. For
> > example, OpenFlow requires the ability to report the Ethernet
> > hardware address of a port. These functions must be implemented
> > for minimally correct operation.
> >
>
> There is no API of the switching chip that will get or set the Ethernet
> address of a port on the chip.
OpenFlow reports the Ethernet address for each OpenFlow port, so some
Ethernet address has to be supplied. If you don't have a real
Ethernet address, you will have to report some artificial Ethernet
address, such as a randomly generated one.
> And what does open/close (a netdev) do on a switching chip? All the
> ports are managed by the chip, what should the open/close of a port
> mean?
It gets a handle for querying and manipulating the netdev, the same as
it would in any other situation. It is analogous to a file
descriptor: it provides a handle for working with a network device,
regardless of how that network device is implemented.
> netdev-vport.c serves as model for minimal
> netdev implementation. Is this implementation sufficient when porting to a
> hardware platform?
Yes.
More information about the dev
mailing list