summaryrefslogtreecommitdiff
path: root/PORTING
diff options
context:
space:
mode:
authorJustin Pettit <jpettit@nicira.com>2011-07-01 14:07:16 -0700
committerJustin Pettit <jpettit@nicira.com>2011-07-01 14:07:16 -0700
commitb69fe6b1031990bd9c86993864f43ecd89f62717 (patch)
treeb953455aec25661a12f1639c35774e8f9486138f /PORTING
parent64c1e8af2c869ae79fd7a831772818b675e11c7f (diff)
downloadopenvswitch-b69fe6b1031990bd9c86993864f43ecd89f62717.tar.gz
PORTING: Add some minor clarifications.
Diffstat (limited to 'PORTING')
-rw-r--r--PORTING12
1 files changed, 8 insertions, 4 deletions
diff --git a/PORTING b/PORTING
index 34c71f45c..3dd0bfc50 100644
--- 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,7 +160,7 @@ 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
+ofproto/private.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,
@@ -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