Claudio-Daniel Freire [Thu, 18 Aug 2011 15:15:29 +0000 (17:15 +0200)]
Fix threadcache to reset itself upon fork.
Cached threads are no longer alive after a fork
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:14:45 +0000 (17:14 +0200)]
Be a little more verbose about filters
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:14:21 +0000 (17:14 +0200)]
Fix plr50.c:
- Allow specifying a seed (and seed to a default), for repeatable results
- Fix PLR formula - was inverted
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:12:12 +0000 (17:12 +0200)]
Replace prints with logging
Claudio-Daniel Freire [Wed, 17 Aug 2011 17:45:39 +0000 (19:45 +0200)]
Merge with head
Claudio-Daniel Freire [Wed, 17 Aug 2011 17:45:00 +0000 (19:45 +0200)]
TOS test, and a fix or two to custom queues
Claudio-Daniel Freire [Wed, 17 Aug 2011 17:19:32 +0000 (19:19 +0200)]
Custom queues and a new and shiny TOS queue
Claudio-Daniel Freire [Wed, 17 Aug 2011 16:05:30 +0000 (18:05 +0200)]
sudo -S that is
Claudio-Daniel Freire [Wed, 17 Aug 2011 16:05:22 +0000 (18:05 +0200)]
Unpacked shipped rpms with sudo
Alina Quereilhac [Wed, 17 Aug 2011 15:31:36 +0000 (17:31 +0200)]
Ticket 87: "[NEPI] Experiment started on..."
Alina Quereilhac [Wed, 17 Aug 2011 15:19:17 +0000 (17:19 +0200)]
removed device_name from tunchan. now attribute is if_name
Claudio-Daniel Freire [Wed, 17 Aug 2011 13:27:23 +0000 (15:27 +0200)]
Re-enable benchs
Claudio-Daniel Freire [Wed, 17 Aug 2011 13:11:08 +0000 (15:11 +0200)]
Tunchannel fixes galore:
* Fix lockups at shutdown that would keep the tun_connect.py script at 100% forever
* Make sure UDP tunnels connect (at least at first), by performing a small handshake
* Fix tunproto.py to effectively raise exceptions on misconnection (was swallowing them)
* Fix tunproto.py to effectively wait for listening/connected endpoints
* Filter fixes: ingress filters should be applied after decryption
Claudio-Daniel Freire [Wed, 17 Aug 2011 13:08:19 +0000 (15:08 +0200)]
PL execute test
* Configurable slice
* Automatic vsys_vnet
* Tidy shutdown
* dedicatedSlice=True for clean operation
Claudio-Daniel Freire [Wed, 17 Aug 2011 12:51:29 +0000 (14:51 +0200)]
Better cleanup - really really kill stuff
Claudio-Daniel Freire [Wed, 17 Aug 2011 12:10:48 +0000 (14:10 +0200)]
Add nice priority to YumDependency's yum commands.
They use up a good amount of CPU, and on nodes with many slices concurrently running yum, it could affect running experiments in other slices.
Claudio-Daniel Freire [Wed, 17 Aug 2011 12:08:27 +0000 (14:08 +0200)]
Apply the PLR only to the incoming direction, thus avoiding double application of the PLR (in egress and ingress)
Claudio-Daniel Freire [Wed, 17 Aug 2011 12:07:37 +0000 (14:07 +0200)]
Thread cache, to re-use threads.
It so happens that the per-user process limit includes DEAD threads, which is nonsense, but it does.
Maybe python doesn't clean up properly, but whatever the reason, there is a limit even in nonconcurrent threads created.
To mitigate that, a thread cache is used in the parallel module to avoid creating thousands of threads and reaching that limit.
Claudio-Daniel Freire [Fri, 12 Aug 2011 14:25:51 +0000 (16:25 +0200)]
TUN/TAP filters, initial version, with tests.
Still not completely right: the acceptance filter seems to be applied twice.
Maybe ingress and egress acceptance filters should be separate.
Claudio-Daniel Freire [Thu, 11 Aug 2011 14:53:05 +0000 (16:53 +0200)]
Allow routing through /vsys/sliceip.
Disable for now, PL nodes do a kernel panic when that script is used!
Claudio-Daniel Freire [Thu, 11 Aug 2011 14:51:49 +0000 (16:51 +0200)]
PLCAPI wrapper for getting slice tags
Claudio-Daniel Freire [Thu, 11 Aug 2011 14:51:32 +0000 (16:51 +0200)]
Kill more efficiently
Claudio-Daniel Freire [Thu, 11 Aug 2011 14:50:37 +0000 (16:50 +0200)]
If the app runs with sudo, kill with sudo
Claudio-Daniel Freire [Tue, 9 Aug 2011 17:59:07 +0000 (19:59 +0200)]
Fix GRE tests to NOT use encryption
Claudio-Daniel Freire [Tue, 9 Aug 2011 17:58:58 +0000 (19:58 +0200)]
Do not stay alive indefinitely, PL cleans up itself, but only IF tun_connect eventually dies.
Claudio-Daniel Freire [Tue, 9 Aug 2011 17:21:12 +0000 (19:21 +0200)]
Configurable cipher for tunnelling
Claudio-Daniel Freire [Tue, 9 Aug 2011 15:44:14 +0000 (17:44 +0200)]
Merge with head
Claudio-Daniel Freire [Tue, 9 Aug 2011 15:43:19 +0000 (17:43 +0200)]
TunChannel improvements:
- Use python-iovec library for increased performance
- In PlanetLab, support for GRE tunnels
Claudio-Daniel Freire [Tue, 9 Aug 2011 15:34:53 +0000 (17:34 +0200)]
Test fix: make the trace-checking regex accept exponential notation of numbers
Claudio-Daniel Freire [Tue, 9 Aug 2011 15:34:19 +0000 (17:34 +0200)]
Slice cleanup: dedicated slices can be cleaned up thoroughly.
The user only has to set the appropriate testbed attribute
Claudio-Daniel Freire [Tue, 9 Aug 2011 15:32:24 +0000 (17:32 +0200)]
YumDependency fix: try tar twice, yum seems to be working in the background at times
Alina Quereilhac [Mon, 8 Aug 2011 08:36:08 +0000 (10:36 +0200)]
BUgfix in ns3 testbed, when scheuling an event, the condition was released always after a wait.
Alina Quereilhac [Sat, 6 Aug 2011 07:31:39 +0000 (09:31 +0200)]
BugFix: Tixket #84 - [NEF] netns can't run with daemonized experiment controller.
Alina Quereilhac [Fri, 5 Aug 2011 15:58:21 +0000 (17:58 +0200)]
added integration test fot netns
Alina Quereilhac [Thu, 4 Aug 2011 15:58:02 +0000 (17:58 +0200)]
bugfix: ns3 connection metadata
Claudio-Daniel Freire [Thu, 4 Aug 2011 12:29:56 +0000 (14:29 +0200)]
More encodign fixes, xml does not know how to encode \x00
Claudio-Daniel Freire [Thu, 4 Aug 2011 11:24:39 +0000 (13:24 +0200)]
Merge with head
Claudio-Daniel Freire [Thu, 4 Aug 2011 11:23:51 +0000 (13:23 +0200)]
Encoding fix: make sure to pass unicode objects for xml serialization
Claudio-Daniel Freire [Wed, 3 Aug 2011 16:33:58 +0000 (18:33 +0200)]
Fix shutdown to use the proper stop procedure (schedule the stop event thread-safely) and wait for the simulator thread to stop.
Claudio-Daniel Freire [Wed, 3 Aug 2011 13:10:52 +0000 (15:10 +0200)]
More optimizations: remove packet logging, not needed now that tunnels use tcpdump for that
Claudio-Daniel Freire [Wed, 3 Aug 2011 11:47:39 +0000 (13:47 +0200)]
TUN/TAP optimizations, generizations, and a benchmark
Claudio-Daniel Freire [Wed, 3 Aug 2011 11:47:03 +0000 (13:47 +0200)]
Some apps need more than one kill to die.
Claudio-Daniel Freire [Wed, 3 Aug 2011 11:46:40 +0000 (13:46 +0200)]
Fix the txqueuelen TUN/TAP attribute (typo)
Claudio-Daniel Freire [Wed, 3 Aug 2011 10:31:22 +0000 (12:31 +0200)]
Set TUN/TAP devices to ONE_QUEUE mode, which is more stable.
Otherwise, heavily-loaded tunnels can destabilize PlanetLab kernels.
Claudio-Daniel Freire [Wed, 3 Aug 2011 10:30:43 +0000 (12:30 +0200)]
Allow multiple occurrences (even recursive occurrences) of netrefs
Alina Quereilhac [Mon, 1 Aug 2011 15:05:11 +0000 (17:05 +0200)]
Added FdNetDevice test for ns3 integration.
Alina Quereilhac [Mon, 1 Aug 2011 10:31:37 +0000 (12:31 +0200)]
Adapted ns3 testbed to changes in FdNetDevice.
Claudio-Daniel Freire [Mon, 1 Aug 2011 08:40:15 +0000 (10:40 +0200)]
Fix etherStrip bug
Alina Quereilhac [Sat, 30 Jul 2011 10:30:54 +0000 (12:30 +0200)]
Adapting nepi to ns3.11
Claudio-Daniel Freire [Fri, 29 Jul 2011 15:28:13 +0000 (17:28 +0200)]
TunChannel optimization: do not even format packets if there is no stderr output to write to
Claudio-Daniel Freire [Fri, 29 Jul 2011 14:49:02 +0000 (16:49 +0200)]
YumDependency fix in install commands - typos galore
Claudio-Daniel Freire [Thu, 28 Jul 2011 17:09:32 +0000 (19:09 +0200)]
Testbed status
Claudio-Daniel Freire [Thu, 28 Jul 2011 16:19:01 +0000 (18:19 +0200)]
Add useful and important tag filters for node selection:
- Location
- CPU available
- Load average
Claudio-Daniel Freire [Thu, 28 Jul 2011 15:13:17 +0000 (17:13 +0200)]
Cross-connection recovery among PlanetLab instances
Still not tested with other testbeds
Claudio-Daniel Freire [Thu, 28 Jul 2011 15:12:40 +0000 (17:12 +0200)]
Use repr for showing invalid values, helps detecting type mismatches
Claudio-Daniel Freire [Thu, 28 Jul 2011 15:12:16 +0000 (17:12 +0200)]
Higher parallelism
Claudio-Daniel Freire [Thu, 28 Jul 2011 15:11:53 +0000 (17:11 +0200)]
Generic number validator (accepting multiple numeric types)
Claudio-Daniel Freire [Thu, 28 Jul 2011 10:18:36 +0000 (12:18 +0200)]
Multi PL tests are not expensive, remove the NEPI_FULL_TESTS requirement
Claudio-Daniel Freire [Thu, 28 Jul 2011 10:02:48 +0000 (12:02 +0200)]
More documentation of recovery procedures
Claudio-Daniel Freire [Thu, 28 Jul 2011 10:00:03 +0000 (12:00 +0200)]
Document the recovery procedure
Claudio-Daniel Freire [Thu, 28 Jul 2011 09:57:38 +0000 (11:57 +0200)]
Recovery policy for testbeds, and recovery implementation in PlanetLab.
Not fully tested yet, especially untested are cross connections.
Claudio-Daniel Freire [Wed, 27 Jul 2011 14:01:38 +0000 (16:01 +0200)]
Merge with head
Claudio-Daniel Freire [Wed, 27 Jul 2011 14:00:27 +0000 (16:00 +0200)]
Update PlanetLab's NS3Dependency to work with ns 3.11
Claudio-Daniel Freire [Wed, 27 Jul 2011 14:00:01 +0000 (16:00 +0200)]
Ability to recover local controllers
Alina Quereilhac [Wed, 27 Jul 2011 11:56:28 +0000 (13:56 +0200)]
constants for recovery policy
Alina Quereilhac [Wed, 27 Jul 2011 09:33:13 +0000 (11:33 +0200)]
bugfix for finding ns3 bindings when installed in the system
Claudio-Daniel Freire [Tue, 26 Jul 2011 16:24:29 +0000 (18:24 +0200)]
Merge with tip
Claudio-Daniel Freire [Tue, 26 Jul 2011 16:17:31 +0000 (18:17 +0200)]
Fix YumDependency: clean packages.tar before archiving
Claudio-Daniel Freire [Tue, 26 Jul 2011 16:16:57 +0000 (18:16 +0200)]
Make spanning deployment optional, both for security and interactivity reasons (spanning deployment is interactive, it may not always be appropriate, like in tests)
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:47:08 +0000 (17:47 +0200)]
Ticket #73: part 1, enable spanning tree deployment of package dependencies
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:35:21 +0000 (17:35 +0200)]
Merge ns-3.11 branch
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:34:59 +0000 (17:34 +0200)]
Close ns-3.11 branch
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:34:33 +0000 (17:34 +0200)]
Merge ns-3.11 branch
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:17:07 +0000 (17:17 +0200)]
SchedulerType attribute for ns3 testbed
Defaulted to ns3::ThreadsafeMapScheduler, since nepi requires thread-safe scheduling.
Claudio-Daniel Freire [Tue, 26 Jul 2011 15:07:06 +0000 (17:07 +0200)]
Merge
Alina Quereilhac [Tue, 26 Jul 2011 15:10:47 +0000 (17:10 +0200)]
ns3_bindings_import
Claudio-Daniel Freire [Tue, 26 Jul 2011 14:58:11 +0000 (16:58 +0200)]
Merge default
Claudio-Daniel Freire [Mon, 25 Jul 2011 16:54:00 +0000 (18:54 +0200)]
Controller resucitation fixes.
Claudio-Daniel Freire [Mon, 25 Jul 2011 13:19:39 +0000 (15:19 +0200)]
Reconnection fix: testbed deserialization was completely borked
Claudio-Daniel Freire [Mon, 25 Jul 2011 10:28:59 +0000 (12:28 +0200)]
Useful directory argument to environ.homepath
Claudio-Daniel Freire [Fri, 22 Jul 2011 14:49:34 +0000 (16:49 +0200)]
SSH daemonization test fix, along with environment setup fixes.
- NEPI_TESTBEDS: new environment variable that allows the specification of a mapping between testbed_id and testbed modules, for custom (eg: mock) testbeds
- environment_setup now does work with locally daemonized testbeds (it wasn't working)
Claudio-Daniel Freire [Fri, 22 Jul 2011 08:57:38 +0000 (10:57 +0200)]
Various fixes:
- Parallelization fix: sync before post-actions
- Fix port randomization in PL tests
Alina Quereilhac [Fri, 22 Jul 2011 08:52:10 +0000 (10:52 +0200)]
ns-3.11
Alina Quereilhac [Fri, 22 Jul 2011 08:38:47 +0000 (10:38 +0200)]
removed tag ROUTER from tags
Claudio-Daniel Freire [Thu, 21 Jul 2011 13:12:51 +0000 (15:12 +0200)]
Ticket #69: tun/tap port base allows concurrent experiments in the same slice (if configured correctly)
Claudio-Daniel Freire [Thu, 21 Jul 2011 12:50:51 +0000 (14:50 +0200)]
Logging for testbed_impl
Claudio-Daniel Freire [Thu, 21 Jul 2011 12:21:56 +0000 (14:21 +0200)]
Merge with head
Claudio-Daniel Freire [Thu, 21 Jul 2011 12:21:45 +0000 (14:21 +0200)]
Ticket #70: Logging instead of prints for PlanetLab
Alina Quereilhac [Thu, 21 Jul 2011 11:54:25 +0000 (13:54 +0200)]
typo corrected in execute.py
Claudio-Daniel Freire [Thu, 21 Jul 2011 11:28:25 +0000 (13:28 +0200)]
Ticket #61: test daemonization
Claudio-Daniel Freire [Wed, 20 Jul 2011 12:33:38 +0000 (14:33 +0200)]
Made automatic proxy reconnection more robust
Claudio-Daniel Freire [Wed, 20 Jul 2011 10:34:09 +0000 (12:34 +0200)]
Catch socket timeouts too and retry
Claudio-Daniel Freire [Wed, 20 Jul 2011 10:33:30 +0000 (12:33 +0200)]
Fix typo
Claudio-Daniel Freire [Tue, 19 Jul 2011 14:46:35 +0000 (16:46 +0200)]
Ticket #71: inner parallelization of setup phases
Claudio-Daniel Freire [Tue, 19 Jul 2011 13:20:54 +0000 (15:20 +0200)]
Fix can_connect logic
Claudio-Daniel Freire [Tue, 19 Jul 2011 13:20:44 +0000 (15:20 +0200)]
Always kill tcpdumps, even on errors
Claudio-Daniel Freire [Tue, 19 Jul 2011 12:09:47 +0000 (14:09 +0200)]
Ticket #58: remove the emulation flag, instead, pick correctly configured nodes only
Claudio-Daniel Freire [Tue, 19 Jul 2011 12:09:07 +0000 (14:09 +0200)]
Fix crossconnection bug: undefer cross_connection data for proper serialization
Claudio-Daniel Freire [Tue, 19 Jul 2011 12:08:27 +0000 (14:08 +0200)]
Make sure "if <deferred>:" is equivalent to the undeferred case by implementing __nonzero__
Claudio-Daniel Freire [Tue, 19 Jul 2011 09:30:11 +0000 (11:30 +0200)]
Fix test: TestbedControllers now don't take a version parameter