LQ Newbie
Registered: Mar 2013
Posts: 2
Rep:
|
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
|