Skip to content

TiNET is network emulator environment for network function developer, routing software developer and networking educator. this is very simple tool that generate just shell script to construct virtual network.

License

Notifications You must be signed in to change notification settings

tinynetwork/tinet

Repository files navigation

tinet

test release License Go Report Card

An instant virtual network on your laptop with light-weight virtualization. Here we introduce the Container Network Simulation tools. Users can generate, from the YAML configuration file, the script to build the L2 container network. Quickstart guide is provided in QUICKSTART.md. It is tested on Ubuntu 16.04 LTS and later.

Requirements

  • Docker
  • OpenvSwitch (optional)
  • graphviz (optional)

Quick Install

There is only linux_amd64 pre-built binary

curl -Lo /usr/bin/tinet https://github.com/tinynetwork/tinet/releases/download/v0.0.3/tinet.linux_amd64 chmod +x /usr/bin/tinet tinet --version 

for ubuntu user

sudo apt update sudo apt install -y linux-image-extra-virtual sudo reboot 

upgrading the kernel

$ sudo apt list "linux-image-5.15.*-generic" linux-image-5.15.0-33-generic/focal-updates,focal-security 5.15.0-33.34~20.04.1 amd64 $ sudo apt install linux-image-5.15.0-33-generic linux-modules-5.15.0-33-generic linux-modules-extra-5.15.0-33-generic $ sudo reboot 
$ sudo grep 'menuentry ' $(sudo find /boot -name "grub.cfg") | cut -f 2 -d "'" | nl -v 0 0 Ubuntu 1 Ubuntu, with Linux 5.15.0-33-generic 2 Ubuntu, with Linux 5.15.0-33-generic (recovery mode) 3 Ubuntu, with Linux 5.4.0-113-generic 4 Ubuntu, with Linux 5.4.0-113-generic (recovery mode) $ sudo grub-set-default 3 $ sudo reboot 

Build

git clone https://github.com/tinynetwork/tinet tinet && cd $_ docker run --rm -i -t -v $PWD:/v -w /v golang:1.12 go build mv tinet /usr/local/bin 

Usage

tinet up -c spec.yaml | sudo sh -x tinet conf -c spec.yaml | sudo sh -x tinet test -c spec.yaml | sudo sh -x tinet down -c spec.yaml | sudo sh -x docker run -it --rm --privileged --net=container:R1 nicolaka/netshoot bash 

Command Options

# tinet NAME: tinet - tinet: Tiny Network USAGE: tinet [global options] command [command options] [arguments...] VERSION: 0.0.1 (rev:) AUTHOR: ak1ra24 <marug4580@gmail.com> COMMANDS: check check config conf configure Node from tinet config file down Down Node from tinet config file exec Execute Command on Node from tinet config file. img visualize network topology by graphviz from tinet config file init Generate tinet config template file ps docker and netns process pull Pull Node docker image from tinet config file reconf Stop, remove, create, start and config reup Stop, remove, create, start test Execute test commands from tinet config file. up create Node from tinet config file upconf Create, start and config help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --help, -h show help (default: false) --version, -v print the version (default: false) 

Contribute

Simply fork and create a pull-request. We'll try to respond in a timely fashion.

Links

About

TiNET is network emulator environment for network function developer, routing software developer and networking educator. this is very simple tool that generate just shell script to construct virtual network.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 15