diff options
| author | Justin Pettit <jpettit@nicira.com> | 2011-07-01 14:07:16 -0700 |
|---|---|---|
| committer | Justin Pettit <jpettit@nicira.com> | 2011-07-01 14:07:16 -0700 |
| commit | b69fe6b1031990bd9c86993864f43ecd89f62717 (patch) | |
| tree | b953455aec25661a12f1639c35774e8f9486138f /PORTING | |
| parent | 64c1e8af2c869ae79fd7a831772818b675e11c7f (diff) | |
| download | openvswitch-b69fe6b1031990bd9c86993864f43ecd89f62717.tar.gz | |
PORTING: Add some minor clarifications.
Diffstat (limited to 'PORTING')
| -rw-r--r-- | PORTING | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -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 |
