diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..549581d72cd58f770ead1c07d8bfce907e893250
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,50 @@
+version: "3"
+services:
+  fod:
+    build:
+        context: .
+        dockerfile: docker-compose/Dockerfile_FOD
+    container_name: fod
+    privileged: true
+    expose:
+        - "8000"
+    ports:
+        - "0.0.0.0:8000:8000"
+    env_file:
+        - ./docker-compose/.env_fod
+    networks:
+      fod:
+        ipv4_address: 10.197.36.2
+    volumes:
+        - ./:/opt/FOD
+
+  freertr:
+    build:
+        context: docker-compose
+        dockerfile: Dockerfile_FREERTR
+    container_name: freertr
+    privileged: true
+    expose:
+        - "23"
+    ports:
+        - "127.0.0.1:2323:2323"
+    env_file:
+        - ./docker-compose/.env_freertr
+    networks:
+      fod:
+        ipv4_address: 10.197.36.3
+    depends_on:
+        - fod
+    volumes:
+        - freertr:/opt
+
+networks:
+  fod:
+    driver: bridge
+    ipam:
+      driver: default
+      config:
+        - subnet: 10.197.36.0/28
+
+volumes:
+  freertr:
diff --git a/docker-compose/.env_fod b/docker-compose/.env_fod
new file mode 100644
index 0000000000000000000000000000000000000000..844321fc2907f86ef61c2f5afcd1f58f34f81fb1
--- /dev/null
+++ b/docker-compose/.env_fod
@@ -0,0 +1,10 @@
+ADMIN_PASS=adminpwd
+ADMIN_EMAIL=admin@localhost.local
+FOD_ORG=testpeer
+FOD_ORG_NET=0.0.0.0/0
+FOD_EXABGP_LOCAL_ID=10.197.36.2
+FOD_EXABGP_LOCAL_IP=10.197.36.2
+FOD_EXABGP_LOCAL_AS=1001
+FOD_EXABGP_REMOTE_ID=10.197.36.3
+FOD_EXABGP_REMOTE_IP=10.197.36.3
+FOD_EXABGP_REMOTE_AS=2001
diff --git a/docker-compose/.env_freertr b/docker-compose/.env_freertr
new file mode 100644
index 0000000000000000000000000000000000000000..b016cb52a6ad33965f6a0cac494bdd477bae321e
--- /dev/null
+++ b/docker-compose/.env_freertr
@@ -0,0 +1 @@
+VARIABLE=test
diff --git a/docker-compose/Dockerfile_FOD b/docker-compose/Dockerfile_FOD
new file mode 100644
index 0000000000000000000000000000000000000000..bb1b92086c19d809edaac738f1046cca00e63801
--- /dev/null
+++ b/docker-compose/Dockerfile_FOD
@@ -0,0 +1,16 @@
+FROM ubuntu:latest
+LABEL maintainer="FOD"
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get update -y && apt-get install -y locales
+RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
+    dpkg-reconfigure --frontend=noninteractive locales && \
+    update-locale LANG=en_US.UTF-8
+ENV LANG en_US.UTF-8
+COPY docker-compose/fod_setup_environment.sh /opt/setup_environment.sh
+RUN mkdir -p /var/run/supervisor
+RUN apt-get update -y && apt-get -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' --assume-yes -fuy dist-upgrade
+RUN apt-get install -y git less man make gcc strace ltrace lsof file vim tshark tcpdump curl wget net-tools sudo psutils procps iptables iputils-ping iputils-tracepath hping3 iproute2 supervisor
+RUN useradd exabgp
+WORKDIR /opt/FOD
+EXPOSE 8000
+CMD /opt/setup_environment.sh && supervisord -c docker-compose/fod_supervisord.conf
diff --git a/docker-compose/Dockerfile_FREERTR b/docker-compose/Dockerfile_FREERTR
new file mode 100644
index 0000000000000000000000000000000000000000..976bb4a776fbd38d68812318d94dee10ac122421
--- /dev/null
+++ b/docker-compose/Dockerfile_FREERTR
@@ -0,0 +1,29 @@
+FROM debian:sid
+LABEL maintainer="FOD"
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get update -y && apt-get install -y locales wget netcat-openbsd less man vim
+RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
+    dpkg-reconfigure --frontend=noninteractive locales && \
+    update-locale LANG=en_US.UTF-8
+ENV LANG en_US.UTF-8
+
+WORKDIR /opt
+RUN wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/install-deps.sh -O install-deps.sh && \
+    wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/install-rtr.sh -O install-rtr.sh && \
+    wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/install-clean.sh -O install-clean.sh && \
+    chmod +x /opt/*
+
+RUN ./install-deps.sh
+RUN ./install-rtr.sh
+RUN ./install-clean.sh
+
+RUN mkdir -p /rtr && \
+    wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/hwdet-init.sh -O /rtr/hwdet-init.sh && \
+    wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/hwdet-mgmt.sh -O /rtr/hwdet-mgmt.sh && \
+    wget https://raw.githubusercontent.com/rare-freertr/freeRtr-containerlab/main/start-rtr.sh -O /rtr/start-rtr.sh && \
+    chmod +x /rtr/*
+
+COPY freertr.cfg /rtr/rtr-sw.txt
+COPY freertr_setup_environment.sh /usr/local/bin/setup_environment.sh
+
+CMD /usr/local/bin/setup_environment.sh
diff --git a/docker-compose/fod_setup_environment.sh b/docker-compose/fod_setup_environment.sh
new file mode 100755
index 0000000000000000000000000000000000000000..72502758652337563289a9bac94180b026ae704c
--- /dev/null
+++ b/docker-compose/fod_setup_environment.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+set -e
+if [ -e /opt/setup_ok ]; then
+	exit 0
+else
+	cd /opt/FOD
+	./install-debian.sh --here --supervisord --setup_admin_user --setup_admin_user5 admin ${ADMIN_PASS} ${ADMIN_EMAIL} ${FOD_ORG} ${FOD_ORG_NET} --exabgp ${FOD_EXABGP_LOCAL_ID} ${FOD_EXABGP_LOCAL_IP} ${FOD_EXABGP_LOCAL_AS} ${FOD_EXABGP_REMOTE_ID} ${FOD_EXABGP_REMOTE_IP} ${FOD_EXABGP_REMOTE_AS}
+	/opt/FOD/venv/bin/python -m pip install exabgp
+	touch /opt/setup_ok
+fi
diff --git a/docker-compose/fod_supervisord.conf b/docker-compose/fod_supervisord.conf
new file mode 100644
index 0000000000000000000000000000000000000000..01acb5f5870cb439386e8901838df0967376c252
--- /dev/null
+++ b/docker-compose/fod_supervisord.conf
@@ -0,0 +1,85 @@
+[unix_http_server]
+file=/var/run/supervisor/supervisor.sock
+
+[supervisord]
+pidfile=/tmp/supervisord.pid
+nodaemon=true
+logfile=/var/log/supervisor/supervisord.log
+logfile_maxbytes=10MB
+logfile_backups=10
+loglevel=info
+childlogdir=/var/log/supervisor
+
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl=unix:///var/run/supervisor/supervisor.sock
+
+[program:fod]
+directory=/opt/FOD
+command=/opt/FOD/pythonenv gunicorn -b 0.0.0.0:8000 flowspy.wsgi -w 10 -k gevent --limit-request-fields 10000 --timeout 30 --graceful-timeout 25
+autostart=true
+autorestart=true
+priority=10
+minfds=32768
+numprocs=1
+logfile_maxbytes=100MB
+stdout_logfile_backups = 0
+stderr_logfile_backups = 0
+stdout_events_enabled=true
+stderr_events_enabled=true
+stderr_logfile=/opt/FOD/log/gunicorn-stdout.log
+stdout_logfile=/opt/FOD/log/gunicorn-stderr.log
+
+[program:celerybeat]
+directory=/opt/FOD
+command=/opt/FOD/pythonenv celery -A flowspy worker -B --concurrency=2 -l info -f logs/celery.log
+autostart=true
+autorestart=true
+priority=10
+minfds=32768
+logfile_maxbytes=100MB
+numprocs=1
+startsecs=10
+stdout_logfile_backups = 0
+stderr_logfile_backups = 0
+stdout_events_enabled=true
+stderr_events_enabled=true
+stderr_logfile=/var/log/supervisor/celerybeat.log
+stdout_logfile=/var/log/supervisor/celerybeat.log
+
+[program:exabgp]
+directory=/opt/FOD
+#command=/opt/FOD/exabgp/run-exabgp-generic 10.197.36.2 10.197.36.2 1001 10.197.36.3 10.197.36.3 2001
+command=/opt/FOD/exabgp/run-exabgp-generic %(ENV_FOD_EXABGP_LOCAL_ID)s %(ENV_FOD_EXABGP_LOCAL_IP)s %(ENV_FOD_EXABGP_LOCAL_AS)s %(ENV_FOD_EXABGP_REMOTE_ID)s %(ENV_FOD_EXABGP_REMOTE_IP)s %(ENV_FOD_EXABGP_REMOTE_AS)s
+autostart=true
+autorestart=true
+priority=10
+minfds=32768
+logfile_maxbytes=100MB
+numprocs=1
+startsecs=10
+stdout_logfile_backups = 0
+stderr_logfile_backups = 0
+stdout_events_enabled=true
+stderr_events_enabled=true
+stderr_logfile=/var/log/supervisor/exabgp.log
+stdout_logfile=/var/log/supervisor/exabgp.log
+
+[program:redis]
+command=/usr/bin/redis-server
+autostart=true
+autorestart=true
+priority=10
+minfds=32768
+logfile_maxbytes=10MB
+numprocs=1
+startsecs=10
+stdout_logfile_backups = 0
+stderr_logfile_backups = 0
+stdout_events_enabled=true
+stderr_events_enabled=true
+stderr_logfile=/var/log/supervisor/redis.log
+stdout_logfile=/var/log/supervisor/redis.log
+
diff --git a/docker-compose/freertr.cfg b/docker-compose/freertr.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..173a03ec99d0d3f87cdeefa8322b64e7b0abb045
--- /dev/null
+++ b/docker-compose/freertr.cfg
@@ -0,0 +1,212 @@
+hostname router
+buggy
+!
+!
+crypto rsakey rsa import $v10$TUlJRW9nSUJBQUtDQVFCNUcxQjJGd216Ly9rTDJKN0xjdTZHckxmVGdjOEJ6aHpnNHVteEhJaVFrdFZ4U2xnQmFFSDBlQmhFdlhJMzA4d2ZNaUVvcWEzNnBMdFlKN3pmK0pGekIrRWJtdDJNZUc2ZURxc3IreGhsSmMzYkozTzhvNVRjZEIxblhKbEV2T0RlOTdycTJnT0xPSjJGaFdwbVBBd3dYTStLVXMxR05iL1hWR09tQUJrMzhlNXpYMU9XU01Oa0dEUXV1MEt3WUNub2pvbXBQdnMvZktVNW13b3ZCeXk3MjNTakdOQ3BYTEQweGRnTUord1ZSQ2NkV1huejk4bUNzRVBtKzJlbTJQbDMrVWU0WnNSVFJQb1JWTHdmVWdNcnViZ21BdFE1QWJtSTdDejdWZmQzRHVpbkVuZFJLSzl0N3dWeEVpcUZkN2Z2c2pYc0hoNVQrK2hqSnJ3TVc3UWxBZ01CQUFFQ2dnRUFSVWlvRm5jRm1SR204KzBBbzVuajllNFgySXZaMXNtSTRldFBFSUVuYTdabEg4UU5adml6U3QzdDNGMlpXM0R5eFNJVHNFU3FnTXIvVnVhYytuRWxITzcwREt2amRYcHNwa1gwRFZ4QVQ1VjZHSmVRY2VvUHZyTTdJeWZwazFhUE8xLzBjbWs1UDh1cTZua3lMcnpKcUYxZ2FsMEdqTlV4SkVwbUc5RFFuSjBrbkw1Vkp4WmQzSTMvOStPZFVtOWJWM3NrdTVBTXk2YnhQOCtSOTJ5QzVFdThvTFoxMUxUVXk2TXNBb3FsalhIcWhIOVlTQ2RLaEtpenFKVEpOSVI3WVVQK0FOb0E0aWwrZXlzSFFQaS94L3dEVGdRY2czZ1N5SFpNYXNIRW51d1VCV2pGOWdYZ2R1VEVtc3VQVGdKdCtZZG4zcXJIMWkxamcxbDlGSGUxWVFLQmdRREJNNjBNUFNkL1pqZU9nQW5MUS94VlBnN2V6NnlnOENweHdsbWNwL25YbWM2TDdJa3dVUXJ0OGlMREN2clZ2dUZYVS9jell1Q2ZYVUc2MVVnNENMQldSM05LcXFuYVJSQ2hNdTBNV2JGd01wVHRHcjN3NXFlbXVtdU1VYWp5Z0pmK2Y2RFNtU01nbG5sR1E3M2FsVkx4bHl6TlE3RGVNdGd6eThyV1lhSytpUUtCZ1FDZ2VKblFuVDN2dkVhT3RzWUdKQVFYUXBFNk5ocjl0OW9TSjJ5dGMyWGpoL0pDbGhSMTBjYndnRzJ0SWhHVHE2WnQxSWNzNCtxVWxsdUxkUDBrRWRjQTErTXBKa3FLand1UE9MTjVUL1JaQ2pxSUJVL3lGR2xkeDlaN29tNGVLUFBPRDROdGZTKzdHRmdqTHB5ajFEOGFldDZ4OFJRVXV6bGRvNksycnlLQnZRS0JnUUNidmVwN2VUakR6RVJ3ek9vWVB6L0QvM2pCU0N2aXVIZWVxSXJRYStCTldxRlR6bU53M1lPditJYnBMNHF3ajJUYm5zWWhXRTIyYWRpNG9ZSE1HY1Q4YURDYU9pVWQzSnJoTjBvN3NIb0c5ZDl6bXlFT2R3RWl1QmhHVHZXZ051VlB0TmFScmZ6UklqdTAxcHJPLzV5VFA4aFAxNGRXTnlwdDVwUW1hU0psOFFLQmdFbVlCYkxPNm1EUUQrdlRsdTJxQnRaRUNTYVJPYit5V2FpSnZDV3dEc0pTenFBTEJFY2tkZ0JHWmdaSTRaYS8yZ3YwdENtNlBSTDRBZlBySzAwbmdWczVwMHh2Nnkrd2VyU3NaR0wyY0RHRnAySktUV2ZRUktKbHk4L1hwbmplZnpHNW02VFRETmpaU1ZLWlJlMDhvZFFiRlphMTRXZkFsWWFFVFZOSzdxQmhBb0dBVmIyZmduRlM1ZWJjZUx5cXY1ZHFwYU9iUVljZC9vV0FaWVJBQ1BGNGNHZHk0cE85QWV2ejd5UHN4OXB6SUNsS0hNNU9DQmtXMHNLNkt2ZHI3TUR1NFVVenR5SnNXOURMUmFuSUg4OCtaZ0hYZnk3TThyNmJzTklrVlMyQml6SExXRmVZNW5kOWt2WFZMOHNQY3dVN2dvM29VUEZlVkRFdm1ZanpsVkZFcm1NPQ==
+!
+crypto dsakey dsa import $v10$TUlJQnVRSUJBQUtCZ0Rxa3VCZldzSW5TdW8zMkJ1N1FIS1lrSUczQ1pnS1BvT2NXK0NqNUY5ODNXNkFmV1h3RUpMZnNPWVM0OWpKUVh2RW9HUzJHM1lOb01tQm9kM3NEbUUrZFhCQjNTbjloTWdjdGhFS3FhOWNuR054ZG5nLzdwejBQYXJUbHdmYXpxeVNwL3RHeE9FTDNrNWFBRk91MUxNbXpEY1dlTTk3cEU0c2tVTnFyRmUrckFoVUF1YVMzdi8yWGpsMDM3U3VMZWFOR21POVNqQ0VDZ1lBTjU1dHlaNi9tL05VMHdWdy95ZnM2N3QxcWJ5dkp3MHFnZWRST2RSZEYyUzlXdjZmK3VRb0hzWEZDZVJibXIxdXZtUXFINVZTVEcrUzc3cDB4SEEraVR0cm1KU0JaREZLR2lLYzJDYWVzakNPZHJ4a2NVeEJTeG9jT0FUVVJId1UvSXJXbkxxSVlXTkFDcEJlQjJBTmVVcW9xaXdUMjVqQWhlM3lXTGZtTGFRS0JnQ25YNC9tdzZZUDArY1l4Q3RhbnJPcWNZeDR6bDlXSmtmSjJ6NENhL0lGSmxxeVJIUUhMNmxEWnprSTJBWmlMUmUzNksxUHVYT3E0NXlibkM3RlJKVGRvUSs3RWxydmdlUTlvT2M1blRzckk5UXRGdmJLVjVTa3RleFNtS0Z3RXRNbk9nUkdZems1VzIwb3lWOU5lU1lsNi9ZRkdFdGZKa0pzdHpkU3Y1YWI5QWhRM0ZFaW5XdFNnM2Y2S0pNSHN3WlZvd3IrRjZRPT0=
+!
+crypto ecdsakey ecdsa import $v10$TUhRQ0FRRUVJQURQR2VsOVU5ZndGNFRGOXNja1JoYWFFWUVYSHJEem5VV1lxVHh5ZHJNNW9BY0dCU3VCQkFBS29VUURRZ0FFdTN3TENSVVVzekFEWTlXOG0wbXhDMTJhQWMxUnpOWGh4bUFwRE9PUVlEWGFzRUtDNmdnVFYvUzNZUHFYdGd1Z3BEZ013WVpack5oNFVMQ1hTUTFhYVE9PQ==
+!
+aaa list auth1
+ exit
+!
+aaa userlist netconfusr
+ username netconf
+ username netconf password $v10$bmV0Y29uZg==
+ exit
+!
+access-list access-all
+ sequence 10 permit all any all any all
+ exit
+!
+access-list rule1
+ sequence 10 deny 6 15.10.10.1 255.255.255.255 123-129 20.20.20.1 255.255.255.255 200-400
+ sequence 20 deny 6 16.10.10.1 255.255.255.255 123-129 20.20.20.1 255.255.255.255 200-400
+ sequence 30 deny 7 16.10.10.1 255.255.255.255 123-129 20.20.20.1 255.255.255.255 200-400
+ sequence 80 deny 7 16.10.10.2 255.255.255.255 123-129 20.20.20.1 255.255.255.255 200-400
+ exit
+!
+policy-map flowspec-v4
+ sequence 1 action drop
+ sequence 1 match access-group rule1
+ !
+ exit
+!
+vrf definition CORE
+ rd 1:1
+ exit
+!
+vrf definition inet
+ exit
+!
+router uni2flow4 1
+ vrf CORE
+ distance 10
+ justadvert loopback1
+ exit
+!
+router uni2flow6 1
+ vrf CORE
+ distance 10
+ justadvert loopback1
+ exit
+!
+interface loopback0
+ vrf forwarding CORE
+ ipv4 address 2.2.2.1 255.255.255.255
+ ipv6 address 4321::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+ no shutdown
+ no log-link-change
+ exit
+!
+interface loopback1
+ vrf forwarding CORE
+ ipv4 address 2.2.2.101 255.255.255.255
+ ipv6 address 4321::101 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+ no shutdown
+ no log-link-change
+ exit
+!
+interface loopback2
+ vrf forwarding CORE
+ ipv4 address 2.2.2.201 255.255.255.255
+ ipv6 address 4321::201 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
+ no shutdown
+ no log-link-change
+ exit
+!
+!interface ethernet1
+! description veth pair end point to crian testbed
+! lldp enable
+! vrf forwarding CORE
+! ipv4 address 12.12.12.2 255.255.255.0
+! mpls enable
+! mpls ldp4
+! no shutdown
+! no log-link-change
+! exit
+!
+!interface ethernet2
+! description tap1 to exabgp
+! lldp enable
+! vrf forwarding CORE
+! ipv4 address 14.0.0.2 255.255.255.0
+! mpls enable
+! mpls ldp4
+! no shutdown
+! no log-link-change
+! exit
+!
+router bgp4 1
+ !vrf CORE
+ vrf OOB
+ local-as 1
+ router-id 4.4.4.1
+ no safe-ebgp
+ address-family unicast flowspec
+ flowspec-install
+ flowspec-advert flowspec-v4
+ !
+ neighbor 10.197.36.2 remote-as 1001
+ neighbor 10.197.36.2 local-as 2001
+ neighbor 10.197.36.2 address-family unicast flowspec
+ neighbor 10.197.36.2 distance 30
+ neighbor 10.197.36.2 send-community standard extended
+ !
+ !
+ !
+ redistribute connected
+ redistribute uni2flow4 1
+ exit
+!
+router bgp6 1
+ vrf CORE
+ local-as 1
+ router-id 6.6.6.1
+ no safe-ebgp
+ address-family unicast flowspec
+ !
+ neighbor 1234:1::2 remote-as 2
+ neighbor 1234:1::2 local-as 1
+ neighbor 1234:1::2 address-family unicast flowspec
+ neighbor 1234:1::2 distance 20
+ neighbor 1234:1::2 send-community standard extended
+ !
+ !
+ redistribute connected
+ redistribute uni2flow6 1
+ exit
+!
+console0
+ no exec authorization
+ no login authentication
+ exit
+!
+proxy-profile OOB
+ vrf CORE
+ exit
+!
+!
+ipv4 route CORE 10.0.3.1 255.255.255.0 14.0.0.1
+ipv4 route CORE 10.3.0.1 255.255.255.255 14.0.0.1
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+!
+server telnet netconf1
+ security protocol ssh
+ security authentication netconfusr
+ security rsakey rsa
+ security dsakey dsa
+ security ecdsakey ecdsa
+ port 830
+ second-port 829
+ exec autocommand netconf
+ no exec authorization
+ no login authentication
+ vrf inet
+ exit
+!
+server telnet tel1
+ security protocol telnet
+ exec height -1
+ exec monitor
+ no exec authorization
+ no login authentication
+ vrf inet
+ exit
+!
+server telnet teloob
+ security protocol telnet
+ exec height -1
+ exec monitor
+ no exec authorization
+ no login authentication
+ vrf OOB
+ exit
+!
+client capture-path /rtr/run/pcap/
+!
+end
diff --git a/docker-compose/freertr_disable_offload.sh b/docker-compose/freertr_disable_offload.sh
new file mode 100755
index 0000000000000000000000000000000000000000..23b0c3587b7f60a169f931b47509fde05747c6db
--- /dev/null
+++ b/docker-compose/freertr_disable_offload.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+IFINDEX=$(docker exec freertr cat /sys/class/net/eth0/iflink)
+IFNAME=$(ip a | grep ^${IFINDEX} | awk -F\: '{print $2}' | awk -F\@ '{print $1}')
+ethtool -k $IFNAME | awk '$2=="on" { sub(/:$/, "", $1); print $1; }' | while read key; do ethtool -K $IFNAME "$key" off; done
diff --git a/docker-compose/freertr_setup_environment.sh b/docker-compose/freertr_setup_environment.sh
new file mode 100755
index 0000000000000000000000000000000000000000..2acd1716e79d94f612126f88ba2f1ac78d8f752f
--- /dev/null
+++ b/docker-compose/freertr_setup_environment.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+ethtool -k eth0 | awk '$2=="on" { sub(/:$/, "", $1); print $1; }' | while read key; do ethtool -K eth0 "$key" off; done
+
+/rtr/hwdet-init.sh
+
+/rtr/hwdet-mgmt.sh
+
+exec java -Xmx1024m -jar /rtr/rtr.jar routerc /rtr/run/conf/rtr-