From: Tsutomu Fujii <t-fujii@nb.jp.nec.com>
To: netdev@vger.kernel.org
Subject: Bonding in active-backup mode with arp monitoring on Xen
Date: Mon, 29 Oct 2007 10:16:55 +0900 [thread overview]
Message-ID: <47253487.3010909@nb.jp.nec.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1725 bytes --]
Hi.
I was trying to use bonding from a guest OS on xen in active-backup
mode with arp monitoring, but the virtual server can't communicate to
the peer server via bonding interface.
The network structure is the following.
+-------------------------------+
| virtual I/F(eth0) | <- have IP address.
+-------------------------------+
| virtual bridge(xenbr0) |
+-------------------------------+
| bonding(bond0) | <- don't have IP address
+--------------+-+--------------+
|phy I/F(peth0)| |phy I/F(peth1)|
+--------------+ +--------------+
The attached file describes how I configured the network.
In this case, when I run 'cat /proc/net/bonding/bond0', 'MII Status'
is shown as down.
This behavior only occurs in active-backup mode with arp monitoring.
It does not happen in active-backup mode with mii monitoring nor other
mode that can use arp monitoring.
>From the output of tcpdump, it seems that arp packet isn't transmitted.
This problem is caused because bond_activebackup_arp_mon(), which is the
function that sends arp packet in active-backup mode, checks whether
bonding master interface has an IP address(bond_has_ip()), before arp
packets are transmitted using bond_arp_send_all().
In the above setting, bonding master interface don't have IP address.
How about removing bond_has_ip() from the condition for calling
bond_arp_send_all() to use bonding with xen?
When I removed bond_has_ip(), the resulting kernel worked fine and
active-backup mode works with arp monitoring.
I confirmed this behavior in RHEL5(2.6.18-44.el5xen). And I confirmed
that the upstream kernel(2.6.23) also has the same condition before
calling bond_arp_send_all().
Thanks.
---
Tsutomu Fujii
[-- Attachment #2: set_bonding.txt --]
[-- Type: text/plain, Size: 1444 bytes --]
Setting procedure of bonding.
1) Make or modify the following config file on dom0.
- /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Bonding
DEVICE=bond0
BOOTPROTO=none
ONBOOT=no
- /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=no
- /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
ONBOOT=no
- /etc/modprobe.conf (Add to following two lines.)
alias bond0 bonding
options bonding mode=1 arp_interval=100 arp_ip_target=192.168.0.254
2) Run the following command on dom0.
# brctl addbr xenbr0
# ip link set xenbr0 arp off
# ip link set xenbr0 multicast off
# ip link set eth0 name peth0
# ip link set eth1 name peth1
# ip link set veth0 name eth0
# ip link set veth1 name eth1
# ifup bond0
# ifenslave bond0 peth0 peth1
# ifdown bond0
# ip link set bond0 down
# ip link set bond0 arp off
# ip link set bond0 multicast off
# ip link set bond0 addr fe:ff:ff:ff:ff:ff
# ip link set vif0.0 down
# ip link set vif0.0 arp off
# ip link set vif0.0 multicast off
# ip link set vif0.0 addr fe:ff:ff:ff:ff:ff
# ip link set xenbr0 up
# brctl addif xenbr0 bond0
# ip link set bond0 up
# brctl addif xenbr0 vif0.0
# ip link set vif0.0 up
# ip link set eth0 addr 00:16:3e:70:00:03
# ip link set eth0 arp on
# ifup eth0
# ifconfig eth0 192.168.0.1
next reply other threads:[~2007-10-29 1:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-29 1:16 Tsutomu Fujii [this message]
2007-10-30 21:48 ` Bonding in active-backup mode with arp monitoring on Xen Jay Vosburgh
2007-10-31 11:08 ` Tsutomu Fujii
-- strict thread matches above, loose matches on Subject: below --
2008-03-27 12:49 Tsutomu Fujii
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=47253487.3010909@nb.jp.nec.com \
--to=t-fujii@nb.jp.nec.com \
--cc=netdev@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).