[ovs-dev] OVS on coreos.

Ethan J. Jackson ejj at eecs.berkeley.edu
Wed Nov 11 02:19:29 UTC 2015


Well, since OVS is in upstream linux, all you really need are ovsdb-server
and ovs-vswitchd to get up and running.  It can go ahead and connect to the
kernel module that's already there and forward packets.   At least this has
worked for us with CoreOS without any additional modification.

Getting OVS going with DPDK support would be quite a bit more involved
actually.  You would need support for attaching the host NICs to the
ovs-vswitchd container through DPDK.  It's certainly feasible, but I'm not
sure there's a lot of overlap between the use cases for OVS DPDK and OVS as
a container.

Ethan

On Tue, Nov 10, 2015 at 5:58 PM, Baohua Yang <yangbaohua at gmail.com> wrote:

> thanks ethan!
> seems we've put the ovsdb-server and ovs-vswitchd (user-face) part into a
> container, which are basically userspace apps.
> But it still requires host support on the datapath module.
> more interesting is to put the whole ovs, including the datapath into
> container.
> there's some userspace one (through dpdk?), right?
>
> On Wed, Nov 11, 2015 at 6:36 AM, Ethan J. Jackson <ejj at eecs.berkeley.edu>
> wrote:
>
>> Hi everyone,
>>
>> We're doing a project here at Berkeley which requires OVS/Docker
>> integration on CoreOS.  Melvin Walls (an undergrad working with me here)
>> did the heavy lifting to get that setup, so I thought I'd forward it to
>> the
>> list in case there's interest.
>>
>> The first (and most important) step, is to create a container of OVS.
>> Melvin has done so here: https://hub.docker.com/r/melvinw/ubuntu-ovs/
>> It'd
>> be really cool if  the community blessed one per release and put it on
>> hub.docker.com.  They have a way to bless certain containers as
>> "official"
>> which would be awesome.
>>
>> Anyways once that's up getting OVS running is pretty easy:  It's a bit
>> ugly
>> but it works:
>>
>> mkdir -p /etc/ovs
>>     mkdir -p /var/run/ovs
>>     sudo modprobe openvswitch
>>     docker pull melvinw/ubuntu-ovs
>>     docker run -d \
>>         --privileged --net=host --name=ovsdb \
>>         -v /var/run/ovs:/usr/local/var/run/openvswitch:rw \
>>         -v /etc/ovs:/usr/local/etc/openvswitch:rw \
>>         melvinw/ubuntu-ovn /bin/bash -c " \
>>         mkdir -p /usr/local/var/log/openvswitch \
>>         /usr/local/var/lib/openvswitch \
>>         /usr/local/var/lib/openvswitch/pki; \
>>         ovsdb-tool create /usr/local/etc/openvswitch/conf.db \
>>         /usr/local/share/openvswitch/vswitch.ovsschema; \
>>         ovsdb-server \
>>         --remote=punix:/usr/local/var/run/openvswitch/db.sock \
>>         --remote=db:Open_vSwitch,Open_vSwitch,manager_options \
>>         --log-file=/usr/local/var/log/openvswitch/ovsdb-server.log \
>>         --pidfile"
>>
>>     docker run -d \
>>         --privileged --net=host --name=ovs \
>>         -v /var/run/ovs:/usr/local/var/run/openvswitch:rw \
>>         -v /etc/ovs:/usr/local/etc/openvswitch:rw \
>>         melvinw/ubuntu-ovn /bin/bash -c " \
>>         mkdir -p /usr/local/var/log/openvswitch \
>>         /usr/local/var/lib/openvswitch \
>>         /usr/local/var/lib/openvswitch/pki; \
>>         ovs-vsctl --no-wait init; \
>>         ovs-vswitchd --pidfile \
>>         --log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log"
>>
>> The usual commands (ovs-vsctl, etc...) can be run by prefixing them with
>> `docker exec ovs`
>>
>> Anyways, I hope that's helpful/interesting.
>>
>> Ethan
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
>>
>
>
>
> --
> Best wishes!
> Baohua
>



More information about the dev mailing list