# cp ebtables-v2.0.003_vs_2.4.20.diff.gz /usr/src/linux # cd /usr/src/linux # gunzip ebtables-v2.0.003_vs_2.4.20.diff.gz # patch -p1 < ebtables-v2.0.003_vs_2.4.20.diff
# cp bridge-nf-0.0.10-against-2.4.20.diff.gz /usr/src/linux # cd /usr/src/linux # gunzip bridge-nf-0.0.10-against-2.4.20.diff.gz # patch -p1 < bridge-nf-0.0.10-against-2.4.20.diff
# makeCopy the ebtables binary, man page and protocol file to the correct directory (see the INSTALL file for options):
# make install
# ebtables -L --Lc
# iptables -m physdev -hThe kernel module has to be compiled in the kernel, the option ``physdev match support'' will appear under the ``IP netfilter configuration'' when the bridge is already enabled in the configuration.
# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ebtables login # cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ebtables co ebtables2The current userspace code is in the ebtables2/userspace/ebtables2 directory. To compile the CVS userspace tool you'll need to do the following:
# make KERNEL_INCLUDES=/usr/src/linux/include/ # make installObviously you'll need to use the right kernel directory. Why is compiling the CVS different? Because the kernel include files are not maintained in the userspace directory of the CVS. When a new ebtables release is made, the kernel include files get copied in the tar file, so the standard installation knows where to get its kernel include files.
ebtables2/kernel/scripts/CopyRepTo copy the ebtables kernel 2.5.x code to a full 2.5.x kernel tree, use this script:
ebtables2/kernel/scripts/CopyRep2.5You'll need to adjust the variables $FROM and $TO in the script, for more information: read the script.