]> git.proxmox.com Git - ovs.git/blobdiff - PORTING
ofproto: Rename "private.h" to "ofproto->provider.h".
[ovs.git] / PORTING
diff --git a/PORTING b/PORTING
index 3a6faa4685c6ce661073a23999b59ec0b58866b6..1ac1c636cb0e71141cceabaf132f86370ba545f4 100644 (file)
--- a/PORTING
+++ b/PORTING
@@ -53,7 +53,7 @@ these components should not need to be modified as part of a port:
 
     - "ofproto" is the Open vSwitch library, in ofproto/, that
       implements an OpenFlow switch.  It talks to OpenFlow controllers
-      over the network and to switch hardware or software to an
+      over the network and to switch hardware or software through an
       "ofproto provider", explained further below.
 
     - "netdev" is the Open vSwitch library, in lib/netdev.c, that
@@ -146,7 +146,11 @@ depends on a few different factors:
       other features.  An ofproto provider has to provide its own
       implementations, if the hardware can support them at all.
 
-    * A dpif provider is usually easier to implement.
+    * A dpif provider is usually easier to implement, but most
+      appropriate for software switching.  It "explodes" wildcard
+      rules into exact-match entries.  This allows fast hash lookups
+      in software, but makes inefficient use of TCAMs in hardware
+      that support wildcarding.
 
 The following sections describe how to implement each kind of port.
 
@@ -156,9 +160,9 @@ ofproto Providers
 
 An "ofproto provider" is what ofproto uses to directly monitor and
 control an OpenFlow-capable switch.  struct ofproto_class, in
-ofproto/private.h, defines the interfaces to implement a ofproto
-provider for new hardware or software.  That structure contains many
-function pointers, each of which has a comment that is meant to
+ofproto/ofproto-provider.h, defines the interfaces to implement an
+ofproto provider for new hardware or software.  That structure contains
+many function pointers, each of which has a comment that is meant to
 describe its behavior in detail.  If the requirements are unclear,
 please report this as a bug.
 
@@ -197,7 +201,7 @@ into the Open vSwitch architecture:
      userspace |   +--------+ |  dpif  |   |
                |   | netdev | +--------+   |
                |   |provider| |  dpif  |   |
-               |   +---||---+ +--------+   | 
+               |   +---||---+ +--------+   |
                |       ||     |  dpif  |   | implementation of
                |       ||     |provider|   | ofproto provider
                |_      ||     +---||---+   |
@@ -243,7 +247,7 @@ name makes the intended use obvious.
 
 ovs-vswitchd is the most sophisticated of ofproto's clients, but
 ofproto can have other clients as well.  test-openflowd, in the
-tests directory, is much simpler than ovs-vswitchd.  It may be
+"tests" directory, is much simpler than ovs-vswitchd.  It may be
 easier to initially bring up test-openflowd as part of a port.
 
 lib/entropy.c assumes that it can obtain high-quality random number