]> git.entuzijast.net Git - imunes.git/log
imunes.git
16 years agoLinux/OpenVZ - each node is indeed running in a separate file system
numa [Thu, 3 Sep 2009 11:42:08 +0000 (13:42 +0200)]
Linux/OpenVZ - each node is indeed running in a separate file system
(cherry picked from commit a8374e81f1735b8c1363701b014afa8438509dc8)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agokomentar o OS detectionu
numa [Thu, 3 Sep 2009 11:41:07 +0000 (13:41 +0200)]
komentar o OS detectionu
(cherry picked from commit 99f53590bcbd77b168b2dde0d4ebc5bdf97075b6)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agojos debugginga i dokumentacija prvog vimage -c poziva (u deployCfg)
numa [Thu, 3 Sep 2009 10:20:10 +0000 (12:20 +0200)]
jos debugginga i dokumentacija prvog vimage -c poziva (u deployCfg)
(cherry picked from commit b7de5d9c8ef1b2044e6c7a1cb9e00443a9b3cb40)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agoprilagodili eid base OpenVZ obaveznom formatu
numa [Thu, 3 Sep 2009 10:19:33 +0000 (12:19 +0200)]
prilagodili eid base OpenVZ obaveznom formatu
(cherry picked from commit 5a44761530ade159080ac5ea2ae111398e92c2f1)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agou ovom stanju exec funkcije ispisuju sve korake prilikom jednog pokretanja jednostavn...
numa [Mon, 31 Aug 2009 12:14:30 +0000 (14:14 +0200)]
u ovom stanju exec funkcije ispisuju sve korake prilikom jednog pokretanja jednostavnog eksperimenta
(cherry picked from commit 21dc367e2f539bc8bbb811bfb50784962c1523e1)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agorevert nexec echo, useless
numa [Mon, 31 Aug 2009 11:34:14 +0000 (13:34 +0200)]
revert nexec echo, useless
(cherry picked from commit fc37ca60eaeab62fb7080ec6256cddd14c42a2fe)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agozbog testiranja lokalnog Linuxa ne zelimo automatski remoteStart
numa [Mon, 31 Aug 2009 11:31:31 +0000 (13:31 +0200)]
zbog testiranja lokalnog Linuxa ne zelimo automatski remoteStart
(cherry picked from commit 7a31fd761f4d382e68be839a68ec3cfab376542d)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agoprvi hack setOperMode i createIfc da se uopce dobije trivijalni instantiation na...
numa [Fri, 28 Aug 2009 12:10:34 +0000 (14:10 +0200)]
prvi hack setOperMode i createIfc da se uopce dobije trivijalni instantiation na Linuxu; masovna zamjena exec vimage s exec echo vimage da se izbjegnu greske
(cherry picked from commit bccabeea50f4f00473605d6e1aa69f6451690875)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agomalo objasnjenje string range <string> 0 0
numa [Fri, 28 Aug 2009 12:08:41 +0000 (14:08 +0200)]
malo objasnjenje string range <string> 0 0
(cherry picked from commit 01e20630943f90142ceeea3676709e7834b84161)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agoifconfig -l ekvivalent na Linuxu
numa [Fri, 28 Aug 2009 12:08:06 +0000 (14:08 +0200)]
ifconfig -l ekvivalent na Linuxu
(cherry picked from commit 3a1df2a03903c6dab7bdeed815bc2fc0f3c9ac07)

Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
16 years agoAttempt at unbreaking ng_bridge and ng_hub node naming, in face of origin
marko [Tue, 17 Mar 2009 14:35:19 +0000 (14:35 +0000)]
Attempt at unbreaking ng_bridge and ng_hub node naming, in face of
recent hashization (reads: randomization) of ngctl list output.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoDo not return from proc evsched before another evsched run has been
marko [Wed, 29 Oct 2008 12:31:41 +0000 (12:31 +0000)]
Do not return from proc evsched before another evsched run has been
scheduled (using after 1000 evsched).

Bug found by: Mirta Medanic <mirta.medanic at fer.hr>
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years ago- Removed annoying bug: "Error: can't read "": no such variable".
miljenko [Tue, 28 Oct 2008 12:30:18 +0000 (12:30 +0000)]
- Removed annoying bug: "Error: can't read "": no such variable".
  (On GUI startup "Select tool" is not selected. If you try to select
  something using left mouse button an error is displayed.)

- Use default font for all menu fields.
  (Removed "-font arial" from "Static routes" field)

- Mode for "host" is always "static" (not quagga or xorp)
  (If all nodes are selected for "Routing protocol defaults" than
  only nodes of type "router" should be efected by the change.)

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoBug found by:
miljenko [Mon, 27 Oct 2008 13:09:30 +0000 (13:09 +0000)]
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoWhen event scheduler is running elapsed time is shown on bottom label
miljenko [Mon, 27 Oct 2008 12:55:24 +0000 (12:55 +0000)]
When event scheduler is running elapsed time is shown on bottom label

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoIMUNES version is now extracted from the CVS info in *.tcl files.
miljenko [Mon, 27 Oct 2008 12:46:28 +0000 (12:46 +0000)]
IMUNES version is now extracted from the CVS info in *.tcl files.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoUnbreak node name assignment on node creation - a bug which was
marko [Thu, 23 Oct 2008 14:46:42 +0000 (14:46 +0000)]
Unbreak node name assignment on node creation - a bug which was
introduced by the (hasty) last commit.

Bug found by: Mirta Medanic
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoSimplify mechanisms for router config generation introduced in
marko [Thu, 23 Oct 2008 14:19:14 +0000 (14:19 +0000)]
Simplify mechanisms for router config generation introduced in
last commit; fix the syntax for quagga ospf2 / ospf3 configuration;
and inject route redistribution statements to / from rip / ospf and
ripng / ospf3.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoAdd GUI support for selecting routing protocols in use on virtual
marko [Thu, 23 Oct 2008 12:04:20 +0000 (12:04 +0000)]
Add GUI support for selecting routing protocols in use on virtual
routers.  The GUI now provides menus for enabling / disabling RIPv2,
RIPng, OSPFv2 and OSPFv3, as well as mechanisms for automatic
generation of appropriate quagga / xorp config files.  Routing
protocols can only be enabled or disabled on per-router basis, i.e.
no finer-grain control over individual routing protocol parameters
or options is provided.  If required, users can extend the
machine-generated quagga or xorp config file skeletons using the
"Custom config" menu option.

By default, all new quagga or xorp router instances will have both
RIPv2 and RIPng enabled, just as it was before this change.  The
defaults can be changed in menu Tools -> Routing protocol defaults,
which will be applied both to all selected routers (if any) at the
time of change, as well as to all the subsequentially created ones.

Thanks Ana!!!

Bug found by:
Submitted by: Ana Mijocevic <ana.mijocevic at fer.hr>
Reviewed by:
Approved by:
Obtained from:

17 years agoDo not special-case parsing of constant values in event scheduler.
marko [Wed, 24 Sep 2008 13:02:54 +0000 (13:02 +0000)]
Do not special-case parsing of constant values in event scheduler.
Instead, constants are now specified as a "const" function with a
single argument, in addition to already existing "rand", "ramp" and
"square" functions.

Bug found by:
Submitted by: Mirta Medanic <mirta.medanic@fer.hr>
Reviewed by:
Approved by:
Obtained from:

17 years agoIf environment variable IMUNES_EVENTLOG is set, log all changes
marko [Thu, 17 Jul 2008 13:09:01 +0000 (13:09 +0000)]
If environment variable IMUNES_EVENTLOG is set, log all changes
trigerred by the internal event scheduler to the file specified in
$IMUNES_EVENTLOG.  The log format is as follows:

timestamp link_id node0_id:ifname node1_id:ifname \
    delay BER duplicate bandwidth

Example:

1216299873 l1 n1:eth1 n2:eth0 95041 0 0 248000
1216299875 l1 n1:eth1 n2:eth0 200000 0 0 248000

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoAdd square function generator. The generator alternates output between
marko [Tue, 24 Jun 2008 06:44:48 +0000 (06:44 +0000)]
Add square function generator.  The generator alternates output between
two predefined values each N seconds.  Example:

    events {
        40 duplicate square 0 10 20
    }

alternates output between 0 and 10 each 20 secons, starting at 40-th
second of the experiment execution.

General note: none of the event scheduling mechanisms can be controlled
via the GUI, but only through manual editing of the config file.

Another change while here: do not invoke execSetLinkParams() on events
which are changing only link annotations (width, color).

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoAdvance event scheduler and time only in exec mode, and actually apply
marko [Tue, 24 Jun 2008 05:03:38 +0000 (05:03 +0000)]
Advance event scheduler and time only in exec mode, and actually apply
the changes to ng_pipe nodes in addition to updating the GUI view.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoAdd a ramp function generator in event scheduler.
marko [Mon, 23 Jun 2008 19:46:24 +0000 (19:46 +0000)]
Add a ramp function generator in event scheduler.

So far, it is possible to schedule changes to link parameters
(bandwidth, delay, BER, duplicate) and attributes (width, color) to
constant values or periodic functions (rand or ramp).

Example:

link l1 {
    nodes {n1 n2}
    bandwidth 256000
    events {
        1 width ramp 5 2 1
        3 color rand 0 16777216 1
        5 bandwidth rand 128000 256000 2
        30 width 3
        35 color red
    }
}

At t = 1s after the experiment is started, the width attribute of link l1
will be set to 5, and will increase by 2 each second, until t = 30s when
it will be set to constant value of 3.

At t = 3s the color attribute of link l1 will randomly change each second,
until t = 35s when the color will be set to "red".

Ar t = 5s bandwidth will begin to take random values between 128000 and
256000 each 2 seconds, and this process will continue for the entire
duration of the experiment.

All changes trigged by the event scheduled will be visible in the GUI.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoUnbreak the scheduler, so that periodic events can be rescheduled even
marko [Mon, 23 Jun 2008 17:02:52 +0000 (17:02 +0000)]
Unbreak the scheduler, so that periodic events can be rescheduled even
in absence of another event for the same target scheduled in the future.

Allow for link width to be modulated from the event scheduler, and
convert integer values to appropriate format for specifying 24-bit
color, so that colors can be specified both as plain integers as well
as using standard Tk color naming conventions.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoRemoved an obsolete comment.
marko [Sun, 22 Jun 2008 23:32:17 +0000 (23:32 +0000)]
Removed an obsolete comment.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoImplement a simple discrete event scheduler to be used for node and
marko [Sun, 22 Jun 2008 23:29:45 +0000 (23:29 +0000)]
Implement a simple discrete event scheduler to be used for node and
link reconfiguration at predefined points in time.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoIntroduce support for automated IPv4 address renumbering, and
marko [Sat, 17 May 2008 01:57:02 +0000 (01:57 +0000)]
Introduce support for automated IPv4 address renumbering, and
replace ad-hoc hardcoded 10.0.0.0/8 address pool with user
selectable variable-mask IPv4 address pool.

Bug found by:
Submitted by: Sanja Marjanovic <Sanja.Marjanovic at fer.hr>
Reviewed by:
Approved by:
Obtained from:

17 years agoBug found by:
miljenko [Wed, 14 May 2008 13:58:18 +0000 (13:58 +0000)]
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoSimple shell script to cleanup all vimages (hierarchical vimages are not supported)
miljenko [Wed, 14 May 2008 13:53:23 +0000 (13:53 +0000)]
Simple shell script to cleanup all vimages (hierarchical vimages are not supported)

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoBug found by:
miljenko [Wed, 14 May 2008 13:51:08 +0000 (13:51 +0000)]
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoVersion (imunes -v) changed
miljenko [Mon, 28 Apr 2008 11:42:50 +0000 (11:42 +0000)]
Version (imunes -v) changed

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoTo enable X applications running on virtual nodes we create
miljenko [Mon, 28 Apr 2008 11:32:34 +0000 (11:32 +0000)]
To enable X applications running on virtual nodes we create
a pair of virtual ethernet interfaces (with shell script
startopera), one in "default" and the other in virtual node.

If the experiment is terminated while TCP socket (in any virtual node)
is in state TIME_WAIT a system will hang and then reboot.
To prevent virtual node destruction from rebooting the system
a loop checking TIME_WAIT state in all virtual nodes is added
as temporary fix.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoUnbreak fetching local IP addresses via netstat for addresses wih ASCII
marko [Fri, 8 Feb 2008 13:59:46 +0000 (13:59 +0000)]
Unbreak fetching local IP addresses via netstat for addresses wih ASCII
representation with 13 bytes.  Previously 123.123.123.123 would be
truncated to 123.123.123.12

17 years agoRedirect standard and diagnostic output of per-node startup scripts
marko [Thu, 31 Jan 2008 10:56:56 +0000 (10:56 +0000)]
Redirect standard and diagnostic output of per-node startup scripts
into out.log files located in experiment/node specific runtime
directories in /tmp.

Suggested by: Atanu Ghosh (some 2, 3 or more years ago)

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoUnbreak instatiation of physical interface (aka RJ-45) nodes.
marko [Mon, 28 Jan 2008 19:03:34 +0000 (19:03 +0000)]
Unbreak instatiation of physical interface (aka RJ-45) nodes.

The problem was an artifact of introduction of per-experiment top level
vimage containers, so now we need to assign physical interfaces to top
level vimages first, before attempting to connect them via netgraph to
other nodes in a virtual topology.

Bug found by: Florian PONROY <at> fr.thalesgroup.com
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoInitial implementation of a checkbutton menu to choose among currently
marko [Tue, 8 Jan 2008 14:21:00 +0000 (14:21 +0000)]
Initial implementation of a checkbutton menu to choose among currently
open projects.  Selecting a desired project at the bottom of the File
menu switches to that particular project.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoIntroduce a global variable cfg_list which holds all cfg ids (not eids)
marko [Tue, 8 Jan 2008 12:35:30 +0000 (12:35 +0000)]
Introduce a global variable cfg_list which holds all cfg ids (not eids)
for currently open projects.

Move previously global variable currentFile to per-cfg namespaces, given
that each project should typically correspond to a different file.

Rename proc newFile to newProc, and slightly reorganize it so that
newProc does all necessary steps for setting up a project environment
inside the GUI.

Introduce proc setWmTitle which should be used exclusively for updating
window title.

Deprecate procs fileOpenStartup and fileNewDialogBox.

It is no longer necessary to set up the default config namespace in
imunes.tcl and initgui.tcl, given that proc loadCfg and proc newFile
now initialize all the necessary state.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoAdjust node and nodelabel position to fit into the target canvas
marko [Mon, 7 Jan 2008 11:50:04 +0000 (11:50 +0000)]
Adjust node and nodelabel position to fit into the target canvas
when pasting objects which were originally positioned outside the
bounds of the target canvas, i.e. when copying from a bigger to a
smaller canvas.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoUnbreak canvas switching.
marko [Mon, 7 Jan 2008 10:53:15 +0000 (10:53 +0000)]
Unbreak canvas switching.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoMove a few more global variables to per-cfg namespaces:
marko [Sat, 5 Jan 2008 18:06:25 +0000 (18:06 +0000)]
Move a few more global variables to per-cfg namespaces:

curcanvas
zoom
undolevel
redolevel
undolog
oper_mode
eid
ngnodemap

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoInitial implementation of an editing clipboard: introduce
marko [Thu, 3 Jan 2008 13:47:54 +0000 (13:47 +0000)]
Initial implementation of an editing clipboard: introduce
cut, copy and paste functions, and hook them up to the common
keyboard shortcuts CTRL+X, CTRL+C and CTRL+V.

So far the new functions operate only on proper nodes and links,
but not on annotations.

The clipboard is stored in ::cf::clipboard namespace, which must
never be used for any other purpose.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoFirst in a series of commits aimed at (ab)using TCL namespaces for
marko [Wed, 2 Jan 2008 12:08:46 +0000 (12:08 +0000)]
First in a series of commits aimed at (ab)using TCL namespaces for
removing configuration and per-object (node, link, canvas, annotation)
variables from the global namespace.  Once completed, this storage
reorganization should allow us to manage multiple independent IMUNES
configs in parallel and simplify implementation of cut/copy/paste
functionality in the GUI.

This change introduces a new top-level namespace ::cf, which holds
all configuration instances in subordinated namespaces.  So far only
::cf::cfg0 is used.

The new global variable "curconf" selects the working configuration
instance.  Inside most procedures, access to previously global
variables is replaced by variable aliasing to the appropriate
::cf namespace.  The change typically looks like this:

-    global $target
+    upvar 0 ::cf::[set ::curcfg]::$target $target

So far only storage for objects visible in a canvas has beend pushed out
of the global namespace.  Deciding on how to deal with the various GUI
options (option show) needs more thought.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoRemove another unneeded "global" statement inside a proc.
marko [Tue, 1 Jan 2008 20:56:25 +0000 (20:56 +0000)]
Remove another unneeded "global" statement inside a proc.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoRemove unneeded global variable mapping in a procedure.
marko [Tue, 1 Jan 2008 20:53:31 +0000 (20:53 +0000)]
Remove unneeded global variable mapping in a procedure.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoHappy new year - hope it won't be as cosmetic and useless as this
marko [Tue, 1 Jan 2008 18:22:59 +0000 (18:22 +0000)]
Happy new year - hope it won't be as cosmetic and useless as this
commit:

Replace the 4-clause BSD copyright notice with a simplified 2-clause one
obtained from FreeBSD.  Hereby we lift the following two restrictions:

-# 3. All advertising materials mentioning features or use of this software
-#    must display the following acknowledgement:
-# This product includes software developed by the University of Zagreb,
-# Croatia and its contributors.
-# 4. Neither the name of the University nor the names of its contributors
-#    may be used to endorse or promote products derived from this software
-#    without specific prior written permission.

Include all the years from when a file originally appeared until including
2008. in copyright notices.

Drop the "all rights reserved" statement from copyright notices, given
that this is implied automatically by contemproary interpretations of US
copyright law.

Our MZT / MZOS funding only covered years 2004. and 2005., so drop the
notice crediting MZT / MZOS from files / code created from scratch in
2006. and afterwards.

Move the RCS ID line after the copyright notice.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoRepository cleanup, vimageShellServer.sh, start_servers.sh and exec_server.sh removed...
miljenko [Mon, 17 Dec 2007 14:12:00 +0000 (14:12 +0000)]
Repository cleanup, vimageShellServer.sh, start_servers.sh and exec_server.sh removed. (They were used for "remote execution").

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

17 years agoRepository cleanup: vimageShellServer, start_servers.sh and exec_server.sh removed.
miljenko [Mon, 17 Dec 2007 14:09:49 +0000 (14:09 +0000)]
Repository cleanup: vimageShellServer, start_servers.sh and exec_server.sh removed.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoPetra also owns the copyright on gpgui.tcl file.
marko [Sun, 16 Dec 2007 20:39:18 +0000 (20:39 +0000)]
Petra also owns the copyright on gpgui.tcl file.

While here, attempt to fix the RCS ID tags.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoOur graph partitioning algortihms have been entirely implemented by
marko [Sun, 16 Dec 2007 20:35:11 +0000 (20:35 +0000)]
Our graph partitioning algortihms have been entirely implemented by
Petra Schilhard while she was in no way formally associated with our
department or project.  So beyond any doubt she is the copyright holder,
not the University of Zagreb.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoNuke the empty graphpart.tcl file - the entire functionality that Petra
marko [Sun, 16 Dec 2007 20:32:05 +0000 (20:32 +0000)]
Nuke the empty graphpart.tcl file - the entire functionality that Petra
implemented is included in the graph_partitioning.tcl file.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAllow for creation of random interconnection topologies between
marko [Thu, 13 Dec 2007 13:07:27 +0000 (13:07 +0000)]
Allow for creation of random interconnection topologies between
existing nodes from the GUI.  Right click on a selected node ->
Create link to -> Selected -> Random.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoImplement a simple algorithm for generating random connected topologies.
marko [Thu, 13 Dec 2007 12:45:09 +0000 (12:45 +0000)]
Implement a simple algorithm for generating random connected topologies.

Bug found by:
Submitted by: Mirta Medanic <mirta.medanic at fer.hr>
Reviewed by:
Approved by:
Obtained from:

18 years agoForced commit to test how mailman processes commit messages.
marko [Tue, 4 Dec 2007 14:21:24 +0000 (14:21 +0000)]
Forced commit to test how mailman processes commit messages.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAdded exit status.
miljenko [Tue, 4 Dec 2007 13:43:01 +0000 (13:43 +0000)]
Added exit status.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoCleanup should remove /tmp/$eid.
miljenko [Mon, 3 Dec 2007 15:22:00 +0000 (15:22 +0000)]
Cleanup should remove /tmp/$eid.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoSupport for the new directory structure: /tmp/$eid/$node.
miljenko [Mon, 3 Dec 2007 15:13:06 +0000 (15:13 +0000)]
Support for the new directory structure: /tmp/$eid/$node.
Added options to return eid (-e) and node (-n).

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoRestore support for "serial" links, which were used by default
marko [Sat, 1 Dec 2007 00:56:46 +0000 (00:56 +0000)]
Restore support for "serial" links, which were used by default
for connecting router nodes in the old days.  This will only work
with the most recent kernel code from P4.

Note however that with such "serial" links (ng_iface nodes in
reality) our dear friend quagga has some issues and refuses to
open multicast sockets there, resulting in RIP / OSPF not working
in default configurations.  Interesting that running routed -P ripv2
works without a glitch on those interfaces.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoCosmetic change - use lowercase instead of uppercase letters in
marko [Fri, 30 Nov 2007 21:01:27 +0000 (21:01 +0000)]
Cosmetic change - use lowercase instead of uppercase letters in
16-bit hex values embedded in experiment IDs.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoInvalid default capture filter "not ip host" is still present in wireshark
miljenko [Mon, 26 Nov 2007 08:56:55 +0000 (08:56 +0000)]
Invalid default capture filter "not ip host" is still present in wireshark
(wireshark-0.99.6.tbz from packages)
Workarond: start it with filter: -f  " "

(wrong command in previous version)

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoInvalid default capture filter "not ip host" is still present in wireshark
ana [Sat, 24 Nov 2007 23:17:06 +0000 (23:17 +0000)]
Invalid default capture filter "not ip host" is still present in wireshark
(wireshark-0.99.6.tbz from packages)
Workarond: start it with filter: -f  " "

Bug found by: Miljenko Mikuc
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoTest. Pls ignore this message.
ana [Sat, 24 Nov 2007 15:11:53 +0000 (15:11 +0000)]
Test. Pls ignore this message.
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoTemporary fix to enable multiple inetd and rpcbind processes (in different vimages).
miljenko [Tue, 13 Nov 2007 09:34:06 +0000 (09:34 +0000)]
Temporary fix to enable multiple inetd and rpcbind processes (in different vimages).
Sholud be removed if each vimage is running in separate file system.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoUse a shorter name for the top-level vimage container holding all
marko [Sat, 10 Nov 2007 01:47:52 +0000 (01:47 +0000)]
Use a shorter name for the top-level vimage container holding all
virtual nodes in an experiment, so that a string in form of
ifname@eid.nodeid could fit into 15 characters or less for all node
ids smaller than n1000.  The 15 chatacter string length limitation
is derived from the IF_NAMESIZE constant which applies when specifying
interface names.  Longer eids were previously causing trouble when
attempting to open a bpf tap in child nodes.

This change fixes bugzilla bug #2:
http://imunes.tel.fer.hr/bugzilla/show_bug.cgi?id=2

Bug found by: miljenko at tel.fer.hr
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAdded option "-lr"
miljenko [Mon, 5 Nov 2007 18:11:52 +0000 (18:11 +0000)]
Added option "-lr"

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoSupport for the new hierarchical naming scheme.
miljenko [Mon, 5 Nov 2007 13:51:53 +0000 (13:51 +0000)]
Support for the new hierarchical naming scheme.
"default" (vimage) is now known as "."

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agong_socket must be explicitly kldloaded first, now that ngctl
marko [Fri, 2 Nov 2007 00:21:04 +0000 (00:21 +0000)]
ng_socket must be explicitly kldloaded first, now that ngctl
commands are no longer executing in the default vnet.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoUse the new "vimage -lr" form to traverse the entire vimage
marko [Thu, 1 Nov 2007 21:51:48 +0000 (21:51 +0000)]
Use the new "vimage -lr" form to traverse the entire vimage
hierarchy bellow the current position, given that from now on
"vimage -l" will list only direct children of current vimage.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoNuke a now redundant check whether we are running in a default
marko [Thu, 1 Nov 2007 17:37:20 +0000 (17:37 +0000)]
Nuke a now redundant check whether we are running in a default
vimage.  Regardless whether we are at the top of the vimage tree
or not, the current vimage will have an address of ".".  More
importantly, we can now _really_ start new experiments from within
non-default vimages, i.e. run IMUNES inside IMUNES!

While here, bump our "version" date.
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAdd a command line option "-e" or "--eid" for specifying a non-default
marko [Thu, 1 Nov 2007 17:31:05 +0000 (17:31 +0000)]
Add a command line option "-e" or "--eid" for specifying a non-default
experiment ID.

This might be particularly usefull in combination with imunes -b
for cleaning up a running / stale experiment.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoNuke away the cleanupCfg function, which provided functionality
marko [Thu, 1 Nov 2007 11:11:06 +0000 (11:11 +0000)]
Nuke away the cleanupCfg function, which provided functionality
redundant to vimageCleanup.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAllow for multiple independent experiments to run in parallel.
marko [Thu, 1 Nov 2007 10:42:27 +0000 (10:42 +0000)]
Allow for multiple independent experiments to run in parallel.

Each experiment is dynamically assigned an experiment id (eid) which
it then uses throughout its lifetime.  By default the eid is
constructed by appending the process id of the tcl interpreter to
the prefix "imunes_".  All vimages and netgraph nodes corresponding
to virtual nodes in an experiment are created as child nodes of
a "controlling" vimage which has the same name as eid.  All virtual
node specific temporary directories / files are created as
subdirectories in /tmp/$eid directory.

vimageCleanup function is modified to destroy / cleanup only those
vimages / netgraph nodes bellow and including the controlling
vimage for the given experiment.  Temporary files in /tmp/$eid are
no longer automatically deleted.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoFirst in a series of changes to leverage on recently introduced
marko [Mon, 29 Oct 2007 16:25:23 +0000 (16:25 +0000)]
First in a series of changes to leverage on recently introduced
hierarchical vimage naming model in the kernel.

The main thrust of this change is to decouple experiment id ($eid)
from vimage / netgraph node names.  Instead, a top-level vimage
named $eid is created first, in which all vimages / netgraph nodes
are created as child nodes.  This relieves the default vimage
context of any netgraph space pollution, and paves a way for
adding support for parallel execution of independent experiments.

This change does NOT include a revamp of experiment cleanup
routines, so be warned that until further notice neither "imunes -b"
nor attempts to stop an experiment from the GUI will work.

Bug found by:
Submitted by:
Requested by:
Reviewed by:
Approved by:
Obtained from:

18 years agoThese days ethereal is no longer called ethereal but wireshark,
marko [Thu, 25 Oct 2007 00:34:47 +0000 (00:34 +0000)]
These days ethereal is no longer called ethereal but wireshark,
so reflect this change in our code.

Support for BPF tapping in remote vnets was just (re)introduced
at kernel level with this change:

http://perforce.freebsd.org/chv.cgi?CH=128041

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoSupport for the new hierarchical naming scheme.
ana [Tue, 23 Oct 2007 14:14:10 +0000 (14:14 +0000)]
Support for the new hierarchical naming scheme.
"default" (vimage) is now known as ".".

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoFix memberd.tcl so that it can run on FreeBSD 7.0.
marko [Sun, 21 Oct 2007 16:59:32 +0000 (16:59 +0000)]
Fix memberd.tcl so that it can run on FreeBSD 7.0.

18 years agoEliminate the guesswork when attempting to determine the id of a
marko [Tue, 9 Oct 2007 11:22:51 +0000 (11:22 +0000)]
Eliminate the guesswork when attempting to determine the id of a
newly created ng_eiface or ng_iface node.  The replacement
approach at "ngctl mkpeer" invocation yields deterministic
results, and reduces the spawned process pipeline at the same time,
thus reducing the time / CPU cycles wasted on ng node creation.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoWhen cleaning up a running experiment, always attempt to kill
marko [Mon, 8 Oct 2007 23:28:13 +0000 (23:28 +0000)]
When cleaning up a running experiment, always attempt to kill
all processes in all vimages first.

It seems that quagga has a bug which sets all zebra processes in an
infinite loop if a network interface disappears while the suite is
running.  Before this change, we were "unplugging" the ng_eifaces
while zebra & co. were still running, resulting in each vimage
attempting to hog the CPU.  This would leave very little CPU time
for IMUNES scripts, and for any user interaction with the system
for that matter, so cleaning up a more complex topology could
last for quite a while.

In short, the cleanup should be now roughly as fast as it used to be
in 4.11 days.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoUnbreak GUI handler for canvas renaming.
marko [Mon, 8 Oct 2007 21:48:52 +0000 (21:48 +0000)]
Unbreak GUI handler for canvas renaming.

Bug found by: Boris Matesin
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoIn FreeBSD 7 portmap is replaced with rpcbind.
miljenko [Fri, 14 Sep 2007 07:46:58 +0000 (07:46 +0000)]
In FreeBSD 7 portmap is replaced with rpcbind.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years ago"default" is removed from the list of vimages as "vimage default ..." is not allowed.
miljenko [Fri, 14 Sep 2007 07:45:10 +0000 (07:45 +0000)]
"default" is removed from the list of vimages as "vimage default ..." is not allowed.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoLift the prohibition from configuring link emulation parameters
marko [Thu, 30 Aug 2007 23:57:50 +0000 (23:57 +0000)]
Lift the prohibition from configuring link emulation parameters
on links terminating in rj45 nodes, given that exec.tcl already
inserts a ng_pipe instance between rj45 and whatever is on the
other side of the link.  This change also revealed a bug in
ng_pipe that will be fixed soon in p4 after a little bit more of
testing.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoChange default link bandwith to 0. The reasoning behind this decision
marko [Thu, 30 Aug 2007 23:19:21 +0000 (23:19 +0000)]
Change default link bandwith to 0.  The reasoning behind this decision
is that as we will target bigger / more complex topologies, the
overhead of emulating link effects might become more pronounced.
ng_pipe nodes when configured for zero bandwith, delay, packet
duplication and loss will bypass the complex queuing and state
keeping / locking code, hence forward the packets with minimal
overhead.

While here, once again change the default settings for which
parameters will be displayed in the editor.  Displaying link labels,
ifnames and IPv4 addresses is now on by default, while displaying
of IPv6 addresses is not.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoWhen instantiatinga an interface in a L3 node which is directly
marko [Thu, 30 Aug 2007 22:56:09 +0000 (22:56 +0000)]
When instantiatinga an interface in a L3 node which is directly
connected to an rj45 outlet, use the MAC address of the physical
interface on the virtual interface as well.  This allows for
virtual nodes to gain access to the outside world via 802.11
physical cards.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agongnodemap must be set for rj45 type nodes as well, otherwise
marko [Thu, 30 Aug 2007 18:54:35 +0000 (18:54 +0000)]
ngnodemap must be set for rj45 type nodes as well, otherwise
deployCfg would break when attempting to connect an rj45 node to
whatever is on the other side of the link.

With this change plus a kernel-level fix to be submitted to p4
shortly communication to external world via "rj45" nodes should
work properly.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoBring back to life ng_pipe insertion on our links. For this to work
marko [Tue, 21 Aug 2007 07:54:15 +0000 (07:54 +0000)]
Bring back to life ng_pipe insertion on our links.  For this to work
you'll need to fetch the latest kernel sources from my home dir
at imunes.tel.fer.hr or from p4.  Note that the scheduler for ng_pipe
in -CURRENT at this point in time cannot provide resolution better than
kernel tick intervals, so you'll probably wish to configure your kernels
with high HZ setting - default in -CURRENT is 1000 HZ which should be
fine for proof-of-concept experiments.

Note that ng_pipe in -CURRENT is stripped off of XCP and [GA]RED
functions, but we never used those directly in IMUNES anyway so noone
should be hurt...

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoRemove an annoying puts that probably leaked from some debugging
marko [Sat, 18 Aug 2007 19:24:58 +0000 (19:24 +0000)]
Remove an annoying puts that probably leaked from some debugging
fun in proc loadCfg.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAdd support for storing ospf6 config and starting up the
marko [Sat, 18 Aug 2007 18:41:43 +0000 (18:41 +0000)]
Add support for storing ospf6 config and starting up the
ospf6d daemon of quagga suite.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoA hack to allow multicast to work (to some extent) on FreeBSD -CURRENT:
marko [Tue, 14 Aug 2007 20:54:03 +0000 (20:54 +0000)]
A hack to allow multicast to work (to some extent) on FreeBSD -CURRENT:
add a route to 224.0.0.0/4 over our loopback interface.  This seems
necessary to allow any multicast traffic to be transmitted out of the
machine / virtual nodes, and in particular allows RIP to work with
XORP.  OTOH, for reasons beyond my willingless for further investigation,
quagga does not even properly open multicast sockets for RIP, regardless
whether using quagga built from the ports collection, or using a
package built for 6.2-RELEASE in compatibility mode :(

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoRemove comments embedded in switch construct in popupConfigApply in
marko [Tue, 14 Aug 2007 20:46:47 +0000 (20:46 +0000)]
Remove comments embedded in switch construct in popupConfigApply in
an attempt to unbreak it -> man n switch says comments may not be
embedded in between switch tokens / sections, it seems that my copy
of tclsh8.4 becomes really nervous about that (the older versions
did not complain as far as I can recall).

While here, do some indentation cleanups.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoTurn on resolving of "@" character to vimage name on per-vimage
marko [Mon, 13 Aug 2007 07:16:11 +0000 (07:16 +0000)]
Turn on resolving of "@" character to vimage name on per-vimage
basis via vfs.morphing_symlinks sysctl.  This finally allows
IMUNES to be run on top of FreeBSD -CURRENT.

NB as of now multicast sending without having default route set still
seems to be broken in FreeBSD -CURRENT (as it is in FreeBSD 5 and 6
as well), so until this is resolved in the kernel or we introduce some
other hack, routing protocols / implementations relying on multicast
transmission won't work inside IMUNES.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoDo not hardcode path to quaggaboot.sh. This allows IMUNES to be run
marko [Mon, 13 Aug 2007 07:12:06 +0000 (07:12 +0000)]
Do not hardcode path to quaggaboot.sh.  This allows IMUNES to be run
from the development directory without having to install
quaggaboot.sh to /usr/local/bin first.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoPrevent zebra and related daemons from accepting control connections
marko [Mon, 13 Aug 2007 07:10:01 +0000 (07:10 +0000)]
Prevent zebra and related daemons from accepting control connections
on their designated TCP ports, given that we strive to control the
suite exclusively through vtysh.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoImprovement of the custom configuration window.
ana [Fri, 10 Aug 2007 18:31:52 +0000 (18:31 +0000)]
Improvement of the custom configuration window.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoAdd the missing initialization for the defFillColor variable.
marko [Wed, 25 Jul 2007 11:50:49 +0000 (11:50 +0000)]
Add the missing initialization for the defFillColor variable.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoMerge back changes from RELENG_4_11:
marko [Fri, 20 Jul 2007 22:52:32 +0000 (22:52 +0000)]
Merge back changes from RELENG_4_11:

Rectangle, circle (oval) AND TEXT annotations are configured using
a single proc.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoKeep all annotation objects in a single list (annotation_list),
marko [Fri, 20 Jul 2007 09:22:26 +0000 (09:22 +0000)]
Keep all annotation objects in a single list (annotation_list),
instead of having three separate lists for text, rectangle and
oval objects.

In configuration file, deprecate text, rectangle, and oval object
classes, and replace them with a single annotation class.  The
type of annotation objects can be determined via proc nodeType.

Add an "xxx xxx xxx" asert in textConfigApply in a suspicious branch.

Remove the request for "raising" canvas objects tagged as "menuBubble"
in proc raiseAll, since it seems to be never used.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoMerge changes from RELENG_4_11.
marko [Thu, 19 Jul 2007 08:27:45 +0000 (08:27 +0000)]
Merge changes from RELENG_4_11.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoMerge changes from RELENG_4_11.
marko [Thu, 19 Jul 2007 08:08:58 +0000 (08:08 +0000)]
Merge changes from RELENG_4_11.

Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from:

18 years agoTesting commit message (ignore this).
ana [Thu, 19 Jul 2007 07:31:26 +0000 (07:31 +0000)]
Testing commit message (ignore this).
Bug found by:
Submitted by:
Reviewed by:
Approved by:
Obtained from: