Modify documents to mention hardware table implementation

This commit is contained in:
Tatsuya Yabe authored and Glen Gibb committed 2010-05-03 15:54:38 -07:00
1 parent 2e38251708
commit 7ef42803c4
2 files changed
+21 -19

No files matched your search

+7
View File
@@ -109,6 +109,13 @@ distribution in the ordinary way using "configure" and "make".
% ./configure CC=gcc-4.2 % ./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 The configure script accepts a number of other options and honors
additional environment variables. For a full list, invoke additional environment variables. For a full list, invoke
configure with the --help option. configure with the --help option.
+14 -19
View File
@@ -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 packets that it cannot handle itself it may pass up to the software
table implementations. table implementations.
Hardware table implementation are built as separate kernel modules Hardware table implementation are provided as a library and built
that may be loaded after the openflow module. At most one hardware in the userspace datapath executable.
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.
Creating a hardware table module is straightforward. Create a 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 where NAME identifies the hardware that the module supports. Populate
that directory with the C source files that comprise the module, plus 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 a file named automake.mk that specifies how to build the module in
distribution includes a "dummy" hardware module that demonstrates how the hw-lib directory. This distribution includes a "skeleton" hardware
this works. library that demonstrates how this works.
Even though only one may be loaded at a given time, any number of When you perform 'configure', specify each NAME that identifies a
hardware table modules may be built along with the OpenFlow kernel library to be included on the OpenFlow configure script command as
modules. Specify each NAME that identifies a module to be built on the argument to --enable-hw-lib, e.g.:
the OpenFlow configure script command as the argument to ./configure --enable-hw-lib=NAME
--enable-hw-tables, e.g.:
./configure --enable-hw-tables=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. 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 distribute it for builders to extract into their distribution
directory. directory.
Included in this distribution is a dummy hardware table to aid in beginning 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 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 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.