[ovs-discuss] Bootstrapping OVS (network config before openvswitch db is up)

Nick chicken at 2thebatcave.com
Wed May 15 23:57:38 UTC 2013


Thanks so much! It looks like this is going to be easier than I at first
suspected.


On Tue, May 14, 2013 at 2:08 PM, Ben Pfaff <blp at nicira.com> wrote:

> On Tue, May 14, 2013 at 12:07:46PM -0700, Nick wrote:
> > Ok that sounds better.  So would it be best to use the same eth0 (or
> > whatever the physical interface name is) as the untagged network
> management
> > device, or should I somehow create a virtual interface via OVS?
>
> This is a FAQ.
>
> Q: I created a bridge and added my Ethernet port to it, using commands
>    like these:
>
>        ovs-vsctl add-br br0
>        ovs-vsctl add-port br0 eth0
>
>    and as soon as I ran the "add-port" command I lost all connectivity
>    through eth0.  Help!
>
> A: A physical Ethernet device that is part of an Open vSwitch bridge
>    should not have an IP address.  If one does, then that IP address
>    will not be fully functional.
>
>    You can restore functionality by moving the IP address to an Open
>    vSwitch "internal" device, such as the network device named after
>    the bridge itself.  For example, assuming that eth0's IP address is
>    192.168.128.5, you could run the commands below to fix up the
>    situation:
>
>        ifconfig eth0 0.0.0.0
>        ifconfig br0 192.168.128.5
>
>    (If your only connection to the machine running OVS is through the
>    IP address in question, then you would want to run all of these
>    commands on a single command line, or put them into a script.)  If
>    there were any additional routes assigned to eth0, then you would
>    also want to use commands to adjust these routes to go through br0.
>
>    If you use DHCP to obtain an IP address, then you should kill the
>    DHCP client that was listening on the physical Ethernet interface
>    (e.g. eth0) and start one listening on the internal interface
>    (e.g. br0).  You might still need to manually clear the IP address
>    from the physical interface (e.g. with "ifconfig eth0 0.0.0.0").
>
>    There is no compelling reason why Open vSwitch must work this way.
>    However, this is the way that the Linux kernel bridge module has
>    always worked, so it's a model that those accustomed to Linux
>    bridging are already used to.  Also, the model that most people
>    expect is not implementable without kernel changes on all the
>    versions of Linux that Open vSwitch supports.
>
>    By the way, this issue is not specific to physical Ethernet
>    devices.  It applies to all network devices except Open vswitch
>    "internal" devices.
>
> > Also, if I:
> >
> > 1. Start the database server with an empty database
> > 2. Start ovs-vswitchd
> > 3. Configure OVS to use eth0
> > 4. Start using eth0 normally
> > 5. Stop the database server
> > 6. Swap out the database to the persistent one
> > 7. Start the database server
> >
> > What happens after #7?
>
> ovs-vswitchd connects to the new database server and updates to the
> state in the database.
>
> > Is there something I have to do to get the previous network state
> > restored, or does ovs-vswitchd just magically notice that the actual
> > running state vs. saved db state is different, and correct the actual
> > running state to match?
>
> The latter.
>
> > Also, when the database server is stopped, will the network on eth0 be
> > disrupted at all?
>
> No, ovs-vswitchd just keeps the previous configuration in effect until
> it reconnects to the database.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20130515/9d228354/attachment.html>


More information about the discuss mailing list