aboutsummaryrefslogtreecommitdiffstats
path: root/starlingx/demo/firewall-host-netdevice/charts/pktgen-host-netdevice/resources/scripts/init/vpg_start.sh
blob: 936e9d532839b05f3eb3454f1880fdc3b91fc493 (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
#!/bin/bash

apt-get update
apt-get install -y sudo curl net-tools iproute2 wget

curl -s https://packagecloud.io/install/repositories/fdio/release/script.deb.sh | sudo bash

export VPP_VER=19.01.2-release
apt-get install -y vpp=$VPP_VER vpp-lib=$VPP_VER

apt-get install -y vpp-plugins=$VPP_VER

if [ -e /run/vpp/cli-vpp1.sock ]; then
    rm /run/vpp/cli-vpp1.sock
fi

#	root@vpktgen:/# taskset -p --cpu-list 1
#	pid 1's current affinity list: 1,2,29

corelist=`taskset -p -c 1 |cut -d : -f 2 | sed 's/^ *//' | sed 's/ *$//'`
#extract master core
mastercoreidx=`echo $corelist | cut -d , -f 1`
#extract worker cores
workercorelist=`echo $corelist | sed -E 's/^[0-9]*,//'`

echo 'start... vpp'
vpp unix {cli-listen /run/vpp/cli-vpp1.sock} api-segment { prefix vpp1 } \
    cpu { main-core $mastercoreidx  corelist-workers $workercorelist }

echo 'wait vpp be up ...'
while [ ! -e /run/vpp/cli-vpp1.sock ]; do
    sleep 1;
done

echo 'configure vpp ...'


vppctl -s /run/vpp/cli-vpp1.sock show ver
vppctl -s /run/vpp/cli-vpp1.sock show threads

vppctl -s /run/vpp/cli-vpp1.sock create host-interface name veth11

vppctl -s /run/vpp/cli-vpp1.sock set int state host-veth11 up

vppctl -s /run/vpp/cli-vpp1.sock show int
vppctl -s /run/vpp/cli-vpp1.sock show hardware

vppctl -s /run/vpp/cli-vpp1.sock set int ip address host-veth11 10.10.1.2/24

vppctl -s /run/vpp/cli-vpp1.sock show int addr

vppctl -s /run/vpp/cli-vpp1.sock ip route add 10.10.2.0/24  via 10.10.1.1

vppctl -s /run/vpp/cli-vpp1.sock show ip fib

#vppctl -s /run/vpp/cli-vpp1.sock trace add af-packet-input 10

echo "provision streams"
### pktgen config
vppctl -s /run/vpp/cli-vpp1.sock loop create
vppctl -s /run/vpp/cli-vpp1.sock set int ip address loop0 11.22.33.1/24
vppctl -s /run/vpp/cli-vpp1.sock set int state loop0 up

cd /opt

mkdir /home/root
cat <<EOF> /home/root/stream_fw_udp1_loop0
packet-generator new {
	  name fw_udp1
	  rate 10
	  node ip4-input
	  size 64-64
	  no-recycle
      interface loop0
	  data {
		UDP: 10.10.1.2 -> 10.10.2.2
		UDP: 15320 -> 8080
		length 128 checksum 0 incrementing 1
	  }
	}
EOF

vppctl -s /run/vpp/cli-vpp1.sock  exec /home/root/stream_fw_udp1_loop0

#vppctl -s /run/vpp/cli-vpp1.sock show packet-generator

#vppctl -s /run/vpp/cli-vpp1.sock trace add pg-input 10

vppctl -s /run/vpp/cli-vpp1.sock packet-generator enable

vppctl -s /run/vpp/cli-vpp1.sock show packet-generator

vppctl -s /run/vpp/cli-vpp1.sock show int

#vppctl -s /run/vpp/cli-vpp1.sock packet-generator disable

#vppctl -s /run/vpp/cli-vpp1.sock packet-generator delete fw_udp1

echo "done"
sleep infinity