Giter VIP home page Giter VIP logo

imunes's Introduction


IMUNES - an Integrated Multiprotocol Network Emulator / Simulator


IMUNES GUI is a simple Tcl/Tk based management console, allowing for specification and management of virtual network topologies. The emulation execution engine itself operates within the operating system kernel.

System requirements

Operating system (FreeBSD)

Note: Since FreeBSD 12.0, kernel option VIMAGE is already included in the kernel, so there is no need to recompile the kernel with it.

Note: FreeBSD 12.0 RELEASE version had some instabilities, so we recommend installing IMUNES on FreeBSD-12.0-STABLE-20190418-r346338 or newer.

When IMUNES is used on top of FreeBSD 8 (or higher) it requires a kernel that is compiled with the VIMAGE option included. A sample kernel config file is as follows:

include GENERIC
nooptions FLOWTABLE
options VIMAGE
options VNET_DEBUG
options KDB
options DDB

options IPSEC
device  crypto
options IPSEC_DEBUG
#options IPSEC_NAT_T not needed for FreeBSD versions 11.2+

To compile the VIMAGE enabled kernel you must have a copy of the FreeBSD kernel and create the config file with the above mentioned lines.

# cd /usr/src/sys/amd64/conf/ #for 64bit machines
# cd /usr/src/sys/i386/conf/  #for 32bit machines
# vi VIMAGE

Then you need to compile and install the kernel and reboot.

# config VIMAGE
# cd ../compile/VIMAGE

### standard compilation (single thread)
# make depend && make
### concurrent compliation (e.g. 4 threads)
# make -j4 depend && make -j4

# make install
# reboot

FreeBSD packages

First we need to install the packages required for IMUNES. To do this execute the following command (on FreeBSD 9.3 and higher):

# pkg install tk86 ImageMagick6 tcllib wireshark socat git gmake

Operating system (Linux)

When IMUNES is used on top of Linux a 3.10 Linux kernel is the minimum requirement.

Linux packages

First we need to install the packages required for IMUNES:

tcl (version 8.6 or greater)
tk (version 8.6 or greater)
tcllib
wireshark (with GUI)
ImageMagick
Docker (version 1.6 or greater)
iproute2
nsenter (part of the util-linux package since version 2.23 and later)
xterm
make (used for installation)

To run IMUNES experiments, you must run the Docker daemon (starting this service depends on your Linux distribution).

Note: on some distributions the netem module sch_netem required for link configuration is only available by installing additional kernel packages. Please check the availability of the module:

# modinfo sch_netem

Arch

# pacman -S tk wireshark-qt imagemagick docker make xterm

# Also, package tcllib is available on AUR:
# yay -S tcllib

Debian 9 and testing(buster)

(https://docs.docker.com/install/linux/docker-ce/debian/)[https://docs.docker.com/install/linux/docker-ce/debian/]
# apt-get update
# apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
# curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
# apt-get update
# apt-get install docker-ce openvswitch-switch xterm wireshark \
    imagemagick tk tcllib util-linux make

Debian 8

### add jessie-backports to your sources.list and update
# echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list
# apt-get update

### install packages
# apt-get install openvswitch-switch docker.io xterm wireshark \
    ImageMagick tcl tcllib tk util-linux make

Fedora 22

# dnf install openvswitch docker-io xterm wireshark-gnome \
    ImageMagick tcl tcllib tk kernel-modules-extra util-linux
    
### add /usr/local/bin to root PATH variable to execute imunes as root
# echo 'PATH=$PATH:/usr/local/bin' >> /root/.bashrc

### add /usr/local/bin to sudo secure_path for executing sudo imunes
# visudo
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin

Ubuntu 18.04 LTS (Mint 19, 19.1)

# apt install openvswitch-switch docker.io xterm wireshark \
    make imagemagick tk tcllib util-linux

Ubuntu 15.04

# apt-get install openvswitch-switch docker.io xterm wireshark \
    make ImageMagick tk tcllib user-mode-linux util-linux

Ubuntu 14.04 LTS

### install needed packages
# apt-get install openvswitch-switch xterm wireshark make \
    ImageMagick tk tcllib user-mode-linux util-linux
    
### install new version of docker and start it
# wget -qO- https://get.docker.com/ | sh
# service docker start

### fetch remote nsenter which is not part of util-linux in ubuntu 14.04
# sudo docker run -v /usr/local/bin:/target jpetazzo/nsenter

OpenSUSE 13.2

### add repo with openvswitch
# zypper addrepo http://download.opensuse.org/repositories/network/openSUSE_13.2/network.repo
# zypper refresh

### install packages
# zypper install openvswitch-switch xterm wireshark docker \
    make ImageMagick tk tcllib uml-utilities util-linux
    
### add /usr/local/bin to sudo secure_path for executing sudo imunes
# visudo
Defaults secure_path="/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin"

Performance

For best performance please run Docker with either Aufs or Overlay storage driver. Depending on your kernel version and distribution, Docker will automatically select its storage driver based on what is available and what the particular default setup for your distribution is. Aufs is not part of vanilla kernel but some distributions package it in their modified kernel and Overlay is only available from kernel version 3.18. Worst case scenario: Docker will use the extremely slow devicemapper available everywhere. Please view either Docker or distro docs on how to set this up for your particular Linux distribution.

Enabling overlayfs (kernel 3.18 and higher)
Debian testing, Ubuntu 14.04 LTS, Ubuntu 15.04:
# echo 'DOCKER_OPTS="-s overlay"' >> /etc/default/docker
# service docker restart

Fedora 22
# echo 'DOCKER_STORAGE_OPTIONS="-s overlay"' >> /etc/sysconfig/docker-storage
# systemctl restart docker

Arch:
# cp /usr/lib/systemd/system/docker.service /etc/systemd/system/docker.service
### add overlay to ExecStart
ExecStart=/usr/bin/docker daemon -s overlay -H fd://
### reload systemd files and restart docker.service
# systemctl daemon-reload
# systemctl restart docker


Check status with docker info:
# docker info | grep Storage
Storage Driver: overlay

Installing IMUNES

Checkout the last fresh IMUNES source through the public github repository:

# git clone https://github.com/imunes/imunes.git

Now we need to install IMUNES and populate the virtual file system with predefined and required data. To install imunes on the system execute (as root):

# cd imunes
# make install

Note: check your distribution repository for a pre-packaged version of IMUNES (e.g. imunes-git on AUR for Arch Linux).

Filesystem for virtual nodes

For the topologies to work a template filesystem must be created. This is done by issuing the following command (as root):

# imunes -p

Now the IMUNES GUI can be ran just by typing the imunes command in the terminal:

# imunes

To execute experiments, run it as root.

IMUNES wiki

Visit our wiki for more:

For additional information visit our web site: http://imunes.net/

imunes's People

Contributors

denissal avatar firerouge avatar gcetusic avatar gornjas avatar mmikuc avatar oikuda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

imunes's Issues

How to install packages on L3 components

I've been recently using imunes to simulate small networks and running some examples with iptables. Now I'm trying to do some vpn examples with openvpn and easy-rsa but those packages are not installed on L3 components. How can I install those?

I know that I can install it running apt-get install but I have to run apt-get update first. When I do it, it returns the following message: "Err [debian updates Release.gpg URLs]" and "W: Failed to fetch [debian_repos]". I think that means I have no internet connection, so the real question is how can I use the host connection for update and install packages?

Thanks in advance!

Support for BGP and IS-IS via the GUI

It would be good if IMUNES supported also BGP and ISIS in the GUI. These protocols are already included in the used quagga version:
2017-06-30-125537_579x329_scrot

But the GUI has no "knobs" to create a working BGP and or ISIS topologies:
2017-06-30-125831_216x124_scrot

Since these routing protocols are already included in quagga it should be a no-brainer to add it in future releases to the IMUNES GUI.

Custom routing protocol

I'm hoping to find a good testbed for routing protocol development. Does imunes allow one to run arbitrary software on a node that can modify the routing tables?

Connect nodes with a VM

Is it possible to connect a imunes' node with a virtualbox machine?
I'm not sure if this configuration is valid, but I'll try to explain it with images:

I'm running imunes on linux (arch) and virtualbox with win7 guest
imunes-topology

I've made a bridge network connection between the VM and a port on switch1 (n0)
vbox-network

Then, I've set a valid IP address for this network
vm-win7-network

With this configuration, I was able to ping a node (svr-http) inside imunes
vm-win7-ping

But any tcp connection doesn't work properly... It seems that the packages are scrambled
vm-win7-telnet-80

This is the wireshark analysis on router1

imunes-wireshark-router

Am I missing something? I'm not sure if I should create an especial node to make the bridge between VM and Imunes... But the ICMP messages is working anyway...

FTP service on Imunes installed on Ubuntu distribution

Hello
I'm trying to use the service FTP on HOST on Ubuntu 16.10 with dockers and OpenvSwitch (Lubuntu version). I'm using a simple topology with only an HOST called ftp1 and I activated the service ftp and I started the experiment.
I tried to lunch ftp on the HOST ftp1 and I received the error message "command not found."
immagine

The same experiment with Imunes on FreeBSD distribution goes on.
Thank you
Franco

IMUNES on Linux: "# imunes -p" command fails

I am trying to set up IMUNES on Ubuntu Linux 14.04. I followed all steps and when I get to the point where I enter the imunes -p command, I see the following problem:

$ sudo imunes -p
Pulling repository docker.io/imunes/vroot
2015/07/25 22:25:06 HTTP code: 404

Details:
I am running Ubuntu Server 14.04 with XFCE. I am running my server on Amazon AWS.

Open vSwitch question

Question: is the LAN switch node implemented by an instance of Open vSwitch?
If so, do you have plans to expose more Open vSwitch functionality to the IMUNES user?
Would you consider, at some point in the future, enabling the OpenFlow or OVSDB functionality and enable connection between Open vSwitch nodes and SDN controllers? This would allow IMUNES to emulate both traditional routing/switching scenarios and software-defined-networking scenarios.
Thanks,
Brian

How to run MPI/distributed programs in imunes

Probably it's not the right place to post question but I didn't find any other ways to contact devs (irc? mail?)

Is it possible to install an MPI application on every emulated PC? for example, Linpack/HPL? If yes, what steps should I do? (didn't manage to find this information in wiki)

As far as I understand, I have to modify default docker image and install there required dependencies and the application itself. Then I have to add some information about hosts/ip so that MPI will know where to go.

Some other unrelated questions:

  1. Is it possible to have one PC on another physical host/machine?
  2. What do these parameters in link configuration: duplicate and width? Does duplicate mean the number(percentage) of duplicated packets sent?

Menus offline

When using big screens "2560x1440" menus show up offline. Is there some kind of maximum resolution defined?

imunes

Problem with instalation

Hello,

I've tried to install IMUNES and everything went well except the part where i enter line for the topologies to work (imunes -p).
I receive this: Error loading package cmdline: can't find package cmdline.
I did everything that was written in the manual. And also I am using Ubuntu 16.04.2.

Thank you for your help.

Filter node configuration

When the filter node without any links is configured, "Apply" and "Apply and Close" should act as "Cancel". Currently "Application Error" is displayed: "tab 'current' not found".

pkg_add_imunes: pkg_add: not found

The pkg_add_imunes script of the VMware and VirtualBox images IMUNES-11.0-RELEASE_20170227.ova doesn't work:

[root@IMUNES ~]# pkg_add_imunes
/usr/local/bin/pkg_add_imunes: pkg_add: not found
[root@IMUNES ~]#

smux peer

Hello good afternoon, I hope you are well, on this occasion continuous snmp suitable for quagga. I have been following the instructions of the manual of quagga 1.2.0 of the month of March.

I have previously enabled quagga to work with the snmp option and I have installed net-snmp to work with smuxpeer.
quagga
net-snmp

However, when I run an experiment on IMUNES, and when I try to start ospfd indicating the configuration file to read, I get the following error.
smuxpeer

Of course, when I try to check the operation of the snmp as indicated in the manual, it does nothing.
prueba

The snmpd.conf and ospfd.conf configuration files are as follows:
snmpdconf
ospfdconf
Attached I leave the manual by which I'm guided, I hope you can help me, it seems to fit quagga with snmp is more difficult than I expected. Thanks.
quaggaingles2017.pdf

Distribute large .ova files via P2P technologies

Hi, just wondering if you would consider releasing an official torrent link as an option for downloading the large ova files available on your website. As you are probably aware, many projects such as Debian, Arch, and Ubuntu distribute their large files in this manner.

I apologise if this message does not conform to etiquette - I have never submitted an issue before.

Docker pull notification

If IMUNES is run with a specified template for the first time it will take a long time for the first node to start because Docker will automatically be downloading the image if it doesn't exist locally. This makes it seem like IMUNES is stuck. A notification like "Please wait, IMUNES is preparing the filesystem" would be nice...

Syslog server

Syslog Server

Hello, is there any way to enable a syslog on one of the IMUNES computers?
I want to record certain results.

Hub node support in Linux

There is some template code that in hub.start procedure that show how generally hub supprt should be done. It doesn't work, breaking openvswitch that is supposed to behave like a hub. This is not a critical feature and the Hub node is disabled on Linux for now but would be nice to have it out of the box like in FreeBSD. That's why I'm labelling it as "enhancement".

Link configuration behaving strangely

When setting the duplication rate of packages on links and pinging across the link the response times increase constantly until the link fails to transfer any traffic. This is probably a problem with badly configured tc/netem rules in configureLinkBetween

Unclear error message while launching experiment

Hello, I've downloaded imunes from git, compiled and installed it. Also I installed required dependencies. When I tried to launch a simple case and when I tried to launch an example from examples repo, I got the following error:
2016-03-08 04-26-58

However, I've got docker installed and running (1.6.2), ovs-vswitchd is said to be already working, xterm and ncenter are also installed. Is there any way to get some more additional output to understand what's working incorrectly?

P.S. I forgot to mention I use Ubuntu 16.04, kernel 4.4.0

Vtysh router warning

Running vtysh on router node prints a warning: terminal not fully functional. Inputing Q and Enter solves the issue temporatily.

Rule number in Filter configuration

In Filter configuration, if a new rule is added, with "Rule Num" different from the automatically inserted number (which is always +10 greater the the last rule num), the Application Error is displayed: "bad window path name .popup.nbook.nfe0.panwin.f2" (although the new rule is correctly inserted).

Ability to run different docker images/containers for PC and Host nodes

It would be great to include an option in the configuration for PC and Host nodes which allows to pick a docker image to run for a specific node. Or, as an alternative, choose a docker container by name/id that should already be instantiated (appears in docker ps -a). The second option would allow using complex docker parameters (mounting volumes and devices, setting env variables, running privileged, etc), which I guess would be slightly more involved to implement. Though I guess a string (text field for the GUI) for extra docker args would suffice. Maybe this can be complementary to the custom config feature.

This is a kind of extension of #51, where the answer was to switch the image started for any and all nodes in the network. Here, though, I am especially interested in starting different images for different nodes.

It would be useful to document requirements for the docker image in order to use it with IMUNES in any case.

Thanks for the great work so far!

Wireshark and VNC

When connecting to imunes via VNC you can´t use wireshark from a node.
The app tries to connect to display :0 insted of :1

root@imunes:/tmp # more startxcmd_i26f00_n0.log
Unable to init server: Could not connect to 127.0.0.1: Connection refused

(wireshark:4877): Gtk-WARNING **: cannot open display: :0.0

Ugly app icon and name

The IMUNES application icon (cloud) should be replaced with the IMUNES logo and the name of application window set to "IMUNES"

Internet Access for a virtual machine

Hi,

I would like a virtual machine inside imune to access the internet. My intuition says that it is done through the "external connection" entity. But I do not know how to do it. Is there any documentation regarding "external connection" ?

Regards,

/tahiry

Enabling network access from the host to the nodes (in Linux)

I'm trying to enable network connection between the host and the nodes in my emulated network. I guess a RJ45 node should be used for this but it seems that it's not working yet in Linux.

I've started tinkering a bit with imunes sources. I've removed net="none" from the docker run command here: https://github.com/imunes/imunes/blob/master/runtime/linux.tcl#L337 to enable default docker bridge network in each node. Then I've created a simple configuration with two PC nodes connected through a switch and edited the corresponding .imn file by hand to rename the interface created by imunes at each PC to eth1 (since eth0 is already created by docker for the bridge network).

Now it seems everything works fine, at least for this simple scenario. Do you think I will run into trouble using this approach with more complex networks? Or maybe there is a simpler way to achieve this, without modifying imunes sources?

Enable quagga for SNMP

Good evening folks, I'm a Telecommunications student and I'm doing my degree work on IMUNES. It's really about the SNMP protocol. I am trying to reinstall quagga through the ports to enable the SNMP function, which by default is disabled. I execute the make and make install commands, indicating the following destination address "/var/imunes/vroot/usr/local". However, when you open IMUNES and try to run an experiment, an error occurs and it does not start. Has anyone been able to install quagga with SNMP option? Thank you.

Translated with www.DeepL.com/Translator

Dependency notifications

LIMUNES depends on several packages to be available:

Docker - service started (for nodes)
Openvswitch - service started (for switches and links)
xterm - on command path (strictly for running terminals on nodes, could become modular in the future)

If ANY of the above doesn't apply, IMUNES should issue a controlled error notifying the user what to do. It has to be done before everything else and atomically because IMUNES could quite possibly create a couple of nodes and then fail or get stuck because e.g. Openvswitch isn't started leaving orphaned containers and/or switches.

IMUNES hangs in Linux

When I start IMUNES in Linux, the GUI starts OK. I add a node (a PC) and execute the experiment. I see the pop-up window that says it is startin the experiment. But it just hangs up at that point.

Here is what I saw when I started IMUNES:

$ cd imunes
$ sudo imunes
[sudo] password for brian: 
/usr/local/bin/imunes: 80: [: :1.0: unexpected operator

After I start the experiment, the GUI looks like the following:

screenshot-imunes

Link parameters issue

Hi, I'm trying to setup a simple topology with a single layer 2 switch and some PCs. I created the topology and it works without any problem, I can ping between the PCs. I tried adjusting some parameters in the link, more specifically, Bandwidth= 100Mbps, Delay=2ms, and after that the Ping doesn't work. If I remove the parameters and test, it works again. Any suggestions?
I'm using Ubuntu 14.04.5, Docker 1.12.3 and Imunes 2.2.2

Firewall in FreeBSD

I have been searching around and it looks like it is possible to run pf inside of a FreeBSD 12 VMNET jail. I tried enabling pf in /etc/rc.conf but I still get an error in a imunes host when I try to run pfctl -e.

pfctl: /dev/pf: No such file or directory

Searching around on that error makes it look like I need to enable the dev directory in the jails. I am hoping someone can help me figure out how to do that or if there is another way to enable a firewall in the hosts/PCs in imunes.

Thanks in advance.

Wrong loopback interface name

The loopback interface is by default named "lo" in Docker/Linux but IMUNES assumes it's "lo0" like on FreeBSD. Because of this, you can't run tcpdump and wireshark on localhost - the name IMUNES keeps in its list is "lo0" and not "lo".

Attaching a physical interface does not work

@gcetusic Hi, I have installed imunes on Ubuntu 16.10, the emulation function is very powerful. But I still have two problems.

  1. When attaching a physical interface in the emulation scenario, assigning it to an Ethernet port "eth0", and connecting another physical computer with such an Ethernet port, I cannot ping between the physical computer and the virtual router. So could you explain such a configuration process in more detail? Thank you.
  2. All items in the "TopoGen" menu are gray, I do not know why.

Thank you in advance.

Add a new router cisco on imunes with TCL

Hi,

I would like to add a Cisco router icon on the toolbox of IMUNES (in left side of the software)(Graphic interface)
I would like to do this by changing or adding some codes in tcl files.
But I have no idea about that.

Can you tell me step by step how can I do that?
Thank you

Start through menu not working on Linux

After stopping a particular node via the menu and then trying to start via the menu "Start" button it produces an error that container isn't started. Docker containers are actually started in createNodeContainer in l3node.instantiate on experiment execution and l3node.start is called AFTER that. But when you call "Start" you don't run instantiate, you skip right to l3node.start which doesn't do much except to exec runConfOnNode on a stopped container. This is why the error happens.

Wireshark will not come up

First, thanks for the great software.

When running experiments in IMUNES I am unable to get Wireshark to come up. The option is available when I right click on nodes, but when I click on Wireshark and select the port to monitor, nothing comes up. Through other means I can tell that the simulation is running and network traffic is being passed as expected, but it would be nice to have the in-program Wireshark call functional. Any suggestions?

I am running IMUNES version 2.2.2 on FreeBSD 12.0 in a Hyper-V virtual machine. I also have Wireshark 2.6.5 installed in FreeBSD.

Virtual Linux Machines

Hi all,

  • Is it possible to run debian as a virtual machine inside imunes experiements instead of freebsd ?
  • Is it possible to customize the freebsd virtual machine inside imunes experiments (packages, configuration, etc...) ?

Regards,
/t

vlink script for Linux

I use imunes to create a container topology for automated testing of an rpc protocol implementation.
Once the topology is created, a test harness runs the rpc server and client on the nodes.
I need to modify link parameters (in particular: delay, up/down) from the test harness, too.

As far as I can tell, this use case is covered with the vlink script for FreeBSD, although it seems rather hacky to jexec into the jail and call ngctl from within.
I tracked down the code that configures the links for open vswitch: https://github.com/imunes/imunes/blob/master/runtime/linux.tcl#L985
That code apparently also runs when modifying link parameters from the GUI while an experiment is running.
Could that code be extracted into a command line script?

Thanks for this great project!

Build fails since MALLOC and FREE are deprecated with latest malloc.h

Build fails since MALLOC and FREE are deprecated with latest malloc.h.
A patch that fixes by defining MALLOC and FREE

diff --git a/src/ng_patmat/ng_patmat.c b/src/ng_patmat/ng_patmat.c
index 7551ef0..53af3c5 100644
--- a/src/ng_patmat/ng_patmat.c
+++ b/src/ng_patmat/ng_patmat.c
@@ -27,6 +27,13 @@
 
 MALLOC_DEFINE(M_NETGRAPH_PM, "ng_patmat", "ng_patmat");
 
+#ifndef MALLOC
+#define	MALLOC(space, cast, size, type, flags) \
+	((space) = (cast)malloc((u_long)(size), (type), (flags)))
+#define	FREE(addr, type) free((addr), (type))
+#endif
+
+
 /* Netgraph methods */
 static ng_constructor_t	ng_pm_constructor;
 static ng_rcvmsg_t	ng_pm_rcvmsg;
diff --git a/src/ng_rfee/ng_rfee.c b/src/ng_rfee/ng_rfee.c
index e96cfb6..a7b700a 100644
--- a/src/ng_rfee/ng_rfee.c
+++ b/src/ng_rfee/ng_rfee.c
@@ -41,6 +41,7 @@
 #include <sys/ctype.h>
 #include <sys/kdb.h>
 #include <sys/kernel.h>
+#include <sys/malloc.h>
 #include <sys/mbuf.h>
 
 #include <netgraph/ng_message.h>
@@ -49,8 +50,14 @@
 #include <netgraph/ng_parse.h>
 
 #include "ng_rfee.h"
-
 MALLOC_DEFINE(M_NETGRAPH_RFEE, "ng_rfee", "ng_rfee");
+#ifndef MALLOC
+#define	MALLOC(space, cast, size, type, flags) \
+	((space) = (cast)malloc((u_long)(size), (type), (flags)))
+#define	FREE(addr, type) free((addr), (type))
+#endif
+
+
 
 #ifndef M_DONTWAIT
 #define M_DONTWAIT M_NOWAIT

Can't Save running config on routers

Hi

I'm trying to save the running configuration that I made on my routers but it doesn't work. For example, I create 3 routers, setup ospf areas using vtysh terminal, and tried to save the configuration using "copy running-config startup-config" and nothing. I also tried with the context menu on the router and Settings -> "Import running config".

I need to save my ospf modifications on the routers, if I'm doing it wrong, please tellme

Thanks

installing imunes in freebsd

Good, I downloaded a version of freebsd 11.2 and installed it in a virtual machine (virtualbox), I decided to install IMUNES using the repositories found on this page. However, it gives me a couple of errors. The first of them after executing the following command: # config VIMAGE

The result is as follows

virtualbox_imunes-freebsd11

Aun asi decido continuar con el siguiente paso: # cd ../compile/VIMAGE

para mi sorpresa, el directorio se ha creado, pero al intentar ejecutar los comandos "make", me arroja los siguientes errores:

2virtualbox_imunes-freebsd11

Igualmente, decido seguir y reiniciar el sistema.

Procedo a ir a la carpeta en donde se encuentran los archivos de IMUNES que descargue de esta pagina y procedo a ejecutar los comandos :

make install

imunes -p

Por supuesto, antes de estos descargue los paquetes necesarios para instalar IMUNES: # pkg install tk86 ImageMagick tcllib wireshark socat git gmake

Volviendo al principio, luego de ejecutar "imunes -p" ( y de esperar un largo tiempo), procedo a abrir imunes: # imunes, en modo root.

IMUNES abre, puedo crear cualquier topologia que yo desee, pero al ejecutar el experimento aparece el siguiente error:
3virtualbox_imunes-freebsd11

Of course, I decide to click the "ok" button and proceed to close the experiment by pressing "terminate".
4virtualbox_imunes-freebsd11
Does anyone have any idea what's going on?

Create packages for popular Linux distributions

The goal is to make IMUNES part of the vanilla Linux distribution repositories. Specifically, having packages for Debian, Fedora, Ubuntu and ArchLinux would cover a lot of users. Specific knowledge of how IMUNES works isn't required but it still requires some time, knowledge and determination from users to create and add the packages to the distros which the core developers don't necessarily have.

RSTP Link and Switch Failures

Is there a way to simulate a physical link or switch failure such that RSTP doesn't rely on the max age timer to determine a failure occurred? So far I've used "ifconfig ethx down" for a link failure and using the "STOP" feature of IMUNES for a switch failure, both result in the default max age timer of 6 seconds before RSTP begins proposals.

Run imunes as non-root user

Given the availability of the setcap command we can finely tune the capabilities of IMUNES:
http://linux.die.net/man/7/capabilities

Like this:
setcap cap_dac_override,cap_sys_admin,cap_net_admin,cap_net_raw=ep /usr/local/bin/imunes

In combination with some file permissions in /var/run/netns and adding IMUNES to docker group it should make it possible to run IMUNES without using sudo. This would enable us to smoothly install IMUNES through distribution packages and run it from the deskop environment without asking the users to input their passwords because the package would set the capabilites on installation.

Rapid Spanning Tree Protocol (RSTP)

I am a new user of IMUNES. I currently have it running on the FreeBSD platform where I will be doing some network emulation invovling the Rapid Spanning Tree Protocal (RSTP). I seen than an IMUNES option is available for Linux. Is RSTP available in the Linux option?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.