-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
36 changed files
with
601 additions
and
178 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule QUIC-Ivy-Attacker
updated
from 0198ef to 66ca46
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
ARG image | ||
|
||
FROM $image:latest | ||
|
||
# add GPG key | ||
RUN curl -s https://deb.frrouting.org/frr/keys.gpg | tee /usr/share/keyrings/frrouting.gpg > /dev/null | ||
# libjson-c3 libreadline7 | ||
RUN apt-get update && \ | ||
apt-get install -y libpcre3-dev apt-transport-https ca-certificates curl wget logrotate \ | ||
libc-ares2 vim procps gnupg2 lsb-release apt-utils \ | ||
libprotobuf-c-dev protobuf-c-compiler tini && rm -rf /var/lib/apt/lists/* | ||
|
||
# possible values for FRRVER: frr-6 frr-7 frr-8 frr-9 frr-stable | ||
# frr-stable will be the latest official stable release | ||
RUN FRRVER="frr-stable"; echo deb '[signed-by=/usr/share/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr \ | ||
$(lsb_release -s -c) $FRRVER | tee -a /etc/apt/sources.list.d/frr.list | ||
|
||
# update and install FRR | ||
RUN apt -y update && apt install -y frr frr-pythontools | ||
|
||
|
||
|
||
# Own the config / PID files | ||
RUN mkdir -p /var/run/frr | ||
RUN chown -R frr:frr /etc/frr /var/run/frr | ||
|
||
# Simple init manager for reaping processes and forwarding signals | ||
# ADD src/containers/res/frr/start_tini.sh . | ||
ADD src/containers/res/frr/update_conf.sh . | ||
ADD src/containers/res/frr/start_daemon.sh . | ||
ADD src/containers/res/frr/stop_daemon.sh . | ||
# RUN bash start_tini.sh | ||
RUN bash update_conf.sh | ||
# RUN ["(", "/usr/bin/tini", "--", "bash", "start_daemon.sh", ")", "&"] | ||
# RUN (/usr/bin/tini -- bash start_daemon.sh) & | ||
# CMD ["bash update_conf.sh"] | ||
|
||
# RUN "/bin/bash -c 'source /usr/lib/frr/frrcommon.sh && /usr/lib/frr/watchfrr $(daemon_list)'" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#!/bin/bash | ||
|
||
source /usr/lib/frr/frrcommon.sh | ||
/usr/lib/frr/watchfrr $(daemon_list) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/bash | ||
/usr/bin/tini -- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#!/bin/bash | ||
|
||
|
||
# # Error messages with PIDs | ||
# error_messages=$(/etc/init.d/frr stop 2>&1) | ||
|
||
# # Extract PIDs | ||
# zebra_pid=$(echo "$error_messages" | grep -oP 'zebra, pid \K\d+') | ||
# staticd_pid=$(echo "$error_messages" | grep -oP 'staticd, pid \K\d+') | ||
# bgpd_pid=$(echo "$error_messages" | grep -oP 'bgpd, pid \K\d+') | ||
# mgmtd_pid=$(echo "$error_messages" | grep -oP 'mgmtd, pid \K\d+') | ||
|
||
# # Function to stop FRR daemon by PID | ||
# stop_frr_daemon() { | ||
# pid=$1 | ||
# if [ -n "$pid" ]; then | ||
# echo "Stopping FRR daemon with PID $pid" | ||
# kill -TERM $pid | ||
# sleep 2 | ||
# if kill -0 $pid 2>/dev/null; then | ||
# echo "Forcibly stopping FRR daemon with PID $pid" | ||
# kill -9 $pid | ||
# else | ||
# echo "FRR daemon with PID $pid stopped gracefully" | ||
# fi | ||
# fi | ||
# } | ||
|
||
# # Stop FRR daemons | ||
# stop_frr_daemon $zebra_pid | ||
# stop_frr_daemon $staticd_pid | ||
# stop_frr_daemon $bgpd_pid | ||
# stop_frr_daemon $mgmtd_pid | ||
|
||
# /etc/init.d/frr start | ||
|
||
ip netns exec implem /usr/lib/frr/watchfrr.sh restart all |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
#!/bin/bash | ||
|
||
|
||
cat <<EOF > /etc/frr/daemons | ||
# This file tells the frr package which daemons to start. | ||
# | ||
# Sample configurations for these daemons can be found in | ||
# /usr/share/doc/frr/examples/. | ||
# | ||
# ATTENTION: | ||
# | ||
# When activating a daemon for the first time, a config file, even if it is | ||
# empty, has to be present *and* be owned by the user and group "frr", else | ||
# the daemon will not be started by /etc/init.d/frr. The permissions should | ||
# be u=rw,g=r,o=. | ||
# When using "vtysh" such a config file is also needed. It should be owned by | ||
# group "frrvty" and set to ug=rw,o= though. Check /etc/pam.d/frr, too. | ||
# | ||
# The watchfrr, zebra and staticd daemons are always started. | ||
# | ||
bgpd=yes | ||
ospfd=no | ||
ospf6d=no | ||
ripd=no | ||
ripngd=no | ||
isisd=no | ||
pimd=no | ||
pim6d=no | ||
ldpd=no | ||
nhrpd=no | ||
eigrpd=no | ||
babeld=no | ||
sharpd=no | ||
pbrd=no | ||
bfdd=no | ||
fabricd=no | ||
vrrpd=no | ||
pathd=no | ||
# | ||
# If this option is set the /etc/init.d/frr script automatically loads | ||
# the config via "vtysh -b" when the servers are started. | ||
# Check /etc/pam.d/frr if you intend to use "vtysh"! | ||
# | ||
vtysh_enable=yes | ||
zebra_options=" -A 127.0.0.1 -s 90000000" | ||
mgmtd_options=" -A 127.0.0.1" | ||
bgpd_options=" -A 127.0.0.1 -p 179" | ||
ospfd_options=" -A 127.0.0.1" | ||
ospf6d_options=" -A ::1" | ||
ripd_options=" -A 127.0.0.1" | ||
ripngd_options=" -A ::1" | ||
isisd_options=" -A 127.0.0.1" | ||
pimd_options=" -A 127.0.0.1" | ||
pim6d_options=" -A ::1" | ||
ldpd_options=" -A 127.0.0.1" | ||
nhrpd_options=" -A 127.0.0.1" | ||
eigrpd_options=" -A 127.0.0.1" | ||
babeld_options=" -A 127.0.0.1" | ||
sharpd_options=" -A 127.0.0.1" | ||
pbrd_options=" -A 127.0.0.1" | ||
staticd_options="-A 127.0.0.1" | ||
bfdd_options=" -A 127.0.0.1" | ||
fabricd_options="-A 127.0.0.1" | ||
vrrpd_options=" -A 127.0.0.1" | ||
pathd_options=" -A 127.0.0.1" | ||
# If you want to pass a common option to all daemons, you can use the | ||
# "frr_global_options" variable. | ||
# | ||
#frr_global_options="" | ||
# The list of daemons to watch is automatically generated by the init script. | ||
# This variable can be used to pass options to watchfrr that will be passed | ||
# prior to the daemon list. | ||
# | ||
# To make watchfrr create/join the specified netns, add the the "--netns" | ||
# option here. It will only have an effect in /etc/frr/<somename>/daemons, and | ||
# you need to start FRR with "/usr/lib/frr/frrinit.sh start <somename>". | ||
# | ||
#watchfrr_options="" | ||
# configuration profile | ||
# | ||
#frr_profile="traditional" | ||
#frr_profile="datacenter" | ||
# This is the maximum number of FD's that will be available. Upon startup this | ||
# is read by the control files and ulimit is called. Uncomment and use a | ||
# reasonable value for your setup if you are expecting a large number of peers | ||
# in say BGP. | ||
# | ||
#MAX_FDS=1024 | ||
# Uncomment this option if you want to run FRR as a non-root user. Note that | ||
# you should know what you are doing since most of the daemons need root | ||
# to work. This could be useful if you want to run FRR in a container | ||
# for instance. | ||
# FRR_NO_ROOT="yes" | ||
# For any daemon, you can specify a "wrap" command to start instead of starting | ||
# the daemon directly. This will simply be prepended to the daemon invocation. | ||
# These variables have the form daemon_wrap, where 'daemon' is the name of the | ||
# daemon (the same pattern as the daemon_options variables). | ||
# | ||
# Note that when daemons are started, they are told to daemonize with the `-d` | ||
# option. This has several implications. For one, the init script expects that | ||
# when it invokes a daemon, the invocation returns immediately. If you add a | ||
# wrap command here, it must comply with this expectation and daemonize as | ||
# well, or the init script will never return. Furthermore, because daemons are | ||
# themselves daemonized with -d, you must ensure that your wrapper command is | ||
# capable of following child processes after a fork() if you need it to do so. | ||
# | ||
# If your desired wrapper does not support daemonization, you can wrap it with | ||
# a utility program that daemonizes programs, such as 'daemonize'. An example | ||
# of this might look like: | ||
# | ||
# bgpd_wrap="/usr/bin/daemonize /usr/bin/mywrapper" | ||
# | ||
# This is particularly useful for programs which record processes but lack | ||
# daemonization options, such as perf and rr. | ||
# | ||
# If you wish to wrap all daemons in the same way, you may set the "all_wrap" | ||
# variable. | ||
# | ||
#all_wrap="" | ||
EOF | ||
|
||
cat /etc/frr/daemons | ||
|
Oops, something went wrong.