Exemplo n.º 1
0
def parse_arguments():
    exper_options = get_experiment_option()
    parser = argparse.ArgumentParser(description='imalse')
    
    parser.add_argument('-e', '--experiment', default='TopoExperiment',
            help='specify the experiment. Avaliable experiments are [%s]'%(" |").join(exper_options)
            )
    parser.add_argument('--mode', default='sim',
            help="specify the mode, can be ['netns3' | 'sim'], default is 'sim'. "
            )
    parser.add_argument('--ehelp', action='store_true',
            help="print the help of a experiment"
            )
    
    # Print Help when there is no argument
    if len(sys.argv) == 1:
        print '----------------Experment Selection Arguments------------------'
        parser.print_help()
        print '----------------Exeriment Options------------------------------'
        for experiment in exper_options:
            for mode in ['netns3','sim']:
                print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++'%(experiment, mode)
                exper_class = experiments.experiment_factory(experiment, mode)
                exper = exper_class()
                exper.print_help()
    
        sys.exit(1)
    
    args, exper_args = parser.parse_known_args()

    if args.ehelp:
        print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++'%(args.experiment, args.mode)
        exper.print_help()
        sys.exit(1)  
    
    return args, exper_args
Exemplo n.º 2
0
"""
It demos the process of loading a predefined topology file.
"""
import settings
from core.ns3.Topology import ManualTopologyNet
from experiments import experiment_factory
import os

# SERVER_ADDR = "10.0.1.1"

TopoExperiment = experiment_factory('TopoExperiment', BaseClass)
from util import Namespace


class ManualTopoExperiment(TopoExperiment):
    """In Manual Topo Experiment,  You can specify and ip address for each indexing"""
    def initparser(self, parser):
        TopoExperiment.initparser(self, parser)

        parser.set_defaults(net_settings="net_config/net_settings.py", )
        parser.add_option(
            '--net_settings',
            dest="net_settings",
            help='net settings file',
        )

    def load_net_settings(self):
        s = {}
        execfile(settings.ROOT + '/' + self.options.net_settings, s)
        return Namespace(s)
Exemplo n.º 3
0
            help="print the help of a experiment"
            )
    
    # Print Help when there is no argument
    if len(sys.argv) == 1:
        print '----------------Experment Selection Arguments------------------'
        parser.print_help()
        print '----------------Exeriment Options------------------------------'
        for experiment in exper_options:
            for mode in ['netns3','sim']:
                print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++'%(experiment, mode)
                exper_class = experiments.experiment_factory(experiment, mode)
                exper = exper_class()
                exper.print_help()
    
        sys.exit(1)
    
    args, exper_args = parser.parse_known_args()

    if args.ehelp:
        print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++'%(args.experiment, args.mode)
        exper.print_help()
        sys.exit(1)  
    
    return args, exper_args


args, exper_args = parse_arguments()
exper_class = experiments.experiment_factory(args.experiment, args.mode)
exper_class().main(exper_args)
Exemplo n.º 4
0
"""
Complex Network Experiment with Background Traffic

This experiment will deal with heterogeneous network
that consists of not only PointToPointLink but also
CsmaNetwork, etc
"""
from __future__ import print_function, division
import settings
from core.ns3.NS3Config import BackgroundTrafficConfig
from core.ns3.Topology import ComplexNet
from experiments import experiment_factory
from core.configure import gen_anomaly_dot
import ns3

ManualTopoExperiment = experiment_factory("ManualTopoExperiment", BaseClass)

zeros = lambda s: [[0 for i in xrange(s[1])] for j in xrange(s[0])]
import copy


class ComplexNetExperiment(ManualTopoExperiment):
    """This experiment deals with hetergenous network
    """

    # routing protocol list, 'type':priority
    routing_helper_list = {
        "static": 0,
        "nix": 5,
        # 'olsr':10,
    }
Exemplo n.º 5
0
"""
Manual Topology Experiment with Background Traffic

"""
from __future__ import print_function, division
import settings
from core.ns3.NS3Config import BackgroundTrafficConfig
from core.ns3.Topology import ManualTopologyNet
from experiments import experiment_factory
from core.configure import gen_anomaly_dot
import ns3
import copy

ManualTopoExperiment = experiment_factory('ManualTopoExperiment', BaseClass)

zeros = lambda s:[[0 for i in xrange(s[1])] for j in xrange(s[0])]

def get_inet_adj_mat(fname):
    fid = open(fname, 'r')
    i = -1
    while True:
        i += 1
        line = fid.readline()
        if not line: break
        if i == 0:
            totnode, totlink = [int(s.strip()) for s in line.rsplit()]
            adj_mat = zeros([totnode, totnode])
            continue
        if i <= totnode: # ignore the position information
            continue
Exemplo n.º 6
0
    default='sim',
    help="specify the mode, can be ['netns3' | 'sim'], default is 'sim'. ")
parser.add_argument('--ehelp',
                    action='store_true',
                    help="print the help of a experiment")

# Print Help when there is no argument
if len(sys.argv) == 1:
    print '----------------Experment Selection Arguments------------------'
    parser.print_help()
    print '----------------Exeriment Options------------------------------'
    for experiment in exper_options:
        for mode in ['netns3', 'sim']:
            print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++' % (
                experiment, mode)
            exper_class = experiments.experiment_factory(experiment, mode)
            exper = exper_class()
            exper.print_help()

    sys.exit(1)

args, exper_args = parser.parse_known_args()
exper_class = experiments.experiment_factory(args.experiment, args.mode)
exper = exper_class()

if args.ehelp:
    print '+++++++++Experiment:[%s] Mode:[%s]+++++++++++++++++++++++' % (
        args.experiment, args.mode)
    exper.print_help()
    sys.exit(1)
"""
Manual Topology Experiment with Background Traffic

"""
from __future__ import print_function, division
import settings
from core.ns3.NS3Config import BackgroundTrafficConfig
from core.ns3.Topology import ManualTopologyNet
from experiments import experiment_factory
from core.configure import gen_anomaly_dot
import ns3
import copy

ManualTopoExperiment = experiment_factory('ManualTopoExperiment', BaseClass)

zeros = lambda s: [[0 for i in xrange(s[1])] for j in xrange(s[0])]


def get_inet_adj_mat(fname):
    fid = open(fname, 'r')
    i = -1
    while True:
        i += 1
        line = fid.readline()
        if not line: break
        if i == 0:
            totnode, totlink = [int(s.strip()) for s in line.rsplit()]
            adj_mat = zeros([totnode, totnode])
            continue
        if i <= totnode:  # ignore the position information
            continue