Difference between revisions of "ONE/Simple test setup"
From fd.io
< ONE
Florin.coras (Talk | contribs) m |
Florin.coras (Talk | contribs) m (→Host) |
||
Line 12: | Line 12: | ||
<pre> | <pre> | ||
− | ip netns add vpp1 | + | if [ -e ~/.vpputilrc ] ; then |
+ | . ~/.vpputilrc | ||
+ | fi | ||
+ | |||
+ | pkill vpp | ||
+ | |||
+ | # delete previous incarnations if they exist | ||
+ | |||
+ | ip netns exec intervppns ifconfig vppbr down | ||
+ | ip netns exec intervppns brctl delbr vppbr | ||
+ | ip link del dev veth_vpp1 &> /dev/null | ||
+ | ip link del dev veth_vpp2 &> /dev/null | ||
+ | ip link del dev veth_intervpp1 &> /dev/null | ||
+ | ip link del dev veth_intervpp2 &> /dev/null | ||
+ | ip link del dev veth_odl &> /dev/null | ||
+ | ip netns del vppns1 &> /dev/null | ||
+ | ip netns del vppns2 &> /dev/null | ||
+ | ip netns del intervppns &> /dev/null | ||
+ | |||
+ | if [ "$1" == "clean" ] ; then | ||
+ | exit 0; | ||
+ | fi | ||
+ | |||
+ | ip netns add vppns1 | ||
+ | ip netns add vppns2 | ||
+ | ip netns add intervppns | ||
+ | |||
+ | ip link add veth_intervpp1 type veth peer name intervpp1 | ||
+ | ip link add veth_intervpp2 type veth peer name intervpp2 | ||
+ | ip link add veth_odl type veth peer name odl | ||
+ | ip link set dev intervpp1 up | ||
+ | ip link set dev intervpp2 up | ||
+ | ip link set dev odl up | ||
+ | ip link set dev veth_intervpp1 up netns intervppns | ||
+ | ip link set dev veth_intervpp2 up netns intervppns | ||
+ | ip link set dev veth_odl up netns intervppns | ||
+ | |||
+ | ip netns exec intervppns brctl addbr vppbr | ||
+ | ip netns exec intervppns brctl addif vppbr veth_intervpp1 | ||
+ | ip netns exec intervppns brctl addif vppbr veth_intervpp2 | ||
+ | ip netns exec intervppns brctl addif vppbr veth_odl | ||
+ | ip netns exec intervppns ifconfig vppbr up | ||
+ | |||
+ | # create and configure 1st veth pair | ||
+ | ip link add veth_vpp1 type veth peer name vpp1 | ||
ip link set dev vpp1 up | ip link set dev vpp1 up | ||
− | ip link set dev veth_vpp1 up netns | + | ip link set dev veth_vpp1 up netns vppns1 |
− | ip netns exec | + | |
+ | ip netns exec vppns1 \ | ||
bash -c " | bash -c " | ||
ip link set dev lo up | ip link set dev lo up | ||
Line 21: | Line 66: | ||
ip route add 6.0.4.0/24 via 6.0.2.1 | ip route add 6.0.4.0/24 via 6.0.2.1 | ||
" | " | ||
− | + | ||
− | + | # create and configure 2nd veth pair | |
− | + | ip link add veth_vpp2 type veth peer name vpp2 | |
− | ip | + | |
ip link set dev vpp2 up | ip link set dev vpp2 up | ||
− | ip link set dev veth_vpp2 up netns | + | ip link set dev veth_vpp2 up netns vppns2 |
− | ip netns exec | + | |
+ | ip netns exec vppns2 \ | ||
bash -c " | bash -c " | ||
ip link set dev lo up | ip link set dev lo up | ||
− | ip addr add 6.0.4. | + | ip addr add 6.0.4.4/24 dev veth_vpp2 |
ip route add 6.0.2.0/24 via 6.0.4.1 | ip route add 6.0.2.0/24 via 6.0.4.1 | ||
" | " | ||
+ | |||
+ | ifconfig odl 6.0.3.100/24 | ||
+ | ethtool --offload odl rx off tx off | ||
+ | |||
+ | sudo $VPP_LITE_BIN \ | ||
+ | unix { log /tmp/vpp1.log cli-listen \ | ||
+ | localhost:5002 full-coredump \ | ||
+ | exec /etc/vpp/lite/vpp1.config } \ | ||
+ | api-trace { on } chroot {prefix xtr1} | ||
+ | |||
+ | sudo $VPP_LITE_BIN \ | ||
+ | unix { log /tmp/vpp2.log cli-listen \ | ||
+ | localhost:5003 full-coredump exec /etc/vpp/lite/vpp2.config } \ | ||
+ | api-trace { on } chroot {prefix xtr2} | ||
</pre> | </pre> | ||
Revision as of 09:21, 6 May 2016
Intro
TBD description
requirements
topology
Setup
Host and vpp configs
Host
Create namespace and set up interface in linux
if [ -e ~/.vpputilrc ] ; then . ~/.vpputilrc fi pkill vpp # delete previous incarnations if they exist ip netns exec intervppns ifconfig vppbr down ip netns exec intervppns brctl delbr vppbr ip link del dev veth_vpp1 &> /dev/null ip link del dev veth_vpp2 &> /dev/null ip link del dev veth_intervpp1 &> /dev/null ip link del dev veth_intervpp2 &> /dev/null ip link del dev veth_odl &> /dev/null ip netns del vppns1 &> /dev/null ip netns del vppns2 &> /dev/null ip netns del intervppns &> /dev/null if [ "$1" == "clean" ] ; then exit 0; fi ip netns add vppns1 ip netns add vppns2 ip netns add intervppns ip link add veth_intervpp1 type veth peer name intervpp1 ip link add veth_intervpp2 type veth peer name intervpp2 ip link add veth_odl type veth peer name odl ip link set dev intervpp1 up ip link set dev intervpp2 up ip link set dev odl up ip link set dev veth_intervpp1 up netns intervppns ip link set dev veth_intervpp2 up netns intervppns ip link set dev veth_odl up netns intervppns ip netns exec intervppns brctl addbr vppbr ip netns exec intervppns brctl addif vppbr veth_intervpp1 ip netns exec intervppns brctl addif vppbr veth_intervpp2 ip netns exec intervppns brctl addif vppbr veth_odl ip netns exec intervppns ifconfig vppbr up # create and configure 1st veth pair ip link add veth_vpp1 type veth peer name vpp1 ip link set dev vpp1 up ip link set dev veth_vpp1 up netns vppns1 ip netns exec vppns1 \ bash -c " ip link set dev lo up ip addr add 6.0.2.2/24 dev veth_vpp1 ip route add 6.0.4.0/24 via 6.0.2.1 " # create and configure 2nd veth pair ip link add veth_vpp2 type veth peer name vpp2 ip link set dev vpp2 up ip link set dev veth_vpp2 up netns vppns2 ip netns exec vppns2 \ bash -c " ip link set dev lo up ip addr add 6.0.4.4/24 dev veth_vpp2 ip route add 6.0.2.0/24 via 6.0.4.1 " ifconfig odl 6.0.3.100/24 ethtool --offload odl rx off tx off sudo $VPP_LITE_BIN \ unix { log /tmp/vpp1.log cli-listen \ localhost:5002 full-coredump \ exec /etc/vpp/lite/vpp1.config } \ api-trace { on } chroot {prefix xtr1} sudo $VPP_LITE_BIN \ unix { log /tmp/vpp2.log cli-listen \ localhost:5003 full-coredump exec /etc/vpp/lite/vpp2.config } \ api-trace { on } chroot {prefix xtr2}
vpp 1
interface
create host-interface name vpp1 set int state host-vpp1 up set int ip address host-vpp1 6.0.2.1/24
lisp config
set int ip address GigabitEthernet2/4/0 6.0.2.1/24 set int state GigabitEthernet2/4/0 up set int ip address GigabitEthernet2/5/0 6.0.3.1/24 set int state GigabitEthernet2/5/0 up lisp gpe enable lisp locator-set add ls1 iface GigabitEthernet2/5/0 p 1 w 1 lisp eid-table add eid 6.0.2.0/24 locator-set ls1 lisp map-resolver add 6.0.3.100
vpp 2
interface
create host-interface name vpp2 set int state host-vpp2 up set int ip address host-vpp2 6.0.4.1/24
lisp config
set int ip address GigabitEthernet2/4/0 6.0.4.1/24 set int state GigabitEthernet2/4/0 up set int ip address GigabitEthernet2/5/0 6.0.3.1/24 set int state GigabitEthernet2/5/0 up lisp gpe enable lisp locator-set add ls1 iface GigabitEthernet2/5/0 p 1 w 1 lisp eid-table add eid 6.0.4.0/24 locator-set ls1 lisp map-resolver add 6.0.3.100
Test
ip netns exec vpp1 ping 172.16.2.2