blob: 45de8240086dcb75247fea41131636e1b320fb29 (
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
version: "3"
services:
vpp_client_memif:
build:
context: ..
dockerfile: ${DOCKERFILE}
args:
BASE_IMAGE: ${BASE_IMAGE}
stdin_open: true
tty: true
working_dir: /workspace
container_name: ${TEST_VPP_MEMIF_REPLICATION}-client
hostname: client
volumes:
- /tmp/memif:/memif
- ..:/workspace
entrypoint: [/bin/bash, -c]
command:
- |
if [ -d /workspace/build-dev ]; then
ninja -C /workspace/build-dev install
fi
sudo mkdir -p /var/log/vpp
sudo tee /etc/vpp/startup.conf <<EOF
cpu { main-core 1 }
buffers { buffers-per-numa 600000 }
plugins {
path /hicn-root/lib/vpp_plugins:/usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins
plugin default { disable }
plugin acl_plugin.so { enable }
plugin nat_plugin.so { enable }
plugin dhcp_plugin.so { enable }
plugin dpdk_plugin.so { enable }
plugin dns_plugin.so { enable }
plugin ping_plugin.so { enable }
plugin memif_plugin.so { enable }
plugin nsim_plugin.so { enable }
plugin hicn_plugin.so { enable }
}
unix {
startup-config /etc/vpp/client-up.txt
cli-listen /run/vpp/cli.sock
log /var/log/vpp/vpp.log
}
EOF
sudo tee /etc/vpp/client-up.txt <<EOF
create memif socket id 1 filename /memif/memif1.sock
create interface memif id 0 socket-id 1 hw-addr aa:bb:cc:dd:ee:01 master
set int state memif1/0 up
set int ip addr memif1/0 192.168.1.1/24
set int ip addr memif1/0 2001::1/64
set ip neighbor memif1/0 2001::2 aa:bb:cc:dd:ee:02 static
ip route add b002::1/64 via 2001::2 memif1/0
create interface memif id 1 socket-id 1 hw-addr aa:bb:bb:bb:ee:01 master
set int state memif1/1 up
set int ip addr memif1/1 192.168.2.1/24
set int ip addr memif1/1 2002::1/64
set ip neighbor memif1/1 2002::2 aa:bb:bb:bb:ee:02 static
ip route add b002::1/64 via 2002::2 memif1/1
EOF
sudo rm /memif/memif1.sock
sudo vpp -c /etc/vpp/startup.conf
sleep 5
sudo vppctl hicn enable b002::1/64
sudo vppctl hicn strategy set 2 prefix b002::/64
tail -f /dev/null
vpp_server_memif:
build:
context: ..
dockerfile: ${DOCKERFILE}
args:
BASE_IMAGE: ${BASE_IMAGE}
stdin_open: true
tty: true
working_dir: /workspace
container_name: ${TEST_VPP_MEMIF_REPLICATION}-server
hostname: server
volumes:
- /tmp/memif:/memif
- ..:/workspace
entrypoint: [/bin/bash, -c]
command:
- |
if [ -d /workspace/build-dev ]; then
ninja -C /workspace/build-dev install
fi
sudo mkdir -p /var/log/vpp
sudo tee /etc/vpp/startup.conf <<EOF
cpu { main-core 2 }
buffers { buffers-per-numa 600000 }
plugins {
path /hicn-root/lib/vpp_plugins:/usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins
plugin default { disable }
plugin acl_plugin.so { enable }
plugin nat_plugin.so { enable }
plugin dhcp_plugin.so { enable }
plugin dpdk_plugin.so { enable }
plugin dns_plugin.so { enable }
plugin ping_plugin.so { enable }
plugin memif_plugin.so { enable }
plugin nsim_plugin.so { enable }
plugin hicn_plugin.so { enable }
}
unix {
startup-config /etc/vpp/server-up.txt
cli-listen /run/vpp/cli.sock
log /var/log/vpp/vpp.log
}
EOF
sudo tee /etc/vpp/server-up.txt <<EOF
create memif socket id 1 filename /memif/memif1.sock
create interface memif id 0 socket-id 1 hw-addr aa:bb:cc:dd:ee:02 slave
set int state memif1/0 up
set int ip addr memif1/0 192.168.1.2/24
set int ip addr memif1/0 2001::2/64
set ip neighbor memif1/0 2001::1 aa:bb:cc:dd:ee:01 static
create interface memif id 1 socket-id 1 hw-addr aa:bb:bb:bb:ee:02 slave
set int state memif1/1 up
set int ip addr memif1/1 192.168.2.2/24
set int ip addr memif1/1 2002::2/64
set ip neighbor memif1/1 2002::1 aa:bb:bb:bb:ee:01 static
EOF
sudo vpp -c /etc/vpp/startup.conf
sleep 10
sudo hiperf -q -S -R -B 4000kbps -z memif_module ${RTC_PRODUCER} -P 2 &
sleep 5
sudo hiperf -q -S -z memif_module ${RAAQM_PRODUCER}/128 &
sleep 5
sudo hicn-ping-server -q -s 0 -n ${PING_PRODUCER}/128 -z memif_module &
tail -f /dev/null
|