[ovs-discuss] Issue in added bridge in OVS-DPDK build
sharmila.radhakrishnan at intel.com
Tue Mar 17 15:27:04 UTC 2015
Thanks! That was really informative.
From: Daniele Di Proietto [mailto:diproiettod at vmware.com]
Sent: Tuesday, March 17, 2015 8:39 PM
To: Radhakrishnan, Sharmila
Cc: discuss at openvswitch.org
Subject: Re: [ovs-discuss] Issue in added bridge in OVS-DPDK build
> On 17 Mar 2015, at 13:49, Radhakrishnan, Sharmila <sharmila.radhakrishnan at intel.com> wrote:
> Hi Daniele,
> I went through e OVS installation in userspace. In the Userspace install it is given, we install everything except the kernel modules and the add the bridges using the below commands:
> ovs-vsctl add-br br0
> ovs-vsctl set bridge br0 datapath_type=netdev ovs-vsctl add-port br0
> eth0 ovs-vsctl add-port br0 eth1 ovs-vsctl add-port br0 eth2
> In the above commands, the first command fails for me again(you have pointed out about the kernel module not being there). Does that mean we need to install the kernel module too in the Userspace mode?
> Also, in the installation of the plain OVS document, it is mentioned that installing kernel modules is optional. Shouldn’t this be mandatory?
No, the kernel module is not needed in this case. To make OVS work with
DPDK (in particular to add bridges and ports), please follow
INSTALL.DPDK.md (in particular section “Using the DPDK with ovs-vswitchd”
point “6. Add bridge & ports”).
``ovs-vsctl add-br br0’’ adds to the _database_ a bridge backed by a
“system” datapath. As soon as the ovs-vswitchd daemon notices the
change, it tries to create the bridge and the datapath. It fails
because the kernel module it’s not loaded but it doesn’t delete
anything from the database.
``ovs-vsctl set bridge br0 datapath_type=netdev'’ sets the
appropriate datapath_type in the _database_. As soon as the ovs-vswitchd
daemon notices the change, it destroys the old datapath (which wasn’t
fully created anyway) and it creates the new one.
A simpler way of accomplishing the same goal is to use
``ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev’'
which updates the database in a single transaction.
> Also, I would like to understand the architecture of OVS in kernel space vs the one in userspace. Is there any links/document to understand what goes behind the hood.
The PORTING.md document in the source tree should provide a good
introduction to the OVS architecture
Hope this helps,
More information about the discuss