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 0f567adfbd Split NAT into smaller functions, fixed naming 2 weeks ago
docs Update file structure 2 months ago
src Split NAT into smaller functions, fixed naming 2 weeks ago
testing Fixed config bug, NAT table is working now 2 weeks ago
.gitignore Updated docs and some virtualbox scripts 3 weeks ago
.gitmodules Finished with testbed 3 weeks ago
README.md Fixed config bug, NAT table is working now 2 weeks ago

README.md

ecublens

A home router based on the NFF-Go framework. It is supposed to be fast (using DPDK framework) and easy customizable (written in Go). Currently 5 virtual network functions are supported:

  • ARP
  • IPv4
  • ICMP
  • DHCP
  • NAT

Installation

To install and run Ecublens on a fresh Arch Linux:

  • Install sudo, git and grub.
  • By convenience, the installation happens in user’s home directory, thus cd ~.
  • Clone the repo git clone --depth 1 https://git.sitilge.id.lv/sitilge/ecublens.git.
  • Copy and then configure the scripts file containing environment variables and functions cp ./ecublens/testing/vagrant/machines/ecublens/scripts.sh ~. In most cases lspci gives enough information to setup correct NFF_GO_CARDS values.
  • Execute scripts under ./ecublens/testing/vagrant/machines/ecublens to install more essential packages, set up kernel boot params, drivers, hugepages, install project dependencies, etc.
  • Run ecublens_run to launch the router.