qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: Network bridging without adding bridge with brctl,


From: Jan Kiszka
Subject: Re: [Qemu-devel] Re: Network bridging without adding bridge with brctl, possible?
Date: Mon, 21 Feb 2011 09:44:50 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

On 2011-02-21 07:40, Gerhard Wiesinger wrote:
> On Sun, 20 Feb 2011, Arnd Bergmann wrote:
> 
>> On Sunday 20 February 2011, Gerhard Wiesinger wrote:
>>>>> qemu-system-x86_64 ... some params ... -net
>>>>> nic,model=e1000,macaddr=1a:46:0b:ca:bc:7c -net tap,fd=3 3<>/dev/tap10
>>>>>
>>>>> Seems to me quite logically because macvtap0 (and not macvlan0) is
>>>>> associated with /dev/tap10 but with another mac address set in KVM.
>>>>>
>>>>> Any furher ideas?
>>>>
>>>> As you already noticed: you mixed up the MAC addresses. KVM's must be
>>>> the same as used for its frontend macvtap. The macvlan is only for the
>>>> host and has a separate one.
>>>
>>> I think I did everyting right in the last 1st try but it still didn't
>>> work:
>>> 1.) macvtap0: MAC: 1a:46:0b:ca:bc:7b
>>> 2.) macvlan0: MAC: 1a:46:0b:ca:bc:7c, 192.168.0.23
>>> 3.) KVM: MAC: 1a:46:0b:ca:bc:7b, assigned IP from DHCP:
>>> 1a:46:0b:ca:bc:7b
>>> (looks like an IP address conflict inside guest and outside?)
>>>
>>> That should be as you explained, right?
>>
>> The qemu command above has the 7c mac address, which does not match.
>> Do you see the interface in the guest using "ip link show" ?
> 
> Only the second try had 7c mac address. 1st try had 7b mac address.
> 
> Now I tried the following still with same success that host/guest
> communication (because of missing hairpin mode of the switch) is NOT
> possible.
> ############################################################
> # Used 7c mac in KVM
> ############################################################
> # No need for bridge mode and iproute2 2.6.37
> ip link add link eth0 name macvtap0 type macvtap
> ip link set macvtap0 address 1a:46:0b:ca:bc:7b up
> ip link add link macvtap0 name macvlan0 type macvlan
> ip link set macvlan0 address 1a:46:0b:ca:bc:7c up
> ip link show macvtap0
> ip link show macvlan0
> ls -l /dev/tap*
> # crw-rw---- 1 root root 249, 18 Feb 21 07:21 /dev/tap18
> ifconfig macvlan0 192.168.0.23 up
> /root/download/qemu/git/qemu-kvm/x86_64-softmmu/qemu-system-x86_64 ...
> -net nic,model=pcnet,macaddr=1a:46:0b:ca:bc:7c -net tap,fd=3
> # Guest has 7c mac, external traffic NOT ok
> ip link delete macvlan0 type macvlan
> ls -l /dev/tap*
> # Still present
> # crw-rw---- 1 root root 249, 18 Feb 21 07:21 /dev/tap18
> ip link delete macvtap0 type macvtap
> ls -l /dev/tap*
> # ls: cannot access /dev/tap*: No such file or directory
> ############################################################
> # Used 7b mac in KVM
> ############################################################
> # No need for bridge mode and iproute2 2.6.37
> ip link add link eth0 name macvtap0 type macvtap
> ip link set macvtap0 address 1a:46:0b:ca:bc:7b up
> ip link add link macvtap0 name macvlan0 type macvlan
> ip link set macvlan0 address 1a:46:0b:ca:bc:7c up
> ip link show macvtap0
> ip link show macvlan0
> ls -l /dev/tap*
> # crw-rw---- 1 root root 249, 18 Feb 21 07:21 /dev/tap18
> ifconfig macvlan0 192.168.0.23 up
> /root/download/qemu/git/qemu-kvm/x86_64-softmmu/qemu-system-x86_64...
> -net nic,model=pcnet,macaddr=1a:46:0b:ca:bc:7b -net tap,fd=3
> # Guest has 7b mac, external traffic ok, internal not
> ip link delete macvlan0 type macvlan
> ls -l /dev/tap*
> # Still present
> # crw-rw---- 1 root root 249, 18 Feb 21 07:21 /dev/tap18
> ip link delete macvtap0 type macvtap
> ls -l /dev/tap*
> # ls: cannot access /dev/tap*: No such file or directory
> ############################################################
> 
> Now I think I tried all useful possible combinations:
> 1.) macvtap0 and macvlan0 in bridged and non bridge mode
> 2.) macvlan0 based on eth0 or based on macvtap0
> 3.) Using and ip address on macvlan0 or not (tried both for 7b mac and
> 7c mac)
> 4.) Using 7b and 7c mac address in KVM (MAC in KVM is always the command
> line configured) and used tap interface from macvtap0 (as no second tap
> devices shows up)
> 
> Summary:
> 1.) Using macvtap0 only with 7b mac on interface and also at qemu works
> well in bridged mode as well as non bridged mode but with limitation no
> guest/host communication possible, used interface in KVM is tap
> interface created by macvtap0. Quite logically that it doesn't work with
> guest/host because of missing hairpin mode on the switch. But according
> to http://virt.kernelnewbies.org/MacVTap bridge mode should work even
> without hairpinning available on the switch.
> 2.) macvlan0 doesn't create any tap interface therefore it can't be used
> as a device on KVM.
> 3.) Using 7c mac address in KVM doesn't work at all regardsless of
> setting ip addresses on macvlan0 or any other setup.
> 
> @Arnd: Can you explain a setup in detail which should work also with
> host/guest communication. Thnx.
> 
> Any further ideas?
> Which kernel is needed to work?
> (current: 2.6.34.7-56.fc13.x86_64)

Actually, I tried this successfully over a 2.6.38-rcX, but I have no
idea what changes related to macvlan/tap went in since .34 and if this
is required for this.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]