]>
Commit | Line | Data |
---|---|---|
e3639cbd BP |
1 | Native Tunneling in Open vSwitch userspace |
2 | ------------------------------------------ | |
a36de779 PS |
3 | |
4 | Open vSwitch supports tunneling in userspace. Tunneling is implemented in | |
5 | platform independent way. | |
6 | ||
7 | Setup: | |
8 | ====== | |
9 | Setup physical bridges for all physical interfaces. Create integration bridge. | |
10 | Add VXLAN port to int-bridge. Assign IP address to physical bridge where | |
11 | VXLAN traffic is expected. | |
12 | ||
13 | Example: | |
14 | ======== | |
15 | Connect to VXLAN tunnel endpoint logical ip: 192.168.1.2 and 192.168.1.1. | |
16 | ||
17 | Configure OVS bridges as follows. | |
18 | ||
19 | 1. Lets assume 172.168.1.2/24 network is reachable via eth1 create physical bridge br-eth1 | |
20 | assign ip address (172.168.1.1/24) to br-eth1, Add eth1 to br-eth1 | |
21 | 2. Check ovs cached routes using appctl command | |
22 | ovs-appctl ovs/route/show | |
23 | Add tunnel route if not present in OVS route table. | |
24 | ovs-appctl ovs/route/add 172.168.1.1/24 br-eth1 | |
4b257504 | 25 | 3. Add integration bridge int-br and add tunnel port using standard syntax. |
a36de779 PS |
26 | ovs-vsctl add-port int-br vxlan0 -- set interface vxlan0 type=vxlan options:remote_ip=172.168.1.2 |
27 | 4. Assign IP address to int-br, So final topology looks like: | |
28 | ||
84072381 MG |
29 | 192.168.1.1/24 |
30 | +--------------+ | |
31 | | int-br | 192.168.1.2/24 | |
32 | +--------------+ +--------------+ | |
33 | | vxlan0 | | vxlan0 | | |
34 | +--------------+ +--------------+ | |
35 | | | | |
36 | | | | |
37 | | | | |
38 | 172.168.1.1/24 | | |
39 | +--------------+ | | |
40 | | br-eth1 | 172.168.1.2/24 | |
41 | +--------------+ +---------------+ | |
42 | | eth1 |----------------------------------| eth1 | | |
43 | +--------------+ +---------------+ | |
44 | ||
45 | Host A with OVS. Remote host. | |
a36de779 PS |
46 | |
47 | With this setup, ping to VXLAN target device (192.168.1.2) should work | |
48 | There are following commands that shows internal tables: | |
49 | ||
50 | Tunneling related commands: | |
51 | =========================== | |
52 | Tunnel routing table: | |
53 | To Add route: | |
54 | ovs-appctl ovs/route/add <IP address>/<prefix length> <output-bridge-name> <gw> | |
55 | To see all routes configured: | |
56 | ovs-appctl ovs/route/show | |
57 | To del route: | |
58 | ovs-appctl ovs/route/del <IP address>/<prefix length> | |
bc786797 YT |
59 | To look up and display the route for a destination: |
60 | ovs-appctl ovs/route/lookup <IP address> | |
a36de779 PS |
61 | |
62 | ARP: | |
63 | To see arp cache content: | |
64 | ovs-appctl tnl/arp/show | |
65 | To flush arp cache: | |
66 | ovs-appctl tnl/arp/flush | |
67 | ||
68 | To check tunnel ports listening in vswitchd: | |
69 | ovs-appctl tnl/ports/show | |
70 | ||
71 | To set range for VxLan udp source port: | |
72 | To set: | |
73 | ovs-appctl tnl/egress_port_range <num1> <num2> | |
74 | Shows Current range: | |
75 | ovs-appctl tnl/egress_port_range | |
76 | ||
77 | To check datapath ports: | |
78 | ovs-appctl dpif/show | |
79 | ||
80 | To check datapath flows: | |
81 | ovs-appctl dpif/dump-flows | |
82 | ||
83 | Contact | |
84 | ======= | |
85 | bugs@openvswitch.org |