Shortcut is an in-Linux-kernel IP packet forwarding engine. It's designed to offer very high speed IP packet forwarding based on IP connection tracking. It's dramatically faster than the standard netfilter-based NAT forwarding path but is designed to synchronise state back to netfilter/conntrack so that it doesn't need to deal with all of the complexities of special cases.
To build your own firmware you need a GNU/Linux, BSD or MacOSX system (case sensitive filesystem required). Cygwin is unsupported because of the lack of a case sensitive file system.
You need the following tools to compile OpenWrt, the package names vary between distributions. A complete list with distribution specific packages is found in the Build System Setup documentation.
binutils bzip2 diff find flex gawk gcc-6+ getopt grep install libc-dev libz-dev
make4.1+ perl python3.6+ rsync subversion unzip which
-
Run
./scripts/feeds update -a
to obtain all the latest package definitions defined in feeds.conf / feeds.conf.default Fast Path Builds for OpenWRT -
Run
./scripts/feeds install -a
to install symlinks for all obtained packages into package/feeds/ -
Run
make menuconfig
to select your preferred configuration for the toolchain, target system & firmware packages. To enable the Fast Path module go to:-
"Kernel Modules > Network Support" and select
- kmod-fast-classifier
-
-
If you want to compile with multiple cores it is highly recommended to run the
make download
before the make below; -
Run
make
to build your firmware with only one core ormake -jN
where N is the number of cores you have +1, or simply runmake -j $(($(nproc)+1))
,Remembering that if you are running with more than one core, you must run step 4 first to avoid possible errors. This will download all sources, build thecross-compile toolchain and then cross-compile the GNU/Linux kernel & all chosen applications for your target system.
The main repository uses multiple sub-repositories to manage packages of
different categories. All packages are installed via the OpenWrt package
manager called opkg
. If you're looking to develop the web interface or port
packages to OpenWrt, please find the fitting repository below.
-
LuCI Web Interface: Modern and modular interface to control the device via a web browser.
-
OpenWrt Packages: Community repository of ported packages.
-
OpenWrt Routing: Packages specifically focused on (mesh) routing. Fast Path Builds for OpenWRT
For a list of supported devices see the OpenWrt Hardware Database
- Forum: For usage, projects, discussions and hardware advise.
- Support Chat: Channel
#openwrt
on oftc.net.
- Bug Reports: Report bugs in OpenWrt
- Dev Mailing List: Send patches
- Dev Chat: Channel
#openwrt-devel
on oftc.net.
OpenWrt is licensed under GPL-2.0