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 5 months ago
cmd Added specs draft, updated NF diagram 6 months ago
docs Thesis submitted 5 months ago
pkg/router Some minor changes, easier to see the DRY parts 5 months ago
test/router DPDK still failing with proc-type 7 months ago
tools Add 'tools/vagrant/machines/ecublens/alternative.sh' 6 months ago
verification Updated specs.png 6 months ago
.gitignore Some minor presentation changes 5 months ago
.gitmodules Finished with testbed 8 months ago
LICENCE.md Dummy fuzzing examples 8 months ago
README.md Update 'README.md' 6 months ago
go.mod Removed global config variable, introduced new function arguments 8 months ago
go.sum Removed global config variable, introduced new function arguments 8 months ago
notes.txt Added some verification notes, flow control logic changed 6 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.