LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 03-22-2013, 10:19 PM   #1
firejoey
LQ Newbie
 
Registered: Mar 2013
Posts: 2

Rep: Reputation: Disabled
Strange packets while using active-backup bonding with fail-over-mac=active


Hello,

When I tested NIC fail-over with bonding driver in RedHat Linux 5.8,
I found very strange packets when active NIC is down in bonding.

I should use fail-over-mac active option in bonding, because NIC device is not allowed change MAC address.

1. Kernel and bonding driver info
- Kernel :2.6.32
- Bonding Driver : Ethernet Channel Bonding Driver, v3.6.0

2. bonding info
- bonding interface : bond2
- physical NICs : eth0, eth2
- bonding options: "mode=active-backup primary=eth2 fail_over_mac=1 miimon=100 downdelay=5000 updelay=5000"

3. interface details
# ifconfig bond2
bond2 Link encap:Ethernet HWaddr 00:21:28:E7:13:FA
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::221:28ff:fee7:13fa/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:7078 errors:0 dropped:0 overruns:0 frame:0
TX packets:3358 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:526786 (514.4 KiB) TX bytes:829942 (810.4 KiB)

# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:21:28:E7:13:FA
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:3540 errors:0 dropped:0 overruns:0 frame:0
TX packets:1476 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:225825 (220.5 KiB) TX bytes:521080 (508.8 KiB)
Memory:df360000-df380000

# ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:21:28:E7:13:FC
BROADCAST SLAVE MULTICAST MTU:1500 Metric:1
RX packets:3541 errors:0 dropped:0 overruns:0 frame:0
TX packets:1882 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:301141 (294.0 KiB) TX bytes:308862 (301.6 KiB)
Memory:df460000-df480000


4. Strange packets while primary NIC(eth2) is down
# cat /proc/net/bonding/bond2
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup) (fail_over_mac active)
Primary Slave: eth2 (primary_reselect always)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 5000
Down Delay (ms): 5000

Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: 00:21:28:e7:13:fa
Slave queue ID: 0

Slave Interface: eth2
MII Status: down
Link Failure Count: 2
Permanent HW addr: 00:21:28:e7:13:fc
Slave queue ID: 0


--> while ping to test target server, I make eth2 down.
--> So bond2 is using eth0, but why bond2 make ethernet packet with eth2's MAC address and also eth0's MAC address?
Is it normal behavior of bonding driver in active-backup mode with fail-over-mac active?
I expected if eth2 NIC is down, bonding driver should make use eth0's MAC address.
But bonding driver use two inferfaces MAC address while using backup NIC.



# tcpdump -eni bond2 'icmp or arp'
listening on bond2, link-type EN10MB (Ethernet), capture size 96 bytes
00:27:45.286498 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 495, length 64
00:27:45.286645 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 495, length 64
00:27:46.286497 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 496, length 64
00:27:46.286642 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 496, length 64
00:27:47.286495 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 497, length 64
00:27:47.286657 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 497, length 64
00:27:48.286493 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 498, length 64
00:27:48.286740 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 498, length 64
00:27:49.286496 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 499, length 64
00:27:49.286627 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 499, length 64
00:27:50.286502 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 500, length 64
00:27:51.286496 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 501, length 64
00:27:52.286496 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 502, length 64
00:27:53.286492 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 503, length 64
00:27:54.286497 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 504, length 64
00:27:55.286496 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 505, length 64
00:27:56.286498 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 506, length 64
00:27:56.286731 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 506, length 64
00:27:57.286495 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 507, length 64
00:27:58.286493 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 508, length 64
00:27:59.286493 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 509, length 64
00:28:00.286494 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 510, length 64
00:28:01.286497 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 511, length 64
00:28:02.286494 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 512, length 64
00:28:03.286493 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 513, length 64
00:28:04.286492 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 514, length 64
00:28:05.286743 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 515, length 64
00:28:06.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 516, length 64
00:28:07.286509 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 517, length 64
00:28:08.286513 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 518, length 64
00:28:09.286507 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 519, length 64
00:28:10.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 520, length 64
00:28:11.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 521, length 64
00:28:12.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 522, length 64
00:28:13.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 523, length 64
00:28:14.286509 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 524, length 64
00:28:15.286499 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 525, length 64
00:28:15.286641 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 525, length 64
00:28:16.286504 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 526, length 64
00:28:16.286724 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 526, length 64
00:28:17.286510 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 527, length 64
00:28:17.286725 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 527, length 64
00:28:18.286510 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 528, length 64
00:28:18.286765 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 528, length 64
00:28:19.286511 00:21:28:e7:13:fa > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 529, length 64
00:28:19.286751 00:00:5e:00:01:0a > 00:21:28:e7:13:fa, ethertype IPv4 (0x0800), length 98: 192.168.1.1 > 192.168.1.4: ICMP echo reply, id 11548, seq 529, length 64
00:28:20.286498 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 530, length 64
00:28:21.286513 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 531, length 64
00:28:22.286513 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 532, length 64
00:28:23.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 533, length 64
00:28:24.286510 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 534, length 64
00:28:25.286512 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 535, length 64
00:28:26.286511 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 536, length 64
00:28:27.286513 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 537, length 64
00:28:28.286509 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 538, length 64
00:28:29.286541 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 539, length 64
00:28:30.286509 00:21:28:e7:13:fc > 00:21:28:d5:ff:a6, ethertype IPv4 (0x0800), length 98: 192.168.1.4 > 192.168.1.1: ICMP echo request, id 11548, seq 540, length 64
 
Old 03-25-2013, 02:42 PM   #2
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,850

Rep: Reputation: 161Reputation: 161
If you don't want to use different MAC address, you can turn off fail-over-mac.

The parameter of bond, fail_over_mac, can be used to specify whether active-backup mode should set all slaves to the same MAC address (the traditional behavior), or change the bond's MAC address when changing the active interface (ie, fail over the MAC address itself).
 
Old 03-25-2013, 09:44 PM   #3
firejoey
LQ Newbie
 
Registered: Mar 2013
Posts: 2

Original Poster
Rep: Reputation: Disabled
my NIC doesn't support changing MAC address, so I should different MAC addresses in bonding configuration.

thanks
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Bonding of for fault-tolerance (active-backup) vikas027 Linux - Networking 4 04-03-2013 12:02 PM
bonding (active-backup): conversion takes too long (if any) eantoranz Linux - Networking 2 12-07-2012 02:09 PM
[SOLVED] Linux Channel Bonding: active-backup mode rajivdp Linux - Newbie 2 05-17-2011 06:05 AM
Port bonding won't use active-backup, keeps using round-robin jeriryan Linux - Networking 2 12-09-2010 12:39 PM
Do you need STP enabled to run active active bonding one CentOS4? ch19251 Linux - Networking 1 06-17-2009 09:30 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 09:50 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration