Modify documents to mention hardware table implementation
This commit is contained in:
1 parent
2e38251708
commit
7ef42803c4
2 files changed
+21
-19
No files matched your search
@@ -109,6 +109,13 @@ distribution in the ordinary way using "configure" and "make".
|
||||
|
||||
% ./configure CC=gcc-4.2
|
||||
|
||||
If you have hardware that supports accelerated OpenFlow switching
|
||||
and you have obtained a hardware table library for your hardware
|
||||
and extracted it into the OpenFlow reference distribution source
|
||||
tree, then you may also enable building support for the hardware
|
||||
switch table with --enable-hw-lib. For more information, read
|
||||
README.hwtables at the root of the OpenFlow distribution tree.
|
||||
|
||||
The configure script accepts a number of other options and honors
|
||||
additional environment variables. For a full list, invoke
|
||||
configure with the --help option.
|
||||
|
||||
+14
-19
@@ -10,35 +10,30 @@ expected to handle any incoming packets that it can on its own. Any
|
||||
packets that it cannot handle itself it may pass up to the software
|
||||
table implementations.
|
||||
|
||||
Hardware table implementation are built as separate kernel modules
|
||||
that may be loaded after the openflow module. At most one hardware
|
||||
table module may be loaded at a time. Only datapaths created after a
|
||||
hardware table module is loaded (and before it is unloaded) will take
|
||||
advantage of hardware switching features.
|
||||
Hardware table implementation are provided as a library and built
|
||||
in the userspace datapath executable.
|
||||
|
||||
Creating a hardware table module is straightforward. Create a
|
||||
directory in the openflow source tree named datapath/hwtable_NAME,
|
||||
directory in the openflow source tree named hw-lib/NAME,
|
||||
where NAME identifies the hardware that the module supports. Populate
|
||||
that directory with the C source files that comprise the module, plus
|
||||
a file named Modules.mk that specifies how to build the module. This
|
||||
distribution includes a "dummy" hardware module that demonstrates how
|
||||
this works.
|
||||
a file named automake.mk that specifies how to build the module in
|
||||
the hw-lib directory. This distribution includes a "skeleton" hardware
|
||||
library that demonstrates how this works.
|
||||
|
||||
Even though only one may be loaded at a given time, any number of
|
||||
hardware table modules may be built along with the OpenFlow kernel
|
||||
modules. Specify each NAME that identifies a module to be built on
|
||||
the OpenFlow configure script command as the argument to
|
||||
--enable-hw-tables, e.g.:
|
||||
./configure --enable-hw-tables=NAME
|
||||
When you perform 'configure', specify each NAME that identifies a
|
||||
library to be included on the OpenFlow configure script command as
|
||||
the argument to --enable-hw-lib, e.g.:
|
||||
./configure --enable-hw-lib=NAME
|
||||
|
||||
Each hardware table module's code is encapsulated in a directory, so
|
||||
Each hardware table library's code is encapsulated in a directory, so
|
||||
it is easy to separate a hardware table implementation from OpenFlow.
|
||||
Simply package up the contents of the hwtable_NAME directory and
|
||||
Simply package up the contents of the hw-lib/NAME directory and
|
||||
distribute it for builders to extract into their distribution
|
||||
directory.
|
||||
|
||||
Included in this distribution is a dummy hardware table to aid in beginning
|
||||
your own hardware table port, it is located in the datapath/hwtable_dummy
|
||||
your own hardware table port, it is located in the hw-lib/skeleton
|
||||
folder. Also included is a fully functional NetFPGA hardware table that can run
|
||||
as a 1Gbx4 port line-rate OpenFlow switch. Information and instructions for its
|
||||
use can be found in the datapath/hwtable_nf2/README file.
|
||||
use can be found in the hw-lib/nf2/README file.
|
||||
Reference in new issue
Block a user