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: Gerhard Wiesinger
Subject: Re: [Qemu-devel] Re: Network bridging without adding bridge with brctl, possible?
Date: Mon, 21 Feb 2011 07:40:27 +0100 (CET)
User-agent: Alpine 2.02 (LFD 1266 2009-07-14)

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)

Thnx.

Ciao,
Gerhard

--
http://www.wiesinger.com/



reply via email to

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