All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomasz Chmielewski <mangoo@wpkg.org>
To: netdev@vger.kernel.org
Subject: bonding and IPv6 "doesn't work"?
Date: Tue, 12 Jul 2011 18:05:41 +0200	[thread overview]
Message-ID: <4E1C70D5.6060806@wpkg.org> (raw)

I'm trying to make bonding work with IPv6, using 2.6.39.3 kernel.


Unfortunately, it doesn't seem to work without some rather unintuitive 
workarounds.


I make a bond0 of two interfaces, eth0 and eth1.

As soon as I assign them a IPv6 address, I can see the following message 
in dmesg:

bond0: IPv6 duplicate address 2a01:4f8:120:14c4::1247 detected!



I'm not able to reach any host in the internet:

# assign an IP address
ip -6 addr add 2a01:4f8:120:14c4::1247/64 dev bond0
ip -6 route add 2a01:4f8:120:14c4::15 dev bond0
ip -6 route add default via 2a01:4f8:120:14c4::15

# ping a host in the internet
ping6 -c 1 kernel.org
PING kernel.org(pub1.kernel.org) 56 data bytes

--- kernel.org ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms




However if I start bonding with just one interface, add IPv6 address to 
it, then use ifenslave to add a second interface, I'm able to reach the 
hosts in the internet.

# restart network
/etc/init.d/network restart

# remove eth1 from bonding
ifenslave -d bond0 eth1

# assign an IP address
ip -6 addr add 2a01:4f8:120:14c4::1247/64 dev bond0
ip -6 route add 2a01:4f8:120:14c4::15 dev bond0
ip -6 route add default via 2a01:4f8:120:14c4::15

# add eth1 to bonding
ifenslave bond0 eth1


# ping a host in the internet
ping6 -c 1 kernel.org
PING kernel.org(pub4.kernel.org) 56 data bytes
64 bytes from pub4.kernel.org: icmp_seq=0 ttl=49 time=61.6 ms

--- kernel.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 61.645/61.645/61.645/0.000 ms, pipe 2


This is 100% reproducible - is it expected?

I've tried setting these sysctl values, but it didn't help:

net.ipv6.conf.eth0.accept_dad = 0
net.ipv6.conf.eth1.accept_dad = 0



# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.0 (June 2, 2010)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 72:d2:6e:8e:07:4d
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 100 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 6a:f2:e9:64:01:76
Slave queue ID: 0


-- 
Tomasz Chmielewski
http://wpkg.org

             reply	other threads:[~2011-07-12 16:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-12 16:05 Tomasz Chmielewski [this message]
2011-07-12 16:14 ` bonding and IPv6 "doesn't work"? David Lamparter
2011-07-12 16:25   ` Tomasz Chmielewski
2011-07-12 16:36     ` David Lamparter
2011-07-12 17:15     ` Chris Friesen

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=4E1C70D5.6060806@wpkg.org \
    --to=mangoo@wpkg.org \
    --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 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.