Claudio-Daniel Freire [Sun, 4 Sep 2011 17:31:46 +0000 (19:31 +0200)]
Merge with HEAD, close aly's branch.
Claudio-Daniel Freire [Sun, 4 Sep 2011 17:30:41 +0000 (19:30 +0200)]
Fix metadata breakage from recent commit
Claudio-Daniel Freire [Sun, 4 Sep 2011 17:27:37 +0000 (19:27 +0200)]
Merge TCP handshake stuff
Claudio-Daniel Freire [Sun, 4 Sep 2011 16:54:21 +0000 (18:54 +0200)]
Merge non-handshake stuff
Alina Quereilhac [Sun, 4 Sep 2011 13:20:53 +0000 (15:20 +0200)]
log "Connected" after succefull handshake in tunchannel_impl.py
Alina Quereilhac [Fri, 2 Sep 2011 10:19:31 +0000 (12:19 +0200)]
added Tun device for netns
Claudio-Daniel Freire [Wed, 31 Aug 2011 18:08:38 +0000 (20:08 +0200)]
WORKING WORKING WOOOHOOO!!!!!!!!!
I'm outa here... must... get... drunk...
Alina Quereilhac [Wed, 31 Aug 2011 17:38:38 +0000 (19:38 +0200)]
tcp_handshake works!
Alina Quereilhac [Wed, 31 Aug 2011 16:22:55 +0000 (18:22 +0200)]
udp and gre are working. tcp_handshake is not working yet.
Claudio-Daniel Freire [Wed, 31 Aug 2011 12:57:44 +0000 (14:57 +0200)]
Multicast fixes
Claudio-Daniel Freire [Tue, 30 Aug 2011 17:57:12 +0000 (19:57 +0200)]
Working (and easy to use) multicast forwarding
Alina Quereilhac [Tue, 30 Aug 2011 17:54:26 +0000 (19:54 +0200)]
Added TCP-handshake for TunChannel and tun_connect.py
Claudio-Daniel Freire [Tue, 30 Aug 2011 13:48:33 +0000 (15:48 +0200)]
Multicast forwarding KINDA working
Alina Quereilhac [Sun, 28 Aug 2011 16:51:51 +0000 (18:51 +0200)]
corrected logging of function name in cross connection
Alina Quereilhac [Sun, 28 Aug 2011 16:12:44 +0000 (18:12 +0200)]
Added CLEAN_ROOT option to DEPLOYMENT_ATTRIBUTES. This option force removal of the server's root_directory if it exists already.
Alina Quereilhac [Fri, 26 Aug 2011 16:06:05 +0000 (18:06 +0200)]
corrected typo.
Claudio-Daniel Freire [Fri, 26 Aug 2011 16:02:08 +0000 (18:02 +0200)]
Oops - copypaste stupidity
Yep - there's a lot of it
Claudio-Daniel Freire [Fri, 26 Aug 2011 15:58:33 +0000 (17:58 +0200)]
Merge with head
Claudio-Daniel Freire [Fri, 26 Aug 2011 15:57:28 +0000 (17:57 +0200)]
Ignore MetaAttribute flags for local factories
Alina Quereilhac [Fri, 26 Aug 2011 15:41:37 +0000 (17:41 +0200)]
bugfix: in server.Server, inside the message read loop, a break was donde after a read timeout. After that the Server stayed blocked in accept().
Alina Quereilhac [Fri, 26 Aug 2011 14:04:16 +0000 (16:04 +0200)]
The loglevel of logging is now set from the ExperimentController depending on the access_configuration setup.
Claudio-Daniel Freire [Fri, 26 Aug 2011 11:07:46 +0000 (13:07 +0200)]
Enhanced multicast support: generate IGMP messages for join/leave
The kernel seems to miss many of them when they're associated to virtual interfaces
Claudio-Daniel Freire [Thu, 25 Aug 2011 16:09:09 +0000 (18:09 +0200)]
Avoid using PLE for tests
Claudio-Daniel Freire [Thu, 25 Aug 2011 16:08:54 +0000 (18:08 +0200)]
Silence Server in tests
Claudio-Daniel Freire [Thu, 25 Aug 2011 16:07:36 +0000 (18:07 +0200)]
Missing import
Claudio-Daniel Freire [Thu, 25 Aug 2011 16:04:17 +0000 (18:04 +0200)]
Fix copypaste stupidity
Claudio-Daniel Freire [Thu, 25 Aug 2011 15:40:49 +0000 (17:40 +0200)]
UDP TunChannel handshake
Claudio-Daniel Freire [Thu, 25 Aug 2011 15:40:22 +0000 (17:40 +0200)]
Implement UDP handshake in tunchannel, so that other testbeds can use it
Claudio-Daniel Freire [Thu, 25 Aug 2011 14:56:52 +0000 (16:56 +0200)]
Do not require a real PL for tests.
Mostly since it's lagging behind in features
Alina Quereilhac [Thu, 25 Aug 2011 14:44:28 +0000 (16:44 +0200)]
Sanitizing os.reads for EINTR in server.py. The suspicion of pyqt using Twisted grows bigger.
Claudio-Daniel Freire [Thu, 25 Aug 2011 14:34:00 +0000 (16:34 +0200)]
Forwarder must also forward EOF!!
(And server must detect it and re-listen)
Claudio-Daniel Freire [Thu, 25 Aug 2011 12:26:00 +0000 (14:26 +0200)]
Autodetect NEPI's path
Alina Quereilhac [Thu, 25 Aug 2011 12:23:50 +0000 (14:23 +0200)]
disabled sudo integration test for netns testbed.
Alina Quereilhac [Thu, 25 Aug 2011 11:22:29 +0000 (13:22 +0200)]
merge.
Alina Quereilhac [Thu, 25 Aug 2011 11:12:54 +0000 (13:12 +0200)]
Daemonized servers are now always launched with popen, and not directly invoked in the same process.
Claudio-Daniel Freire [Tue, 23 Aug 2011 16:13:19 +0000 (18:13 +0200)]
- Incomplete multicast support (initial work)
- Bandwidth limit for TUN/TAP
- Classful queue improvements, especially on tunchannel when using custom queues
Alina Quereilhac [Tue, 23 Aug 2011 00:00:38 +0000 (02:00 +0200)]
ClassQueueFilter working in PlanetLab. Results need to be verified.
Claudio-Daniel Freire [Mon, 22 Aug 2011 16:35:53 +0000 (18:35 +0200)]
SSH timeout. It tends to... hang. Whatevah...
Claudio-Daniel Freire [Mon, 22 Aug 2011 13:30:44 +0000 (15:30 +0200)]
Merge with head
Claudio-Daniel Freire [Mon, 22 Aug 2011 13:30:03 +0000 (15:30 +0200)]
tun_connect fix: forgot to pass queueclass to tun_fwd (oops)
Alina Quereilhac [Fri, 19 Aug 2011 15:33:32 +0000 (17:33 +0200)]
Added trace netref to lookup for trace[trace_id].[attribute]
Claudio-Daniel Freire [Fri, 19 Aug 2011 11:28:32 +0000 (13:28 +0200)]
+ClassQueueFilter
+TosQueueFilter
And compacted metadata a bit
Claudio-Daniel Freire [Fri, 19 Aug 2011 11:28:10 +0000 (13:28 +0200)]
Automatic expansion in Metadata:
(TESTBED_ID, (FACTORY_ID1, FACTORY_ID2), CONN)
->
(TESTBED_ID, FACTORY_ID1, CONN)
(TESTBED_ID, FACTORY_ID2, CONN)
Alina Quereilhac [Fri, 19 Aug 2011 10:32:11 +0000 (12:32 +0200)]
missing "scripts" dir in planetlab tunfilter classes path.
Claudio-Daniel Freire [Fri, 19 Aug 2011 10:12:04 +0000 (12:12 +0200)]
Make TunFilter find builtin scripts for the user
Claudio-Daniel Freire [Fri, 19 Aug 2011 10:04:58 +0000 (12:04 +0200)]
Class-based queue for tunnels
Claudio-Daniel Freire [Fri, 19 Aug 2011 08:04:20 +0000 (10:04 +0200)]
Finally a Serial Murder Death Killer do_cleanup
Claudio-Daniel Freire [Fri, 19 Aug 2011 08:03:47 +0000 (10:03 +0200)]
Validate testbed attributes early
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:18:26 +0000 (17:18 +0200)]
Merge with aly's
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:17:56 +0000 (17:17 +0200)]
PlanetLab recovery fix: if cleanup is enable, for Pete's sake DON'T CLEAN UP ON RECOVERY
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:17:12 +0000 (17:17 +0200)]
Make sure tests clean up after them, by setting dedicatedSlice=True and by trapping exceptions in shutdown.
Claudio-Daniel Freire [Thu, 18 Aug 2011 15:16:16 +0000 (17:16 +0200)]
More stable conditions for loss tests, make the tests succeed more consistently
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
Alina Quereilhac [Thu, 18 Aug 2011 12:33:36 +0000 (14:33 +0200)]
merge with head
Alina Quereilhac [Thu, 18 Aug 2011 12:32:31 +0000 (14:32 +0200)]
bug fix in GUID/label replacement.
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
Alina Quereilhac [Wed, 17 Aug 2011 16:09:25 +0000 (18:09 +0200)]
merge -r 411
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