Giter Club home page Giter Club logo

bgp-simulation's People

Stargazers

 avatar

Watchers

 avatar  avatar

bgp-simulation's Issues

Simulation done API

Depends on the behaviour of the simulation process, but a signal for simulation done is likely to be needed.

Docs not compiling neither on local neither on docker

  • If you try to build the docs locally, it is not guaranteed that the user has sphinx-build installed.
    Error:
/bin/sh: line 1: sphinx-build: command not found
make: *** [Makefile:20: docs] Error 127

(I cannot understand why the Makefile is using the /bin/sh shell instead of the shell in my environment

  • If you try to build the docs on Docker neither the command docs nor build are found. Only the command clean is present (take a look at the Makefile)
    Error:
Running Sphinx v3.5.3

Sphinx error:
Builder name docs not registered or available through entry point
make: *** [Makefile:20: docs] Error 2
Running Sphinx v3.5.3

Sphinx error:
Builder name build not registered or available through entry point
make: *** [Makefile:20: build] Error 2

Get Packet path for simulation API

Here we have to discuss how to simulate the packet transmission.
E.g.:

  1. GUI -> Send "transmit the first packet"
  2. Backend computes the behaviour
  3. Backend returns the path of the first packet
  4. GUI -> shows the behaviour

OR

  1. Backend computes all the paths for the packets (including various events)
  2. GUI -> Show all the packets' behaviour without interruptions

Bool value saying if a device is an endpoint or not

Since you are already parsing the configuration file, it would be nice to have a bool variable that I can test and which is saying if a device is a router or endpoint (it can be also a Char indicating the type)

Create the basic objects: Router, Client, Connection

  • Device
    Abstact type: can be Router or Client

    • ID (internal, just needed for the simulation)
  • Router

    • ID โ†’ see Device
    • AS number
    • networks_details[] (derived from Network_details)
    • links[] (derived from Link)
    • announced prefixes[]
    • localPreference[]
      • AS, preferenceValue
    • trust[]
      • AS, trustValue
  • Client

    • ID โ†’ see Device
    • network_details (derived from Network_details)
    • link (derived from Link)
  • Network_details

    • interface
    • IP
    • netmask
    • default_gateway
  • Link

    • device_ids(x, y)
    • device_source_interfaces(x, y)
    • connectionStatus (failed/active)

TCP/IP Packet management

Find out a proper library to create and handle TCP/IP packets.
Requirements:

  • packet manipulation at a bit level
  • the router must check the header of the packet to forward it
  • fragmentation optional
  • IPv6 optional

Link status wrong enum

The link status is stated with an enum, but the correspondent bool is probably wrong.
Behaviour:

active -> 0
failed -> 1

The other way around could be more intuitive returning true when the link is active

Docs with docker not compiling

Trying to build the docs with docker, gives the following error:

docker: Error response from daemon: create ./docs: "./docs" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.

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.