Difference between revisions of "ONE/Simple test setup"
From fd.io
< ONE
Florin.coras (Talk | contribs) (→vpp1 config) |
Florin.coras (Talk | contribs) |
||
Line 105: | Line 105: | ||
=== vpp1 config === | === vpp1 config === | ||
− | + | Create and configure the LAN and WAN facing <code>af_packet</code> interfaces | |
* Create LAN facing <code>host-vpp1</code> and WAN facing <code>host-intervpp1</code> interfaces | * Create LAN facing <code>host-vpp1</code> and WAN facing <code>host-intervpp1</code> interfaces | ||
* Set <code>6.0.2.1/24</code> and <code>6.0.3.1</code> as their respective IP4 addresses | * Set <code>6.0.2.1/24</code> and <code>6.0.3.1</code> as their respective IP4 addresses | ||
Enable and configure LISP-GPE: | Enable and configure LISP-GPE: | ||
− | * | + | * Set WAN facing interface <code>host-vpp1</code> as locator (underlay attachment point) |
− | * | + | * Set LAN facing prefix <code>6.0.2.0/24</code> as a local EID (End-host ID - overlay address) |
* Configure map-server address <code>6.0.3.100</code> | * Configure map-server address <code>6.0.3.100</code> | ||
Line 130: | Line 130: | ||
</pre> | </pre> | ||
− | === | + | === vpp2 config === |
− | interface | + | Create and configure the LAN and WAN facing <code>af_packet</code> interfaces |
+ | * Create LAN facing <code>host-vpp2</code> and WAN facing <code>host-intervpp2</code> interfaces | ||
+ | * Set <code>6.0.4.1/24</code> and <code>6.0.3.2</code> as their respective IP4 addresses | ||
+ | |||
+ | Enable and configure LISP-GPE: | ||
+ | * Set WAN facing interface <code>host-vpp2</code> as locator (underlay attachment point) | ||
+ | * Set LAN facing prefix <code>6.0.4.0/24</code> as a local EID (End-host ID - overlay address) | ||
+ | * Configure map-server address <code>6.0.3.100</code> | ||
<pre> | <pre> | ||
Line 137: | Line 144: | ||
set int state host-vpp2 up | set int state host-vpp2 up | ||
set int ip address host-vpp2 6.0.4.1/24 | set int ip address host-vpp2 6.0.4.1/24 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | set int ip address | + | create host-interface name intervpp2 |
− | + | set int state host-intervpp2 up | |
+ | set int ip address host-intervpp1 6.0.3.2/24 | ||
lisp gpe enable | lisp gpe enable | ||
− | lisp locator-set add ls1 iface | + | lisp locator-set add ls1 iface host-intervpp2 p 1 w 1 |
lisp eid-table add eid 6.0.4.0/24 locator-set ls1 | lisp eid-table add eid 6.0.4.0/24 locator-set ls1 | ||
lisp map-resolver add 6.0.3.100 | lisp map-resolver add 6.0.3.100 |
Revision as of 11:51, 6 May 2016
Contents
Overview
This tutorial shows how to use VPP lite to build a simple/toy LISP overlay on an Ubuntu host using namespaces and af_packet.
Requirements
- Ubuntu host
- ODL Beryllium
Topology
add pretty pic
Setup
Host and vpp configs
Host
Create namespace and set up interface in linux
# path to vpp executable and configurations folder VPP_LITE_BIN=/home/vagrant/vpp/build-root/install-vpp_lite_debug-native/vpp/bin/vpp VPP_LITE_CONF=/etc/vpp/lite/ # make sure there are no vpp instances running 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 # create vpp to clients and inter-vpp namespaces ip netns add vppns1 ip netns add vppns2 ip netns add intervppns # create vpp and odl interfaces and set them in 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 # create bridge in intervppns and add vpp and odl interfaces 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 client to vpp 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 client to vpp 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 " # set odl iface ip and disable checksum offloading ifconfig odl 6.0.3.100/24 ethtool --offload odl rx off tx off # start vpp1 and vpp2 in separate chroot sudo $VPP_LITE_BIN \ unix { log /tmp/vpp1.log cli-listen \ localhost:5002 full-coredump \ exec $VPP_LITE_CONF/vpp1.config } \ api-trace { on } chroot {prefix xtr1} sudo $VPP_LITE_BIN \ unix { log /tmp/vpp2.log cli-listen \ localhost:5003 full-coredump exec $VPP_LITE_CONF/vpp2.config } \ api-trace { on } chroot {prefix xtr2}
vpp1 config
Create and configure the LAN and WAN facing af_packet
interfaces
- Create LAN facing
host-vpp1
and WAN facinghost-intervpp1
interfaces - Set
6.0.2.1/24
and6.0.3.1
as their respective IP4 addresses
Enable and configure LISP-GPE:
- Set WAN facing interface
host-vpp1
as locator (underlay attachment point) - Set LAN facing prefix
6.0.2.0/24
as a local EID (End-host ID - overlay address) - Configure map-server address
6.0.3.100
create host-interface name vpp1 set int state host-vpp1 up set int ip address host-vpp1 6.0.2.1/24 create host-interface name intervpp1 set int state host-intervpp1 up set int ip address host-intervpp1 6.0.3.1/24 lisp gpe enable lisp locator-set add ls1 iface host-intervpp1 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
vpp2 config
Create and configure the LAN and WAN facing af_packet
interfaces
- Create LAN facing
host-vpp2
and WAN facinghost-intervpp2
interfaces - Set
6.0.4.1/24
and6.0.3.2
as their respective IP4 addresses
Enable and configure LISP-GPE:
- Set WAN facing interface
host-vpp2
as locator (underlay attachment point) - Set LAN facing prefix
6.0.4.0/24
as a local EID (End-host ID - overlay address) - Configure map-server address
6.0.3.100
create host-interface name vpp2 set int state host-vpp2 up set int ip address host-vpp2 6.0.4.1/24 create host-interface name intervpp2 set int state host-intervpp2 up set int ip address host-intervpp1 6.0.3.2/24 lisp gpe enable lisp locator-set add ls1 iface host-intervpp2 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 vppns1 ping 6.0.4.4