A home router based on the NFF-Go framework.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Martins Eglitis 92b1716192 Thesis submitted 8 months ago
cmd Added specs draft, updated NF diagram 10 months ago
docs Thesis submitted 8 months ago
pkg/router Some minor changes, easier to see the DRY parts 8 months ago
test/router DPDK still failing with proc-type 10 months ago
tools Add 'tools/vagrant/machines/ecublens/alternative.sh' 10 months ago
verification Updated specs.png 9 months ago
.gitignore Some minor presentation changes 8 months ago
.gitmodules Finished with testbed 11 months ago
LICENCE.md Dummy fuzzing examples 11 months ago
README.md Update 'README.md' 9 months ago
go.mod Removed global config variable, introduced new function arguments 11 months ago
go.sum Removed global config variable, introduced new function arguments 11 months ago
notes.txt Added some verification notes, flow control logic changed 10 months ago

README.md

ecublens

A home router based on the NFF-Go framework. Currently 5 virtual network functions are supported:

Installation

To install and run Ecublens on a fresh Arch Linux:

  • Install sudo, git, grub, gcc, libnuma, liblua, libpcap.
  • By convenience, the installation happens in user’s home directory, thus cd ~.
  • Clone the NFF-Go repo git clone --recurse-submodules https://github.com/intel-go/nff-go.
  • Build NFF-Go cd nff-go && go mod download && make -j8 NFF_GO_NO_MLX_DRIVERS=1 NFF_GO_NO_BPF_SUPPORT=1.
  • Clone the Ecublens repo git clone https://git.sitilge.id.lv/sitilge/ecublens.git.
  • Copy and then configure the scripts file containing environment variables and functions cp ./ecublens/tools/vagrant/machines/ecublens/scripts.sh ~. In most cases lspci gives enough information to setup correct NFF_GO_CARDS values.
  • Run ecublens_run to launch the router.