numa [Fri, 4 Sep 2009 13:17:26 +0000 (15:17 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
(cherry picked from commit 15d9560111cb52ecc8d528000e18e8a1053592bf)
Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
numa [Fri, 4 Sep 2009 13:17:14 +0000 (15:17 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
(cherry picked from commit ce355bddd327e235f171b01331728f239fd48a76)
Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
numa [Fri, 4 Sep 2009 13:16:34 +0000 (15:16 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
(cherry picked from commit 4a6d11e1f0f2e92cf1ffccc94d468e49678dedc0)
Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
numa [Thu, 3 Sep 2009 11:43:38 +0000 (13:43 +0200)]
dodatni debugging posvuda; uhvaceno jos FreeBSD-specific nexeca; implementiran osnovni Linux/OpenVZ create/start i stop/destroy
(cherry picked from commit f7eeee13553959a0eb1a848b66c77a80c9a05140)
Signed-off-by: Josip Rodin <joy@CNZGRIJRL.carpriv.carnet.hr>
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>
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>
numa [Fri, 4 Sep 2009 13:51:03 +0000 (15:51 +0200)]
Revert "Revert "vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno""
numa [Fri, 4 Sep 2009 13:50:22 +0000 (15:50 +0200)]
Revert "vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno"
numa [Fri, 4 Sep 2009 13:17:26 +0000 (15:17 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
numa [Fri, 4 Sep 2009 13:17:14 +0000 (15:17 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
numa [Fri, 4 Sep 2009 13:16:34 +0000 (15:16 +0200)]
vratili original FreeBSD host.tcl i exec.tcl, a dodali Linux verzije u linux/; dodali OS detection i pomaknuli platform detection iznad source'inga tako da to ide kondicionalno
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
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.)
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.
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:
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.
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
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.
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.
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:
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.
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
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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 " "
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 " "
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.
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: