Patriot topologyNetwork simulator api

This project is control api for topologyNetwork simulator project. Provides creating, connecting docker devices, networks, calculating shortest paths and updating routers routing table.

License

License

GroupId

GroupId

io.patriot-framework
ArtifactId

ArtifactId

patriot-api
Last Version

Last Version

2.0.0
Release Date

Release Date

Type

Type

jar
Description

Description

Patriot topologyNetwork simulator api
This project is control api for topologyNetwork simulator project. Provides creating, connecting docker devices, networks, calculating shortest paths and updating routers routing table.
Project URL

Project URL

https://patriot-framework.io/
Source Code Management

Source Code Management

https://github.com/PatrIoT-Framework/patriot-api

Download patriot-api

How to add to project

<!-- https://jarcasting.com/artifacts/io.patriot-framework/patriot-api/ -->
<dependency>
    <groupId>io.patriot-framework</groupId>
    <artifactId>patriot-api</artifactId>
    <version>2.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.patriot-framework/patriot-api/
implementation 'io.patriot-framework:patriot-api:2.0.0'
// https://jarcasting.com/artifacts/io.patriot-framework/patriot-api/
implementation ("io.patriot-framework:patriot-api:2.0.0")
'io.patriot-framework:patriot-api:jar:2.0.0'
<dependency org="io.patriot-framework" name="patriot-api" rev="2.0.0">
  <artifact name="patriot-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.patriot-framework', module='patriot-api', version='2.0.0')
)
libraryDependencies += "io.patriot-framework" % "patriot-api" % "2.0.0"
[io.patriot-framework/patriot-api "2.0.0"]

Dependencies

compile (13)

Group / Artifact Type Version
io.patriot-framework : generator jar 2.0.0
org.junit.jupiter : junit-jupiter-api jar 5.5.2
org.junit.jupiter : junit-jupiter-engine jar 5.5.2
args4j : args4j jar 2.33
org.slf4j : slf4j-api jar 1.7.5
com.fasterxml.jackson.core : jackson-databind jar 2.8.11.1
com.github.jgonian : commons-ip-math jar 1.32
javax.xml.bind : jaxb-api jar 2.2.11
com.sun.xml.bind : jaxb-core jar 2.2.11
com.sun.xml.bind : jaxb-impl jar 2.2.11
javax.activation : activation jar 1.1.1
org.junit.platform : junit-platform-launcher jar 1.2.0
org.scannotation : scannotation jar 1.0.3

Project Modules

There are no modules declared in this project.

Network control

Main goal of this Java API is provide full topologyNetwork control from scratch i. e create docker networks, containers, connect them together as they are in networkTop, calculate shortest paths, set routes to routers (container) routing table, simulate crash on link.

Currently supports:

  • Physical topologyNetwork creating including routers
  • Calculation shortest paths
  • Update routers routing tables
  • Set default gateways on routers
  • Deploy Java application into docker container

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

Before installing you need to download, compile and install topologyNetwork simulator:

git clone https://github.com/PatrIoT-Framework/topologyNetwork-simulator-example.git
cd topologyNetwork-simulator-example
mvn assembly:assembly
mvn install:install-file -Dfile=target/topologyNetwork-sample-2.0-SNAPSHOT-jar-with-dependencies.jar -DgroupId=com.redhat.patriot -DartifactId=topologyNetwork-sample -Dversion=2.0-SNAPSHOT -Dpackaging=jar -DgeneratePom=true

Router

Before creating topologyNetwork topology, router image has to be build.

git clone https://github.com/obabec/PatrIoT_router
docker build -topologyBuilder YOURTAG PatrIoT_router

You will use tag of your image when you will create topology and especially routers.

Running tests

mvn test

Build With

io.patriot-framework

PatrIoT

IoT Testing Framework

Versions

Version
2.0.0
1.1.0