blob: 29660add1a8a923a3f9e1d72b5ab291b0dbc8998 (
plain)
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
80
|
#/*
# * Copyright 2021 Intel Corporation, Inc
# *
# * Licensed under the Apache License, Version 2.0 (the "License");
# * you may not use this file except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.apache.org/licenses/LICENSE-2.0
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# */
apiVersion: v1
data:
entrypoint.sh: |-
#!/bin/bash
# Always exit on errors.
set -ex
echo "" > /etc/config/network
cat > /etc/config/mwan3 <<EOF
config globals 'globals'
option mmx_mask '0x3F00'
option local_source 'lan'
EOF
eval "networks=$(grep nfn-network /tmp/podinfo/annotations | awk -F '=' '{print $2}')"
for net in $(echo -e $networks | jq -c ".interface[]")
do
interface=$(echo $net | jq -r .interface)
ipaddr=$(ifconfig $interface | awk '/inet/{print $2}' | cut -f2 -d ":" | awk 'NR==1 {print $1}')
vif="$interface"
netmask=$(ifconfig $interface | awk '/inet/{print $4}'| cut -f2 -d ":" | head -1)
cat >> /etc/config/network <<EOF
config interface '$vif'
option ifname '$interface'
option proto 'static'
option ipaddr '$ipaddr'
option netmask '$netmask'
EOF
cat >> /etc/config/mwan3 <<EOF
config interface '$vif'
option enabled '1'
option family 'ipv4'
option reliability '2'
option count '1'
option timeout '2'
option failure_latency '1000'
option recovery_latency '500'
option failure_loss '20'
option recovery_loss '5'
option interval '5'
option down '3'
option up '8'
EOF
done
/sbin/procd &
/sbin/ubusd &
iptables -S
sleep 1
/etc/init.d/rpcd start
/etc/init.d/dnsmasq start
/etc/init.d/network start
/etc/init.d/odhcpd start
/etc/init.d/uhttpd start
/etc/init.d/log start
/etc/init.d/dropbear start
/etc/init.d/mwan3 restart
/etc/init.d/firewall restart
sysctl -w net.ipv4.conf.all.rp_filter=1
sysctl -w net.ipv4.ip_forward=1
echo "Entering sleep... (success)"
# Sleep forever.
while true; do sleep 100; done
kind: ConfigMap
metadata:
name: sdewan-sh
namespace: default
|