-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup2.sh
executable file
·80 lines (69 loc) · 2.37 KB
/
setup2.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash
set -e
set -x
IFACE=irf0
SUBNET=10.9.1.0/24
PIMD=10.9.1.2
BW_MAX_MIBPS=50
JOINFILE=${HOME}/pimwatch/pimwatch.sgs
CBJOINFILE=${HOME}/cbacc/cbacc.sgs
INGEST_VERSION=0.0.5
sudo bash -x -e <<EOF
docker network create --driver bridge amt-bridge
docker network create --driver bridge mcast-native-ingest
docker network create --driver macvlan \
--subnet=${SUBNET} \
--opt parent=${IFACE} downstream-mcast
# to improve performance of the first join, pull the amtgw image:
docker pull grumpyoldtroll/amtgw:0.0.4
# run the upstream dummy neighbor
docker run \
--name upstream-dummy-nbr \
--privileged \
--network mcast-native-ingest \
--log-opt max-size=2m --log-opt max-file=5 \
-d --restart=unless-stopped \
grumpyoldtroll/pim-dummy-upstream:0.0.4
# ensure the joinfile is present
mkdir -p $(dirname ${JOINFILE}) && touch ${JOINFILE}
# create pimwatch, attach extra network, and start it
docker create \
--name pimwatch \
--privileged \
--network downstream-mcast --ip ${PIMD} \
--log-opt max-size=2m --log-opt max-file=5 \
--restart=unless-stopped \
-v $(dirname ${JOINFILE}):/etc/pimwatch/ \
grumpyoldtroll/pimwatch:${INGEST_VERSION} \
-v \
--joinfile /etc/pimwatch/$(basename ${JOINFILE}) && \
docker network connect mcast-native-ingest pimwatch && \
docker start pimwatch
mkdir -p $(dirname ${JOINFILE}) && touch ${JOINFILE}
mkdir -p $(dirname ${CBJOINFILE}) && touch ${CBJOINFILE}
# run cbacc
docker run \
--name cbacc \
--log-opt max-size=2m --log-opt max-file=5 \
--network amt-bridge \
-v $(dirname ${JOINFILE}):/var/run/cbacc-in/ \
-v $(dirname ${CBJOINFILE}):/var/run/cbacc-out/ \
--restart=unless-stopped -d \
grumpyoldtroll/cbacc:${INGEST_VERSION} \
-v \
--input-file /var/run/cbacc-in/$(basename ${JOINFILE}) \
--output-file /var/run/cbacc-out/$(basename ${CBJOINFILE}) \
--bandwidth ${BW_MAX_MIBPS} \
--default 12
docker run \
--name driad-ingest \
--privileged --network mcast-native-ingest \
--log-opt max-size=2m --log-opt max-file=5 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(dirname $CBJOINFILE):/var/run/ingest/ \
-d --restart=unless-stopped \
grumpyoldtroll/driad-ingest:${INGEST_VERSION} \
--amt amt-bridge \
--native mcast-native-ingest \
--joinfile /var/run/ingest/$(basename $CBJOINFILE) -v
EOF