From: Jan Kiszka <jan.kiszka@web.de>
To: Gerhard Wiesinger <lists@wiesinger.com>
Cc: qemu-devel@nongnu.org, Arnd Bergmann <arnd@arndb.de>
Subject: Re: [Qemu-devel] Re: Network bridging without adding bridge with brctl, possible?
Date: Mon, 21 Feb 2011 09:44:50 +0100 [thread overview]
Message-ID: <4D622602.7070009@web.de> (raw)
In-Reply-To: <alpine.LFD.2.02.1102210713280.17283@bbs.intern>
[-- Attachment #1: Type: text/plain, Size: 5092 bytes --]
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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
next prev parent reply other threads:[~2011-02-21 8:44 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-19 19:32 [Qemu-devel] Network bridging without adding bridge with brctl, possible? Gerhard Wiesinger
2011-02-20 9:44 ` [Qemu-devel] " Jan Kiszka
2011-02-20 10:19 ` Gerhard Wiesinger
2011-02-20 11:19 ` Jan Kiszka
2011-02-20 21:28 ` Arnd Bergmann
2011-02-21 6:12 ` Gerhard Wiesinger
2011-02-20 12:49 ` Gerhard Wiesinger
2011-02-20 14:15 ` Jan Kiszka
2011-02-20 15:19 ` Gerhard Wiesinger
2011-02-20 17:39 ` Jan Kiszka
2011-02-20 20:03 ` Gerhard Wiesinger
2011-02-20 21:33 ` Arnd Bergmann
2011-02-21 6:40 ` Gerhard Wiesinger
2011-02-21 8:44 ` Jan Kiszka [this message]
2011-02-21 12:07 ` Arnd Bergmann
2011-02-23 6:38 ` Gerhard Wiesinger
2011-02-23 12:53 ` Jan Kiszka
2011-02-24 6:49 ` Gerhard Wiesinger
2011-02-24 7:50 ` Jan Kiszka
2011-02-24 8:00 ` Arnd Bergmann
2011-02-23 14:47 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D622602.7070009@web.de \
--to=jan.kiszka@web.de \
--cc=arnd@arndb.de \
--cc=lists@wiesinger.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.