Subject: Make bridge bug in linux 2.6.25b using Powerpc 405ep

From: zhong wang <[email-masked]>
Date: Sun, 21 Jun 2009 11:45:00 +0800 (CST)

hello all:
   I encountered a very strange question, I am using the AMCC Powerpc 405ep its Emac0 received a single phy intel 971, Emac1 received RTL8305SB, they shared Mdio,  Mdc.  2.6.25.10 I use the kernel.
   The problem is to use the following command will be  eth0, eth1 configured bridge .my borad will down  often. Hope that helps!
   
                                                         2009:06:21
                                                         leowang
> Flowing command         
>                              ifconfig  eth0  down 
>                              ifconfig  eth1  down
>                              ifconfig  eth0  0.0.0.0  up
>                              ifconfig  eth1  0.0.0.0  up
>                              brctl addbr  br0
>                              brctl addif   br0  eth0
>                              brctl addif   br0  eth1
>                              ifconfig  br0  192.168.80.250  up
>                              router ad default  gw  192.168.80.1
>                              brctl  stp  off
>                              brctl  setfd  br0   off
> kernel log 
             
[root@KingGate ~]# dmesg
Linux version 2.6.25.16 ([email-masked]) (gcc version 4.3.3 (GCC) ) #283 Wed Jun 17 12:06:25 CST 2009
IBM Bubinga port (MontaVista Software, Inc. <[email-masked]>)
Entering add_active_range(0, 0, 32768) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->    32768
  Normal      32768 ->    32768
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->    32768
On node 0 totalpages: 32768
  DMA zone: 256 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 32512 pages, LIFO batch:7
  Normal zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
Kernel command line: root=/dev/ram0 rw console=/dev/null
PID hash table entries: 512 (order: 9, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 123932k available (2800k kernel code, 708k data, 164k init, 0k highmem)
SLUB: Genslabs=12, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
Calibrating delay loop... 332.59 BogoMIPS (lpj=1662976)
Security Framework initialized
Capability LSM initialized
Mount-cache hash table entries: 512
net_namespace: 444 bytes
NET: Registered protocol family 16
PCI: Probing PCI hardware
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 2178k freed
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x0 (irq = 1) is a 16550A
serial8250: ttyS1 at MMIO 0x0 (irq = 0) is a 16550A
brd: module loaded
loop: module loaded
PPC 4xx OCP EMAC driver, version 3.54
mal0: initialized, 4 TX channels, 2 RX channels
lipeng 10
eth0: emac0, MAC 00:10:5c:f0:90:d4
eth0: found Generic MII PHY (0x0a)
lipeng 5
eth1: emac1, MAC 00:10:5c:f0:90:d5
eth1: found Generic MII PHY (0x05)
Ethernet Channel Bonding Driver: v3.2.5 (March 21, 2008)
bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
IMQ driver loaded successfully.
 Hooking IMQ after NAT on PREROUTING.
 Hooking IMQ before NAT on POSTROUTING.
8139too Fast Ethernet driver 0.9.28
eth2: RealTek RTL8139 at 0xfe00, 00:e0:4c:42:0a:55, IRQ 28
eth2:  Identified 8139 chip type 'RTL-8100B/8139D'
physmap platform flash device: 02000000 at fd000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
physmap-flash.0: Found 1 x16 devices at 0x1000000 in 16-bit bank
 Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
erase region 0: offset=0x0,size=0x20000,blocks=128
erase region 1: offset=0x1000000,size=0x20000,blocks=128
Using physmap partition information
Creating 4 MTD partitions on "physmap-flash.0":
0x00000000-0x00400000 : "zImage"
0x00400000-0x00420000 : "hidden"
0x00420000-0x01d00000 : "application"
0x01d00000-0x02000000 : "config"
i2c /dev entries driver
IBM IIC driver v2.1
ibm-iic0: using standard (100 kHz) mode
GACT probability on
u32 classifier
    Performance counters on
    Actions configured 
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
ctnetlink v0.93: registering with nfnetlink.
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
802.1Q VLAN Support v1.8 Ben Greear <[email-masked]>
All bugs added by David S. Miller <[email-masked]>
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 164k init
Warning: unable to open an initial console.
eth0: link is up, 100 FDX
device eth0 entered promiscuous mode
eth1: link is up, 100 FDX, pause enabled
device eth1 entered promiscuous mode
eth2: link down
device eth2 entered promiscuous mode
br0: port 2(eth1) entering learning state
br0: port 1(eth0) entering learning state
br0: port 2(eth1) entering disabled state
br0: port 1(eth0) entering disabled state
eth1: link is up, 100 FDX, pause enabled
br0: port 2(eth1) entering learning state
br0: port 2(eth1) entering disabled state
device eth2 left promiscuous mode
br0: port 3(eth2) entering disabled state
device eth1 left promiscuous mode
br0: port 2(eth1) entering disabled state
device eth0 left promiscuous mode
br0: port 1(eth0) entering disabled state
device eth0 entered promiscuous mode
device eth1 entered promiscuous mode
device eth2 entered promiscuous mode
br0: port 2(eth1) entering learning state
eth0: link is up, 100 FDX
br0: port 1(eth0) entering learning state
KingGate release 4.5
KingGate login: root
Password: 
[root@KingGate ~]# dmesg
ocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
802.1Q VLAN Support v1.8 Ben Greear <[email-masked]>
All bugs added by David S. Miller <[email-masked]>
RAMDISK: Compressed image found at block 0
VFS: Mounted root (ext2 filesystem).
Freeing unused kernel memory: 164k init
Warning: unable to open an initial console.
emac0: open
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: mdio_read(0a,05)
emac0: mdio_read -> 45e1
emac0: mdio_read(0a,04)
emac0: mdio_read -> 01e1
eth0: link is up, 100 FDX
emac0: configure
emac0: reset
emac0: rx_disable
emac0: tx_disable
mal0: poll_add(c7c0a3c8)
mal0: enable_tx(0)
mal0: set_rbcs(0, 1520)
mal0: enable_rx(0)
emac0: tx_enable
emac0: rx_enable
emac0: multicast c0500000
emac0: rx_disable
emac0: rx_enable
emac0: stats
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
emac0: stats
emac0: stats
emac1: stats
emac0: link timer
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: stats
emac1: stats
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
device eth0 entered promiscuous mode
emac0: multicast c1500000
emac0: rx_disable
emac0: rx_enable
emac1: open
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: mdio_read(05,05)
emac0: mdio_read -> 05e1
emac0: mdio_read(05,04)
emac0: mdio_read -> 05e1
eth1: link is up, 100 FDX, pause enabled
emac1: configure
emac1: reset
emac1: rx_disable
emac1: tx_disable
mal0: poll_add(c7c0b3c8)
mal0: enable_tx(2)
mal0: set_rbcs(1, 1520)
mal0: enable_rx(1)
emac1: tx_enable
emac1: rx_enable
emac1: multicast c0500000
emac1: rx_disable
emac1: rx_enable
emac1: stats
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
emac1: stats
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
device eth1 entered promiscuous mode
emac1: multicast c1500000
emac1: rx_disable
emac1: rx_enable
eth2: link down
device eth2 entered promiscuous mode
br0: port 2(eth1) entering learning state
br0: port 1(eth0) entering learning state
emac0: multicast c1500000
emac0: rx_disable
emac0: rx_enable
emac0: multicast c1500000
emac0: rx_disable
emac0: rx_enable
emac0: set_settings(1, 100, 1, 0x0000000f)
emac0: mdio_read(0a,04)
emac0: mdio_read -> 01e1
emac0: mdio_write(0a,04,01e1)
emac0: mdio_read(0a,00)
emac0: mdio_read -> 3100
emac0: mdio_write(0a,00,3300)
emac1: multicast c1500000
emac1: rx_disable
emac1: rx_enable
emac1: multicast c1500000
emac1: rx_disable
emac1: rx_enable
emac1: set_settings(1, 100, 1, 0x0000000f)
emac0: mdio_read(05,04)
emac0: mdio_read -> 05e1
emac0: mdio_write(05,04,01e1)
emac0: mdio_read(05,00)
emac0: mdio_read -> 2100
emac0: mdio_write(05,00,3300)
br0: port 2(eth1) entering disabled state
emac1: stats
br0: port 1(eth0) entering disabled state
emac0: stats
emac0: link timer
emac0: mdio_read(0a,01)
emac0: mdio_read -> 7809
emac0: mdio_read(0a,01)
emac0: mdio_read -> 7809
emac1: link timer
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: mdio_read(05,05)
emac0: mdio_read -> 05e1
emac0: mdio_read(05,04)
emac0: mdio_read -> 05e1
emac1: full_tx_reset
emac1: tx_disable
mal0: disable_tx(2)
emac1: configure
emac1: reset
emac1: rx_disable
emac1: tx_disable
mal0: enable_tx(2)
emac1: tx_enable
emac1: rx_enable
eth1: link is up, 100 FDX, pause enabled
br0: port 2(eth1) entering learning state
emac1: stats
br0: port 2(eth1) entering disabled state
device eth2 left promiscuous mode
br0: port 3(eth2) entering disabled state
device eth1 left promiscuous mode
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
br0: port 2(eth1) entering disabled state
device eth0 left promiscuous mode
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
br0: port 1(eth0) entering disabled state
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
emac0: multicast c0580000
emac0: rx_disable
emac0: hash_mc 1
emac0: mc 01:00:5e:00:00:01
emac0: rx_enable
device eth0 entered promiscuous mode
emac0: multicast c1500000
emac0: rx_disable
emac0: rx_enable
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
emac1: multicast c0580000
emac1: rx_disable
emac1: hash_mc 1
emac1: mc 01:00:5e:00:00:01
emac1: rx_enable
device eth1 entered promiscuous mode
emac1: multicast c1500000
emac1: rx_disable
emac1: rx_enable
device eth2 entered promiscuous mode
br0: port 2(eth1) entering learning state
emac0: link timer
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: mdio_read(0a,01)
emac0: mdio_read -> 782d
emac0: mdio_read(0a,05)
emac0: mdio_read -> 45e1
emac0: mdio_read(0a,04)
emac0: mdio_read -> 01e1
eth0: link is up, 100 FDX
br0: port 1(eth0) entering learning state
emac0: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac1: link timer
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: mdio_read(05,01)
emac0: mdio_read -> 786d
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats
emac0: stats
emac1: stats             

      ___________________________________________________________ 
  好玩贺卡等你发，邮箱贺卡全新上线！ 
http://card.mail.cn.yahoo.com/