[ovs-discuss] VXLAN flow configuration for OVS

Manu S. Keshava manu at chelsio.com
Tue Jun 13 14:08:03 UTC 2017

Hi Venu, the objective is to have flows with VxLAN field matches hence I did not use the udp port match condition.
Is there any other way to configure OVS for this experiment?

From: Venugopal Reddy K [mailto:venugopalreddyk at huawei.com]
Sent: Tuesday, June 13, 2017 7:12 PM
To: Manu S. Keshava <manu at chelsio.com>; discuss at openvswitch.org
Subject: RE: VXLAN flow configuration for OVS


Assumed you have tried with flows added for both directions. Don't know whether you can  use tun related matches for this case.
I guess, can match on udp port:4789 alone instead.


From: ovs-discuss-bounces at openvswitch.org<mailto:ovs-discuss-bounces at openvswitch.org> [mailto:ovs-discuss-bounces at openvswitch.org] On Behalf Of Manu S. Keshava
Sent: 13 June 2017 18:22
To: discuss at openvswitch.org<mailto:discuss at openvswitch.org>
Subject: [ovs-discuss] VXLAN flow configuration for OVS

Hi, I'm using Openvswitch-2.7.0 on RHEL7.3 with 4.9.30.

I'm using 3 machines in this config :
 --------          | OVS_Switch |          --------
| HOST A | ------->| eth2  eth3 |<------- | HOST B |
--------           ------------           --------

I'm configuring VXLAN tunnel on Host A and Host B as :
ifconfig enp7s0f4d1 10.1.1.x/24 promisc
modprobe vxlan
ip li add vxlan0 type vxlan id 42 group dev enp7s0f4d1 dstport 4789
ifconfig vxlan0 192.168.1.x/24 up

Now I configure the host acting as OVS_switch :
ovs-appctl exit
pkill -9 ovs
rm -rf /usr/local/etc/ovs-vswitchd.conf
rm -rf /usr/local/var/run/openvswitch/db.sock
rm -rf /usr/local/etc/openvswitch/conf.db
touch /usr/local/etc/ovs-vswitchd.conf
ovsdb-tool create /usr/local/etc/openvswitch/conf.db /root/ openvswitch-2.7.0/vswitchd/vswitch.ovsschema
ovsdb-server /usr/local/etc/openvswitch/conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach --log-file
ovs-vsctl --no-wait init
export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
ovs-vswitchd --pidfile --detach
ovs-vsctl add-br br0
sleep 2
ifconfig br0 up
ovs-vsctl add-port br0 enp7s0f4
sleep 5
ovs-vsctl add-port br0 enp7s0f4d1
sleep 5
ovs-vsctl show

Now when I ping on the vxlan interfaces from HostA to HostB and vice-versa it works.

I deleted all default flows on the switch and created a flow to switch packets with tun_id=42 but that flow does not seem to be hit.
ovs-ofctl del-flows br0
ovs-ofctl add-flow br0 in_port=1,tun_src=,tun_id=42,action=output:2

[root at warrior ~]# ovs-ofctl --version
ovs-ofctl (Open vSwitch) 2.7.0
OpenFlow versions 0x1:0x4
[root at warrior ~]# ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=6.800s, table=0, n_packets=0, n_bytes=0, idle_age=6, tun_id=0x2a,tun_src=,in_port=1 actions=output:2

How to set flows for the VXLAN tunnel now?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20170613/c964919a/attachment.html>

More information about the discuss mailing list