Git Product home page Git Product logo

ml-net-docker's Introduction

Mininet Docker Image

This contains the files to construct a mininet docker image that can execute mininet simulated networks.

Privileged Mode

It is important to run this container in Privileged mode (--privileged) so that if can manipulate the network interface properties and devices. I suspect this can also be achieved with the capabilities (--cap-add) features of docker, but this has not been investigated.

Overview

This container by default executes the the mininet (mn) executable with the options to the docker run command passed as parameters to the mininet processes.

Process Execution

If the first option to the docker run command begins with a /, it is assumed that this references a path to an executable and that executable is invoked with any other run time options to the docker container.

URL Download and Execute

If the first option to the docker run command is a URL, hueristically determined, the file the URL references is downloaded and executed with any other run time options to the docker container. It is assumed that the URL references a python mininet script, but this is not verified.

Security Concerns

Because this container can be use to download and run any executable from a given URL there are some security concerns as the downloaded executalbe could be malicious. As such please use caution when specifying a URL to download and run.

Docker Compose

A sample docker-compose entry for this container

fabric:
  image: ciena/mininet
  container_name: fabric
  privileged: true
  stdin_open: true
  tty: true
  environment:
    MININET_SCRIPT: http://networks.company.com/fabric.py
    MININET_SCRIPT_OPTIONS: -switch_cnt 5
  links:
    - controller_1:primary_controller
    - controller_2:backup_controller1
    - controller_3:backup_controller2
  labels:
    org.onlabs.cord.name: fabric
    org.onlabs.cord.type: fabric

ml-net-docker's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.