To enable SNAT, run configure with the "--enable-snat" flag. This has
only been tested with the 2.6.23 kernel...more diverse testing will follow.
Documentation and a cleaner build setup will also be in a future check-in.
Allow vendors to define their own actions. Actions were originally fixed-
length, which was a bit constraining. Actions now contain a length field,
which gives them more flexibility.
To report on link status and whether a port is administratively enabled or
disabled, the reference switches poll. This change uses the Linux kernel's
device notification system, so that polling isn't necessary.
Functions added in the 2.6.22 kernel in tcp.h and skbuff.h
have been added to the compatibility headers. Additionally
the data argument was dropped in 2.6.22 for the work queue
macros, requiring them to be redfined for previous kernels.
Based on changes from David Erickson.
The new OFPT_ECHO_REQUEST and OFPT_ECHO_REPLY OpenFlow messages
have the same functionality and are more general (in that they
are not Netlink-specific).
NLMSG_DEFAULT_SIZE was introduced in 2.6.20-rc1 in commit 339bf98ff,
"[NETLINK]: Do precise netlink message allocations where possible", but
we only defined it for kernels 2.6.18 and earlier. This change fixes
up the discrepancy.
The new build system supports using a build tree separate from the
source tree, which makes it easier to build for multiple targets
using a single source tree. It also factors out the means for specifying
the modules to be built and the source files that comprise those
modules into simple files named Modules.mk. This is intended to
make it easier to add support for separate hardware table modules in
an upcoming commit.
Otherwise, if a multi-word $(CC) is provided by the user, such as
"gcc -m32", then we test each word as a compiler. "-m32" then gives
you an error from the shell about "-3" not being a valid option.