(Cc'ing to libvirt-users(a)redhat.com)
On 03/22/2012 02:43 PM, Ansis Atteka wrote:
On Thu, Mar 22, 2012 at 11:11 AM, Daniele Milani <dano1988(a)hotmail.it
<mailto:dano1988@hotmail.it>> wrote:
I think I could try the first solution. Can you explain me how do
I create the port used by dnsmasq?
For example, is it correct to execute
# ovs-vsctl add-port virbr1 port2 tag=2
to create a port for the vLan whose tag is 2 named "port2"?
Try something like this:
ovs-vsctl add-port virbr1 port2 tag=2
ovs-vsctl set Interface port2 type=internal
ifconfig port2 10.0.0.1
ifconfig port2 up
/usr/sbin/dnsmasq --strict-order --bind-interfaces
--except-interface lo --listen-address 10.0.0.1 --dhcp-range
10.0.0.10,10.0.0.20
--dhcp-leasefile=/var/lib/libvirt/dnsmasq/vlan2.leases
--dhcp-lease-max=253 --dhcp-no-override
By the time you are doing this much stuff outside of libvirt, I think it
would really be better to not use a libvirt virtual network at all,
since libvirt is likely to do things to that network that would end up
breaking the config you've done outside of libvirt.
Instead, just use the host OS configuration files to create the bridge,
add the tagged port, run dnsmasq, etc., then use <interface
type='bridge'> in the guest rather than <interface
type='network'>
Though I have not tested it...
Daniele Milani
Date: Thu, 22 Mar 2012 10:54:21 -0700
Subject: Re: [libvirt] Problem with Open vSwitch and dnsmasq
From: aatteka(a)nicira.com <mailto:aatteka@nicira.com>
To: dano1988(a)hotmail.it <mailto:dano1988@hotmail.it>
CC: libvir-list(a)redhat.com <mailto:libvir-list@redhat.com>;
roberto.sassu(a)polito.it <mailto:roberto.sassu@polito.it>
On Thu, Mar 22, 2012 at 6:10 AM, Daniele Milani
<dano1988(a)hotmail.it <mailto:dano1988@hotmail.it>> wrote:
Dear all,
I have the following situation:
-I replaced the standard bridge driver with the Open VSwitch one;
-I started a NAT-network on Libvirt (bridge name virbr1);
-I started a Virtual Machine (VM1) on Libvirt, and I tagged
his interface (vnet0) with tag=2;
-if I run "# ovs-vsctl show" I obtain:
Bridge "virbr1"
Port "vnet0"
tag: 2
Interface "vnet0"
Port "virbr1-nic"
Interface "virb1-nic"
Port "virbr1"
Interface "virbr1"
type: internal
-the problem is that it is impossible to assign to VM1 an IP,
because the dnsmasq daemon does not accept the tagged DHCP
Discover frame.
Does someone know if there is a way for dnsmasq to accept
tagged frames through "virbr1", and send a tagged DHCP Offer
packet back to VM1?
I believe you would need to run dedicated dnsmasq process instance
per each VLAN that you have. By
default I guess dnsmasq runs on virbr1, hence it does not see the
tagged traffic that comes from vnet0.
You could try to:
1. add another port to that bridge with the same VLAN as VM has.
And run a separate instance of dnsmasq there; or
change the tag of virb1 port, but this might lead to other issues
(e.g. then non-tagged VMs will not get DHCP leases).
Perhaps someone else can suggest something easier...
Greetings,
Daniele Milani
--
libvir-list mailing list
libvir-list(a)redhat.com <mailto:libvir-list@redhat.com>
https://www.redhat.com/mailman/listinfo/libvir-list
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list