[Bridge] Re: hang on PPC

arkady-parabel at ngs.ru arkady-parabel at ngs.ru
Tue Jun 29 08:56:35 PDT 2004


On Mon, 28 Jun 2004 09:38:46 -0700
 Stephen Hemminger <shemminger at osdl.org> wrote:
> > I get
> > br0: port 1(eth0) entering learning state
> > br0: port 1(eth0) entering forwarding state
> > br0: topology change detected, propagating
> > 
> > Now brctl is sleeping, forever...
> Any brctl or which command? The usual way of debugging
> this is
> to enable SysRq in kernel and hit SysRq-t to see what is
> happening.
> Also SysRq-p to show processes.

The process is locked(slept) by bridge module.

I've found a reason, the reason is in "LAPB over Ethernet
driver (CONFIG_LAPBETHER)" conflict.
I think it is in register_netdevice_notifier's handlers lock
between lapbether & bridge modules.

I've made a modification for hdlc_cisco.c, now it can report
cisco-hdlc device as Ethernet (with cisco-compatible bridge
encapsulation).
But I have one problem:
hdlc_cisco must add 4-byte header in hard_start_xmit (as
long as no one call hard_header. But I have no space, as
long as bridge's interface have hard_header_len = 0....
So' I have to make a COPY os skbuff, instead of cloning if
I'm the only user....

When I add hard_header_len = 4, it stopped work even on
Ethernet.
Is it hard to make bridge working with hard_header_len != 0
(It's necessary for Ethernet in (cisco-hdlc, frame-relay,
ppp) encapsulation) ?
-- 
Regards
Pavel

web: http://parabel.inc.ru/
mail: pavel[AT]parabel.inc.ru
phone: +7 (3832) 13-87-07
---------------------------------------------------------
http://relax.ngs.ru - ÷ÓÅ Ï ÄÏÓÕÇÅ É ÒÁÚ×ÌÅÞÅÎÉÑÈ × îÏ×ÏÓÉÂÉÒÓËÅ!








More information about the Bridge mailing list