[ovs-discuss] Help with OpenFlow + OVS Tunnels

Koaps Freeman koapsfreeman at gmail.com
Wed Apr 6 20:20:30 UTC 2016


So I think I'm getting a better grasp on it but still a lot of questions.

I saw this in a commit:

$ ovs-vsctl add-port br0 gre -- set Interface gre ofport_request=1
type=gre options:remote_ip=flow options:key=flow
$ ovs-ofctl add-flow br0 "in_port=LOCAL
actions=set_tunnel:1,set_field:192.168.0.1->tun_dst,output:1"
$ ovs-ofctl add-flow br0 "in_port=1 tun_src=192.168.0.1 tun_id=1 actions=LOCAL"


What I'm trying to understand is, if I have two servers:

Host 1
eth0 192.168.1.1/24
lxcbr0 10.0.1.1/24

Host 2
eth0 192.168.2.1/24
lxcbr0 10.0.1.2/24

with br0 being a OVS bridge and an interface port for lxcbr0

Would I make rules like this?

Host 1
$ ovs-vsctl add-port br0 vxlan0 -- set Interface vxlan0 type=vxlan
options:key=flow options:remote_ip=flow ofport_request=11
$ ovs-ofctl add-flow br0 "in_port=LOCAL
actions=set_tunnel:11,set_field:192.168.1.1->tun_dst,output:11"
$ ovs-ofctl add-flow br0 "in_port=11 tun_src=192.168.1.1 tun_id=11
actions=LOCAL"

Host 2
$ ovs-vsctl add-port br0 vxlan0 -- set Interface vxlan0 type=vxlan
options:key=flow options:remote_ip=flow ofport_request=21
$ ovs-ofctl add-flow br0 "in_port=LOCAL
actions=set_tunnel:21,set_field:192.168.2.1->tun_dst,output:21"
$ ovs-ofctl add-flow br0 "in_port=21 tun_src=192.168.2.1 tun_id=21
actions=LOCAL"


I tested this and it didn't work so I'm not sure if I got src/dst wrong or
something else.


On Tue, Apr 5, 2016 at 11:55 PM, Koaps Freeman <koapsfreeman at gmail.com>
wrote:

> Hello all,
>
> I'm trying to figure out how to get OpenFlow working against a bunch of
> servers. We have about 18 servers that use a Open vSwitch bridge with GRE
> ports to mesh together to create a large /16 network that LXC uses.
>
> I've read and tested most things I've found but a lot of examples are for
> mininet or handful of servers, nothing larger than 3.
>
> I'm trying to understand how to build OpenFlow rules so that all my linux
> bridges can talk to each other and allow connections for services running
> in LXC.
>
> My bridge setup is similar to this:
>
> https://wiredcraft.com/blog/multi-host-docker-network/
>
> And I tried following:
>
> http://networkstatic.net/setting-overlays-open-vswitch/
>
> and
>
> http://blog.devnu11.net/2015/09/openvswitch-and-openflow/
>
> The best I've been able to figure out so far is having something like:
>
> in_port=local,actions=output:1,output:2,
> output:3,output:4,output:5,output:6,output:7,output:8
> in_port=1,actions=output:local
> in_port=2,actions=output:local
> in_port=3,actions=output:local
> in_port=4,actions=output:local
> in_port=5,actions=output:local
> in_port=6,actions=output:local
> in_port=7,actions=output:local
> in_port=8,actions=output:local
>
> Which allows pings, but not services like ssh, seems like I'm getting
> triple the GRE overhead (about 70 bytes)
>
> Does anyone have any examples for large overlay network build using
> OpenFlow and Open vSwitch?
>
> Thanks
>



-- 
---------
Blog: http://nullworks.wordpress.com/
Github: https://github.com/koaps
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160406/9c575953/attachment-0002.html>


More information about the discuss mailing list